From 05c7a25bb7b5bdedae8812ac3fdd9bf3b1189803 Mon Sep 17 00:00:00 2001 From: Tal Moran Date: Fri, 30 Jun 2017 02:28:03 +0300 Subject: [PATCH 1/7] Renamed proto files to use standard (lowercase-underscore) naming convention); added a separate proto for bb webapp --- .../bulletinboard/BatchDataContainer.java | 2 +- .../CachedBulletinBoardClient.java | 2 +- .../LocalBulletinBoardClient.java | 2 +- .../SimpleBulletinBoardClient.java | 4 +-- .../SimpleBulletinBoardSynchronizer.java | 2 +- .../SingleServerBulletinBoardClient.java | 2 +- .../ThreadedBulletinBoardClient.java | 2 +- .../ThreadedBulletinBoardSubscriber.java | 4 +-- .../MultiServerGetRedundancyWorker.java | 2 +- .../MultiServerPostBatchWorker.java | 2 +- .../MultiServerPostMessageWorker.java | 2 +- .../MultiServerReadBatchDataWorker.java | 2 +- .../MultiServerReadMessageWorker.java | 4 +-- .../MultiServerReadMessagesWorker.java | 2 +- .../SingleServerBeginBatchWorker.java | 2 +- .../SingleServerCloseBatchWorker.java | 2 +- .../SingleServerGenerateSyncQueryWorker.java | 4 +-- .../SingleServerGetRedundancyWorker.java | 2 +- .../SingleServerPostBatchWorker.java | 2 +- .../SingleServerPostMessageWorker.java | 2 +- .../SingleServerQuerySyncWorker.java | 4 +-- .../SingleServerReadBatchWorker.java | 2 +- .../SingleServerReadMessagesWorker.java | 8 ++--- .../BulletinBoardSynchronizerTest.java | 2 +- .../GenericBulletinBoardClientTester.java | 2 +- .../GenericSubscriptionClientTester.java | 2 +- bulletin-board-server/build.gradle | 1 + .../bulletinboard/service/HelloProtoBuf.java | 2 +- .../sqlserver/BulletinBoardSQLServer.java | 2 +- .../sqlserver/H2QueryProvider.java | 2 +- .../sqlserver/MySQLQueryProvider.java | 2 +- .../sqlserver/SQLiteQueryProvider.java | 2 +- .../mappers/BatchDataCallbackHandler.java | 2 +- .../mappers/BatchDataDigestHandler.java | 2 +- .../mappers/BeginBatchMessageMapper.java | 2 +- .../sqlserver/mappers/LongMapper.java | 2 +- .../mappers/MessageCallbackHandler.java | 2 +- .../sqlserver/mappers/MessageMapper.java | 4 +-- .../mappers/MessageStubCallbackHandler.java | 4 +-- .../sqlserver/mappers/MessageStubMapper.java | 4 +-- .../sqlserver/mappers/SignatureMapper.java | 4 +-- .../webapp/BulletinBoardWebApp.java | 31 ++++++++++++++++--- .../webapp/HelloProtoWebApp.java | 2 +- .../proto/meerkat/bulletin_board_webapp.proto | 25 +++++++++++++++ ...BulletinBoardSQLServerIntegrationTest.java | 2 +- .../GenericBulletinBoardServerTest.java | 2 +- .../HelloProtoIntegrationTest.java | 2 +- meerkat-common/src/main/java/Demo.java | 2 +- .../AsyncBulletinBoardClient.java | 2 +- .../bulletinboard/BulletinBoardClient.java | 2 +- .../bulletinboard/BulletinBoardConstants.java | 1 + .../bulletinboard/BulletinBoardDigest.java | 2 +- .../BulletinBoardMessageDeleter.java | 2 +- .../bulletinboard/BulletinBoardServer.java | 6 ++-- .../bulletinboard/BulletinBoardSignature.java | 4 +-- .../BulletinBoardSubscriber.java | 3 +- .../BulletinBoardSynchronizer.java | 2 +- .../java/meerkat/bulletinboard/Checksum.java | 3 +- .../DeletableBulletinBoardServer.java | 2 +- .../GenericBulletinBoardDigest.java | 5 +-- .../GenericBulletinBoardSignature.java | 6 +--- .../meerkat/bulletinboard/SimpleChecksum.java | 5 ++- .../src/main/java/meerkat/crypto/Digest.java | 2 +- .../meerkat/crypto/concrete/SHA256Digest.java | 2 +- .../util/BulletinBoardMessageComparator.java | 3 +- .../util/BulletinBoardMessageGenerator.java | 2 +- .../java/meerkat/util/BulletinBoardUtils.java | 2 +- ...proto => ballot_question_ui_element.proto} | 0 ...oardAPI.proto => bulletin_board_api.proto} | 2 +- .../BulletinBoardDigestTest.java | 2 +- .../java/meerkat/comm/MessageStreamTest.java | 2 +- .../meerkat/mixer/main/BatchConverter.java | 14 ++++----- .../java/meerkat/mixer/main/MainMixing.java | 4 +-- .../necessary/AsyncBulletinBoardClient.java | 2 +- .../mixer/necessary/BulletinBoardClient.java | 2 +- .../mixer/necessary/CompleteBatch.java | 2 +- ...ingStation.proto => polling_station.proto} | 0 .../main/java/meerkat/voting/gui/Main.java | 4 +-- .../voting/gui/configuration/Converter.java | 8 ++--- .../VotingBoothConfiguration.java | 14 ++++----- .../VotingBoothConfigurationCreator.java | 24 +++++++------- .../voting/gui/managment/VotersBallot.java | 4 +-- .../PicturesAnswersUpdater.java | 18 +++++------ .../SelectCandidateByPictureController.java | 6 ++-- .../StringsAnswersUpdater.java | 8 ++--- 85 files changed, 188 insertions(+), 155 deletions(-) create mode 100644 bulletin-board-server/src/main/proto/meerkat/bulletin_board_webapp.proto rename meerkat-common/src/main/proto/meerkat/{BallotQuestionUIElement.proto => ballot_question_ui_element.proto} (100%) rename meerkat-common/src/main/proto/meerkat/{BulletinBoardAPI.proto => bulletin_board_api.proto} (99%) rename scanner-api-common/src/main/proto/meerkat/{PollingStation.proto => polling_station.proto} (100%) diff --git a/bulletin-board-client/src/main/java/meerkat/bulletinboard/BatchDataContainer.java b/bulletin-board-client/src/main/java/meerkat/bulletinboard/BatchDataContainer.java index 1026529..659d91f 100644 --- a/bulletin-board-client/src/main/java/meerkat/bulletinboard/BatchDataContainer.java +++ b/bulletin-board-client/src/main/java/meerkat/bulletinboard/BatchDataContainer.java @@ -1,6 +1,6 @@ package meerkat.bulletinboard; -import meerkat.protobuf.BulletinBoardAPI.BatchChunk; +import meerkat.protobuf.BulletinBoardApi.BatchChunk; import meerkat.bulletinboard.AsyncBulletinBoardClient.BatchIdentifier; import java.util.List; diff --git a/bulletin-board-client/src/main/java/meerkat/bulletinboard/CachedBulletinBoardClient.java b/bulletin-board-client/src/main/java/meerkat/bulletinboard/CachedBulletinBoardClient.java index cdb86cb..76b883f 100644 --- a/bulletin-board-client/src/main/java/meerkat/bulletinboard/CachedBulletinBoardClient.java +++ b/bulletin-board-client/src/main/java/meerkat/bulletinboard/CachedBulletinBoardClient.java @@ -3,7 +3,7 @@ package meerkat.bulletinboard; import com.google.common.util.concurrent.FutureCallback; import com.google.protobuf.Timestamp; import meerkat.comm.CommunicationException; -import meerkat.protobuf.BulletinBoardAPI.*; +import meerkat.protobuf.BulletinBoardApi.*; import meerkat.protobuf.Crypto.Signature; import meerkat.protobuf.Voting.*; diff --git a/bulletin-board-client/src/main/java/meerkat/bulletinboard/LocalBulletinBoardClient.java b/bulletin-board-client/src/main/java/meerkat/bulletinboard/LocalBulletinBoardClient.java index 2b904ed..3387e5b 100644 --- a/bulletin-board-client/src/main/java/meerkat/bulletinboard/LocalBulletinBoardClient.java +++ b/bulletin-board-client/src/main/java/meerkat/bulletinboard/LocalBulletinBoardClient.java @@ -8,7 +8,7 @@ import meerkat.comm.MessageInputStream; import meerkat.comm.MessageInputStream.MessageInputStreamFactory; import meerkat.comm.MessageOutputStream; import meerkat.crypto.concrete.SHA256Digest; -import meerkat.protobuf.BulletinBoardAPI.*; +import meerkat.protobuf.BulletinBoardApi.*; import meerkat.protobuf.Crypto.Signature; import meerkat.protobuf.Voting.*; import meerkat.util.BulletinBoardUtils; diff --git a/bulletin-board-client/src/main/java/meerkat/bulletinboard/SimpleBulletinBoardClient.java b/bulletin-board-client/src/main/java/meerkat/bulletinboard/SimpleBulletinBoardClient.java index a274f53..3bfafe3 100644 --- a/bulletin-board-client/src/main/java/meerkat/bulletinboard/SimpleBulletinBoardClient.java +++ b/bulletin-board-client/src/main/java/meerkat/bulletinboard/SimpleBulletinBoardClient.java @@ -6,8 +6,8 @@ import com.google.protobuf.Int64Value; import meerkat.bulletinboard.workers.singleserver.*; import meerkat.comm.CommunicationException; import meerkat.crypto.concrete.SHA256Digest; -import meerkat.protobuf.BulletinBoardAPI; -import meerkat.protobuf.BulletinBoardAPI.*; +import meerkat.protobuf.BulletinBoardApi; +import meerkat.protobuf.BulletinBoardApi.*; import meerkat.protobuf.Voting.*; import meerkat.rest.*; import meerkat.util.BulletinBoardUtils; diff --git a/bulletin-board-client/src/main/java/meerkat/bulletinboard/SimpleBulletinBoardSynchronizer.java b/bulletin-board-client/src/main/java/meerkat/bulletinboard/SimpleBulletinBoardSynchronizer.java index 5cdf73b..9f058b1 100644 --- a/bulletin-board-client/src/main/java/meerkat/bulletinboard/SimpleBulletinBoardSynchronizer.java +++ b/bulletin-board-client/src/main/java/meerkat/bulletinboard/SimpleBulletinBoardSynchronizer.java @@ -3,7 +3,7 @@ package meerkat.bulletinboard; import com.google.common.util.concurrent.FutureCallback; import com.google.protobuf.ByteString; import meerkat.comm.CommunicationException; -import meerkat.protobuf.BulletinBoardAPI.*; +import meerkat.protobuf.BulletinBoardApi.*; import meerkat.util.BulletinBoardUtils; import java.util.LinkedList; diff --git a/bulletin-board-client/src/main/java/meerkat/bulletinboard/SingleServerBulletinBoardClient.java b/bulletin-board-client/src/main/java/meerkat/bulletinboard/SingleServerBulletinBoardClient.java index e732059..5625b2c 100644 --- a/bulletin-board-client/src/main/java/meerkat/bulletinboard/SingleServerBulletinBoardClient.java +++ b/bulletin-board-client/src/main/java/meerkat/bulletinboard/SingleServerBulletinBoardClient.java @@ -9,7 +9,7 @@ import com.google.protobuf.Timestamp; import meerkat.bulletinboard.workers.singleserver.*; import meerkat.comm.CommunicationException; import meerkat.crypto.concrete.SHA256Digest; -import meerkat.protobuf.BulletinBoardAPI.*; +import meerkat.protobuf.BulletinBoardApi.*; import meerkat.protobuf.Crypto; import meerkat.protobuf.Voting.BulletinBoardClientParams; import meerkat.util.BulletinBoardUtils; diff --git a/bulletin-board-client/src/main/java/meerkat/bulletinboard/ThreadedBulletinBoardClient.java b/bulletin-board-client/src/main/java/meerkat/bulletinboard/ThreadedBulletinBoardClient.java index 9dd85b9..2feaba9 100644 --- a/bulletin-board-client/src/main/java/meerkat/bulletinboard/ThreadedBulletinBoardClient.java +++ b/bulletin-board-client/src/main/java/meerkat/bulletinboard/ThreadedBulletinBoardClient.java @@ -4,7 +4,7 @@ import com.google.common.util.concurrent.FutureCallback; import com.google.protobuf.Timestamp; import meerkat.bulletinboard.workers.multiserver.*; -import meerkat.protobuf.BulletinBoardAPI.*; +import meerkat.protobuf.BulletinBoardApi.*; import meerkat.protobuf.Crypto.Signature; import meerkat.protobuf.Voting.*; diff --git a/bulletin-board-client/src/main/java/meerkat/bulletinboard/ThreadedBulletinBoardSubscriber.java b/bulletin-board-client/src/main/java/meerkat/bulletinboard/ThreadedBulletinBoardSubscriber.java index 252d6e3..ea22e1a 100644 --- a/bulletin-board-client/src/main/java/meerkat/bulletinboard/ThreadedBulletinBoardSubscriber.java +++ b/bulletin-board-client/src/main/java/meerkat/bulletinboard/ThreadedBulletinBoardSubscriber.java @@ -3,10 +3,10 @@ package meerkat.bulletinboard; import com.google.common.util.concurrent.FutureCallback; import com.google.protobuf.Timestamp; import meerkat.comm.CommunicationException; -import meerkat.protobuf.BulletinBoardAPI.*; +import meerkat.protobuf.BulletinBoardApi.*; import meerkat.util.BulletinBoardUtils; -import static meerkat.protobuf.BulletinBoardAPI.FilterType.*; +import static meerkat.protobuf.BulletinBoardApi.FilterType.*; import java.util.*; import java.util.concurrent.Semaphore; diff --git a/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/multiserver/MultiServerGetRedundancyWorker.java b/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/multiserver/MultiServerGetRedundancyWorker.java index b76a94f..5a20361 100644 --- a/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/multiserver/MultiServerGetRedundancyWorker.java +++ b/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/multiserver/MultiServerGetRedundancyWorker.java @@ -4,7 +4,7 @@ import com.google.common.util.concurrent.FutureCallback; import meerkat.bulletinboard.MultiServerWorker; import meerkat.bulletinboard.SingleServerBulletinBoardClient; import meerkat.comm.CommunicationException; -import meerkat.protobuf.BulletinBoardAPI.*; +import meerkat.protobuf.BulletinBoardApi.*; import java.util.Iterator; import java.util.List; diff --git a/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/multiserver/MultiServerPostBatchWorker.java b/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/multiserver/MultiServerPostBatchWorker.java index b938f52..d682008 100644 --- a/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/multiserver/MultiServerPostBatchWorker.java +++ b/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/multiserver/MultiServerPostBatchWorker.java @@ -2,7 +2,7 @@ package meerkat.bulletinboard.workers.multiserver; import com.google.common.util.concurrent.FutureCallback; import meerkat.bulletinboard.SingleServerBulletinBoardClient; -import meerkat.protobuf.BulletinBoardAPI.BulletinBoardMessage; +import meerkat.protobuf.BulletinBoardApi.BulletinBoardMessage; import java.util.List; diff --git a/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/multiserver/MultiServerPostMessageWorker.java b/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/multiserver/MultiServerPostMessageWorker.java index 6d3d702..cb8a75d 100644 --- a/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/multiserver/MultiServerPostMessageWorker.java +++ b/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/multiserver/MultiServerPostMessageWorker.java @@ -2,7 +2,7 @@ package meerkat.bulletinboard.workers.multiserver; import com.google.common.util.concurrent.FutureCallback; import meerkat.bulletinboard.SingleServerBulletinBoardClient; -import meerkat.protobuf.BulletinBoardAPI.*; +import meerkat.protobuf.BulletinBoardApi.*; import java.util.List; diff --git a/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/multiserver/MultiServerReadBatchDataWorker.java b/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/multiserver/MultiServerReadBatchDataWorker.java index 769702a..517d878 100644 --- a/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/multiserver/MultiServerReadBatchDataWorker.java +++ b/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/multiserver/MultiServerReadBatchDataWorker.java @@ -2,7 +2,7 @@ package meerkat.bulletinboard.workers.multiserver; import com.google.common.util.concurrent.FutureCallback; import meerkat.bulletinboard.SingleServerBulletinBoardClient; -import meerkat.protobuf.BulletinBoardAPI.*; +import meerkat.protobuf.BulletinBoardApi.*; import java.util.List; diff --git a/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/multiserver/MultiServerReadMessageWorker.java b/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/multiserver/MultiServerReadMessageWorker.java index f84d67e..2f43fe7 100644 --- a/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/multiserver/MultiServerReadMessageWorker.java +++ b/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/multiserver/MultiServerReadMessageWorker.java @@ -2,8 +2,8 @@ package meerkat.bulletinboard.workers.multiserver; import com.google.common.util.concurrent.FutureCallback; import meerkat.bulletinboard.SingleServerBulletinBoardClient; -import meerkat.protobuf.BulletinBoardAPI.BulletinBoardMessage; -import meerkat.protobuf.BulletinBoardAPI.MessageID; +import meerkat.protobuf.BulletinBoardApi.BulletinBoardMessage; +import meerkat.protobuf.BulletinBoardApi.MessageID; import java.util.List; diff --git a/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/multiserver/MultiServerReadMessagesWorker.java b/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/multiserver/MultiServerReadMessagesWorker.java index 980d869..96a806c 100644 --- a/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/multiserver/MultiServerReadMessagesWorker.java +++ b/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/multiserver/MultiServerReadMessagesWorker.java @@ -2,7 +2,7 @@ package meerkat.bulletinboard.workers.multiserver; import com.google.common.util.concurrent.FutureCallback; import meerkat.bulletinboard.SingleServerBulletinBoardClient; -import meerkat.protobuf.BulletinBoardAPI.*; +import meerkat.protobuf.BulletinBoardApi.*; import java.util.List; diff --git a/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/singleserver/SingleServerBeginBatchWorker.java b/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/singleserver/SingleServerBeginBatchWorker.java index e08b360..62c47cd 100644 --- a/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/singleserver/SingleServerBeginBatchWorker.java +++ b/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/singleserver/SingleServerBeginBatchWorker.java @@ -3,7 +3,7 @@ package meerkat.bulletinboard.workers.singleserver; import com.google.protobuf.Int64Value; import meerkat.bulletinboard.SingleServerWorker; import meerkat.comm.CommunicationException; -import meerkat.protobuf.BulletinBoardAPI.BeginBatchMessage; +import meerkat.protobuf.BulletinBoardApi.BeginBatchMessage; import meerkat.rest.Constants; import javax.ws.rs.ProcessingException; diff --git a/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/singleserver/SingleServerCloseBatchWorker.java b/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/singleserver/SingleServerCloseBatchWorker.java index 83e27c2..d859d67 100644 --- a/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/singleserver/SingleServerCloseBatchWorker.java +++ b/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/singleserver/SingleServerCloseBatchWorker.java @@ -1,6 +1,6 @@ package meerkat.bulletinboard.workers.singleserver; -import meerkat.protobuf.BulletinBoardAPI.CloseBatchMessage; +import meerkat.protobuf.BulletinBoardApi.CloseBatchMessage; import static meerkat.bulletinboard.BulletinBoardConstants.CLOSE_BATCH_PATH; diff --git a/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/singleserver/SingleServerGenerateSyncQueryWorker.java b/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/singleserver/SingleServerGenerateSyncQueryWorker.java index 71d90e0..6ddfdd1 100644 --- a/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/singleserver/SingleServerGenerateSyncQueryWorker.java +++ b/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/singleserver/SingleServerGenerateSyncQueryWorker.java @@ -3,8 +3,8 @@ package meerkat.bulletinboard.workers.singleserver; import com.google.protobuf.Int64Value; import meerkat.bulletinboard.SingleServerWorker; import meerkat.comm.CommunicationException; -import meerkat.protobuf.BulletinBoardAPI.SyncQuery; -import meerkat.protobuf.BulletinBoardAPI.GenerateSyncQueryParams; +import meerkat.protobuf.BulletinBoardApi.SyncQuery; +import meerkat.protobuf.BulletinBoardApi.GenerateSyncQueryParams; import meerkat.rest.Constants; import javax.ws.rs.ProcessingException; diff --git a/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/singleserver/SingleServerGetRedundancyWorker.java b/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/singleserver/SingleServerGetRedundancyWorker.java index 23c07af..b664c9d 100644 --- a/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/singleserver/SingleServerGetRedundancyWorker.java +++ b/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/singleserver/SingleServerGetRedundancyWorker.java @@ -3,7 +3,7 @@ package meerkat.bulletinboard.workers.singleserver; import meerkat.bulletinboard.SingleServerWorker; import meerkat.comm.CommunicationException; import meerkat.comm.MessageInputStream; -import meerkat.protobuf.BulletinBoardAPI.*; +import meerkat.protobuf.BulletinBoardApi.*; import meerkat.rest.Constants; import javax.ws.rs.client.Client; diff --git a/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/singleserver/SingleServerPostBatchWorker.java b/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/singleserver/SingleServerPostBatchWorker.java index dfb42a7..d3ddf8c 100644 --- a/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/singleserver/SingleServerPostBatchWorker.java +++ b/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/singleserver/SingleServerPostBatchWorker.java @@ -1,6 +1,6 @@ package meerkat.bulletinboard.workers.singleserver; -import meerkat.protobuf.BulletinBoardAPI.BatchMessage; +import meerkat.protobuf.BulletinBoardApi.BatchMessage; import static meerkat.bulletinboard.BulletinBoardConstants.POST_BATCH_PATH; diff --git a/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/singleserver/SingleServerPostMessageWorker.java b/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/singleserver/SingleServerPostMessageWorker.java index 454d720..5142d4c 100644 --- a/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/singleserver/SingleServerPostMessageWorker.java +++ b/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/singleserver/SingleServerPostMessageWorker.java @@ -1,6 +1,6 @@ package meerkat.bulletinboard.workers.singleserver; -import meerkat.protobuf.BulletinBoardAPI.BulletinBoardMessage; +import meerkat.protobuf.BulletinBoardApi.BulletinBoardMessage; import static meerkat.bulletinboard.BulletinBoardConstants.POST_MESSAGE_PATH; diff --git a/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/singleserver/SingleServerQuerySyncWorker.java b/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/singleserver/SingleServerQuerySyncWorker.java index 3a9873d..e86550f 100644 --- a/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/singleserver/SingleServerQuerySyncWorker.java +++ b/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/singleserver/SingleServerQuerySyncWorker.java @@ -2,8 +2,8 @@ package meerkat.bulletinboard.workers.singleserver; import meerkat.bulletinboard.SingleServerWorker; import meerkat.comm.CommunicationException; -import meerkat.protobuf.BulletinBoardAPI.SyncQuery; -import meerkat.protobuf.BulletinBoardAPI.SyncQueryResponse; +import meerkat.protobuf.BulletinBoardApi.SyncQuery; +import meerkat.protobuf.BulletinBoardApi.SyncQueryResponse; import meerkat.rest.Constants; import javax.ws.rs.ProcessingException; diff --git a/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/singleserver/SingleServerReadBatchWorker.java b/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/singleserver/SingleServerReadBatchWorker.java index 8bc4bcd..12f2e80 100644 --- a/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/singleserver/SingleServerReadBatchWorker.java +++ b/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/singleserver/SingleServerReadBatchWorker.java @@ -3,7 +3,7 @@ package meerkat.bulletinboard.workers.singleserver; import meerkat.bulletinboard.SingleServerWorker; import meerkat.comm.CommunicationException; import meerkat.comm.MessageInputStream; -import meerkat.protobuf.BulletinBoardAPI.*; +import meerkat.protobuf.BulletinBoardApi.*; import meerkat.rest.Constants; import javax.ws.rs.client.Client; diff --git a/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/singleserver/SingleServerReadMessagesWorker.java b/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/singleserver/SingleServerReadMessagesWorker.java index d8525ab..32c97f0 100644 --- a/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/singleserver/SingleServerReadMessagesWorker.java +++ b/bulletin-board-client/src/main/java/meerkat/bulletinboard/workers/singleserver/SingleServerReadMessagesWorker.java @@ -3,10 +3,10 @@ package meerkat.bulletinboard.workers.singleserver; import meerkat.bulletinboard.SingleServerWorker; import meerkat.comm.CommunicationException; import meerkat.comm.MessageInputStream; -import meerkat.protobuf.BulletinBoardAPI; -import meerkat.protobuf.BulletinBoardAPI.BulletinBoardMessageList; -import meerkat.protobuf.BulletinBoardAPI.MessageFilterList; -import meerkat.protobuf.BulletinBoardAPI.BulletinBoardMessage; +import meerkat.protobuf.BulletinBoardApi; +import meerkat.protobuf.BulletinBoardApi.BulletinBoardMessageList; +import meerkat.protobuf.BulletinBoardApi.MessageFilterList; +import meerkat.protobuf.BulletinBoardApi.BulletinBoardMessage; import meerkat.rest.Constants; import javax.ws.rs.ProcessingException; diff --git a/bulletin-board-client/src/test/java/meerkat/bulletinboard/BulletinBoardSynchronizerTest.java b/bulletin-board-client/src/test/java/meerkat/bulletinboard/BulletinBoardSynchronizerTest.java index 19e7ae5..dfbe491 100644 --- a/bulletin-board-client/src/test/java/meerkat/bulletinboard/BulletinBoardSynchronizerTest.java +++ b/bulletin-board-client/src/test/java/meerkat/bulletinboard/BulletinBoardSynchronizerTest.java @@ -11,7 +11,7 @@ import meerkat.bulletinboard.sqlserver.H2QueryProvider; import meerkat.comm.CommunicationException; import meerkat.crypto.concrete.ECDSASignature; -import meerkat.protobuf.BulletinBoardAPI.*; +import meerkat.protobuf.BulletinBoardApi.*; import meerkat.util.BulletinBoardMessageComparator; import meerkat.util.BulletinBoardMessageGenerator; import org.junit.*; diff --git a/bulletin-board-client/src/test/java/meerkat/bulletinboard/GenericBulletinBoardClientTester.java b/bulletin-board-client/src/test/java/meerkat/bulletinboard/GenericBulletinBoardClientTester.java index 7ded2e4..4ce9251 100644 --- a/bulletin-board-client/src/test/java/meerkat/bulletinboard/GenericBulletinBoardClientTester.java +++ b/bulletin-board-client/src/test/java/meerkat/bulletinboard/GenericBulletinBoardClientTester.java @@ -6,7 +6,7 @@ import com.google.protobuf.Timestamp; import meerkat.comm.CommunicationException; import meerkat.crypto.concrete.ECDSASignature; import meerkat.crypto.concrete.SHA256Digest; -import meerkat.protobuf.BulletinBoardAPI.*; +import meerkat.protobuf.BulletinBoardApi.*; import meerkat.protobuf.Crypto; import meerkat.util.BulletinBoardMessageComparator; import meerkat.util.BulletinBoardMessageGenerator; diff --git a/bulletin-board-client/src/test/java/meerkat/bulletinboard/GenericSubscriptionClientTester.java b/bulletin-board-client/src/test/java/meerkat/bulletinboard/GenericSubscriptionClientTester.java index 6d02914..fa7927e 100644 --- a/bulletin-board-client/src/test/java/meerkat/bulletinboard/GenericSubscriptionClientTester.java +++ b/bulletin-board-client/src/test/java/meerkat/bulletinboard/GenericSubscriptionClientTester.java @@ -5,7 +5,7 @@ import com.google.protobuf.ByteString; import com.google.protobuf.Timestamp; import meerkat.comm.CommunicationException; import meerkat.crypto.concrete.ECDSASignature; -import meerkat.protobuf.BulletinBoardAPI.*; +import meerkat.protobuf.BulletinBoardApi.*; import meerkat.util.BulletinBoardMessageComparator; import meerkat.util.BulletinBoardMessageGenerator; diff --git a/bulletin-board-server/build.gradle b/bulletin-board-server/build.gradle index 22c77bb..f61f2d3 100644 --- a/bulletin-board-server/build.gradle +++ b/bulletin-board-server/build.gradle @@ -6,6 +6,7 @@ plugins { } apply plugin: 'org.akhikhl.gretty' +apply plugin: 'com.google.protobuf' apply plugin: 'java' apply plugin: 'eclipse' apply plugin: 'idea' diff --git a/bulletin-board-server/src/main/java/meerkat/bulletinboard/service/HelloProtoBuf.java b/bulletin-board-server/src/main/java/meerkat/bulletinboard/service/HelloProtoBuf.java index 772e7dd..e2bdbdb 100644 --- a/bulletin-board-server/src/main/java/meerkat/bulletinboard/service/HelloProtoBuf.java +++ b/bulletin-board-server/src/main/java/meerkat/bulletinboard/service/HelloProtoBuf.java @@ -3,7 +3,7 @@ package meerkat.bulletinboard.service; import com.google.protobuf.ByteString; import com.google.protobuf.Message; import meerkat.protobuf.Crypto; -import meerkat.protobuf.BulletinBoardAPI.*; +import meerkat.protobuf.BulletinBoardApi.*; import java.util.Arrays; import java.util.List; diff --git a/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/BulletinBoardSQLServer.java b/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/BulletinBoardSQLServer.java index bf99259..7e206e9 100644 --- a/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/BulletinBoardSQLServer.java +++ b/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/BulletinBoardSQLServer.java @@ -18,7 +18,7 @@ import meerkat.comm.MessageOutputStream; import meerkat.crypto.DigitalSignature; import meerkat.crypto.concrete.SHA256Digest; -import meerkat.protobuf.BulletinBoardAPI.*; +import meerkat.protobuf.BulletinBoardApi.*; import meerkat.protobuf.Comm; import meerkat.protobuf.Crypto.Signature; import meerkat.protobuf.Crypto.SignatureVerificationKey; diff --git a/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/H2QueryProvider.java b/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/H2QueryProvider.java index 872e226..153e65e 100644 --- a/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/H2QueryProvider.java +++ b/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/H2QueryProvider.java @@ -1,6 +1,6 @@ package meerkat.bulletinboard.sqlserver; -import meerkat.protobuf.BulletinBoardAPI.FilterType; +import meerkat.protobuf.BulletinBoardApi.FilterType; import org.apache.commons.dbcp2.BasicDataSource; import javax.sql.DataSource; diff --git a/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/MySQLQueryProvider.java b/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/MySQLQueryProvider.java index 097095f..c06bb4b 100644 --- a/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/MySQLQueryProvider.java +++ b/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/MySQLQueryProvider.java @@ -1,7 +1,7 @@ package meerkat.bulletinboard.sqlserver; import meerkat.bulletinboard.sqlserver.BulletinBoardSQLServer.SQLQueryProvider; -import meerkat.protobuf.BulletinBoardAPI.FilterType; +import meerkat.protobuf.BulletinBoardApi.FilterType; import org.apache.commons.dbcp2.BasicDataSource; import javax.sql.DataSource; diff --git a/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/SQLiteQueryProvider.java b/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/SQLiteQueryProvider.java index 9f68955..07d3461 100644 --- a/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/SQLiteQueryProvider.java +++ b/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/SQLiteQueryProvider.java @@ -1,6 +1,6 @@ package meerkat.bulletinboard.sqlserver; -import meerkat.protobuf.BulletinBoardAPI.*; +import meerkat.protobuf.BulletinBoardApi.*; import org.apache.commons.dbcp2.BasicDataSource; import org.sqlite.SQLiteDataSource; diff --git a/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/mappers/BatchDataCallbackHandler.java b/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/mappers/BatchDataCallbackHandler.java index 69d7bae..ea8cff9 100644 --- a/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/mappers/BatchDataCallbackHandler.java +++ b/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/mappers/BatchDataCallbackHandler.java @@ -1,7 +1,7 @@ package meerkat.bulletinboard.sqlserver.mappers; import meerkat.comm.MessageOutputStream; -import meerkat.protobuf.BulletinBoardAPI.BatchChunk; +import meerkat.protobuf.BulletinBoardApi.BatchChunk; import org.springframework.jdbc.core.RowCallbackHandler; import java.io.IOException; diff --git a/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/mappers/BatchDataDigestHandler.java b/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/mappers/BatchDataDigestHandler.java index ae55d5c..5ddc56d 100644 --- a/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/mappers/BatchDataDigestHandler.java +++ b/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/mappers/BatchDataDigestHandler.java @@ -1,7 +1,7 @@ package meerkat.bulletinboard.sqlserver.mappers; import meerkat.bulletinboard.BulletinBoardDigest; -import meerkat.protobuf.BulletinBoardAPI.BatchChunk; +import meerkat.protobuf.BulletinBoardApi.BatchChunk; import org.springframework.jdbc.core.RowCallbackHandler; import java.io.IOException; diff --git a/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/mappers/BeginBatchMessageMapper.java b/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/mappers/BeginBatchMessageMapper.java index 0f72ec9..13b57d2 100644 --- a/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/mappers/BeginBatchMessageMapper.java +++ b/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/mappers/BeginBatchMessageMapper.java @@ -1,7 +1,7 @@ package meerkat.bulletinboard.sqlserver.mappers; import com.google.protobuf.InvalidProtocolBufferException; -import meerkat.protobuf.BulletinBoardAPI.BeginBatchMessage; +import meerkat.protobuf.BulletinBoardApi.BeginBatchMessage; import org.springframework.jdbc.core.RowMapper; import java.sql.ResultSet; diff --git a/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/mappers/LongMapper.java b/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/mappers/LongMapper.java index 1ec0d98..0f5e28a 100644 --- a/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/mappers/LongMapper.java +++ b/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/mappers/LongMapper.java @@ -1,6 +1,6 @@ package meerkat.bulletinboard.sqlserver.mappers; -import meerkat.protobuf.BulletinBoardAPI.MessageID; +import meerkat.protobuf.BulletinBoardApi.MessageID; import org.springframework.jdbc.core.RowMapper; import java.sql.ResultSet; diff --git a/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/mappers/MessageCallbackHandler.java b/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/mappers/MessageCallbackHandler.java index 71ba742..ccef3a2 100644 --- a/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/mappers/MessageCallbackHandler.java +++ b/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/mappers/MessageCallbackHandler.java @@ -4,7 +4,7 @@ import com.google.protobuf.InvalidProtocolBufferException; import meerkat.bulletinboard.sqlserver.BulletinBoardSQLServer.*; import meerkat.bulletinboard.sqlserver.BulletinBoardSQLServer.SQLQueryProvider.*; import meerkat.comm.MessageOutputStream; -import meerkat.protobuf.BulletinBoardAPI.*; +import meerkat.protobuf.BulletinBoardApi.*; import meerkat.protobuf.Crypto; import org.springframework.jdbc.core.RowCallbackHandler; import org.springframework.jdbc.core.namedparam.MapSqlParameterSource; diff --git a/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/mappers/MessageMapper.java b/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/mappers/MessageMapper.java index fdc1fa8..9cf49f8 100644 --- a/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/mappers/MessageMapper.java +++ b/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/mappers/MessageMapper.java @@ -1,8 +1,8 @@ package meerkat.bulletinboard.sqlserver.mappers; import com.google.protobuf.InvalidProtocolBufferException; -import meerkat.protobuf.BulletinBoardAPI.UnsignedBulletinBoardMessage; -import meerkat.protobuf.BulletinBoardAPI.BulletinBoardMessage; +import meerkat.protobuf.BulletinBoardApi.UnsignedBulletinBoardMessage; +import meerkat.protobuf.BulletinBoardApi.BulletinBoardMessage; import org.springframework.jdbc.core.RowMapper; import java.sql.ResultSet; diff --git a/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/mappers/MessageStubCallbackHandler.java b/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/mappers/MessageStubCallbackHandler.java index f81cc76..168cdd1 100644 --- a/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/mappers/MessageStubCallbackHandler.java +++ b/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/mappers/MessageStubCallbackHandler.java @@ -4,8 +4,8 @@ import com.google.protobuf.ByteString; import com.google.protobuf.InvalidProtocolBufferException; import meerkat.bulletinboard.sqlserver.BulletinBoardSQLServer.SQLQueryProvider.QueryType; import meerkat.comm.MessageOutputStream; -import meerkat.protobuf.BulletinBoardAPI.BulletinBoardMessage; -import meerkat.protobuf.BulletinBoardAPI.UnsignedBulletinBoardMessage; +import meerkat.protobuf.BulletinBoardApi.BulletinBoardMessage; +import meerkat.protobuf.BulletinBoardApi.UnsignedBulletinBoardMessage; import meerkat.protobuf.Crypto; import meerkat.util.BulletinBoardUtils; import org.springframework.jdbc.core.RowCallbackHandler; diff --git a/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/mappers/MessageStubMapper.java b/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/mappers/MessageStubMapper.java index e9174e5..980f444 100644 --- a/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/mappers/MessageStubMapper.java +++ b/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/mappers/MessageStubMapper.java @@ -2,8 +2,8 @@ package meerkat.bulletinboard.sqlserver.mappers; import com.google.protobuf.ByteString; import com.google.protobuf.InvalidProtocolBufferException; -import meerkat.protobuf.BulletinBoardAPI.BulletinBoardMessage; -import meerkat.protobuf.BulletinBoardAPI.UnsignedBulletinBoardMessage; +import meerkat.protobuf.BulletinBoardApi.BulletinBoardMessage; +import meerkat.protobuf.BulletinBoardApi.UnsignedBulletinBoardMessage; import meerkat.util.BulletinBoardUtils; import org.springframework.jdbc.core.RowMapper; diff --git a/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/mappers/SignatureMapper.java b/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/mappers/SignatureMapper.java index 60015c1..6d0c9bb 100644 --- a/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/mappers/SignatureMapper.java +++ b/bulletin-board-server/src/main/java/meerkat/bulletinboard/sqlserver/mappers/SignatureMapper.java @@ -1,8 +1,8 @@ package meerkat.bulletinboard.sqlserver.mappers; import com.google.protobuf.InvalidProtocolBufferException; -import meerkat.protobuf.BulletinBoardAPI.BulletinBoardMessage; -import meerkat.protobuf.BulletinBoardAPI.UnsignedBulletinBoardMessage; +import meerkat.protobuf.BulletinBoardApi.BulletinBoardMessage; +import meerkat.protobuf.BulletinBoardApi.UnsignedBulletinBoardMessage; import meerkat.protobuf.Crypto.Signature; import org.springframework.jdbc.core.RowMapper; diff --git a/bulletin-board-server/src/main/java/meerkat/bulletinboard/webapp/BulletinBoardWebApp.java b/bulletin-board-server/src/main/java/meerkat/bulletinboard/webapp/BulletinBoardWebApp.java index 8e9d161..c88874f 100644 --- a/bulletin-board-server/src/main/java/meerkat/bulletinboard/webapp/BulletinBoardWebApp.java +++ b/bulletin-board-server/src/main/java/meerkat/bulletinboard/webapp/BulletinBoardWebApp.java @@ -18,7 +18,10 @@ import meerkat.bulletinboard.sqlserver.MySQLQueryProvider; import meerkat.bulletinboard.sqlserver.SQLiteQueryProvider; import meerkat.comm.CommunicationException; import meerkat.comm.MessageOutputStream; -import meerkat.protobuf.BulletinBoardAPI.*; +import meerkat.protobuf.BulletinBoardApi.*; +import meerkat.protobuf.BulletinBoardWebapp.*; + + import static meerkat.bulletinboard.BulletinBoardConstants.*; import static meerkat.rest.Constants.*; @@ -29,7 +32,7 @@ import java.io.OutputStream; * An implementation of the BulletinBoardServer which functions as a WebApp */ @Path(BULLETIN_BOARD_SERVER_PATH) -public class BulletinBoardWebApp implements BulletinBoardServer, ServletContextListener{ +public class BulletinBoardWebApp implements BulletinBoardServer, ServletContextListener { private static final String BULLETIN_BOARD_ATTRIBUTE_NAME = "bulletinBoard"; @@ -43,8 +46,10 @@ public class BulletinBoardWebApp implements BulletinBoardServer, ServletContextL public void init(){ bulletinBoard = (BulletinBoardServer) servletContext.getAttribute(BULLETIN_BOARD_ATTRIBUTE_NAME); } - - @Override + + + + @Override public void contextInitialized(ServletContextEvent servletContextEvent) { ServletContext servletContext = servletContextEvent.getServletContext(); String dbType = servletContext.getInitParameter("dbType"); @@ -75,7 +80,23 @@ public class BulletinBoardWebApp implements BulletinBoardServer, ServletContextL System.err.println(e.getMessage()); } } - + + + /** + * Get the current status of the bulletin board server. + * @return + * @throws CommunicationException + */ + @Path(STATUS_PATH) + @POST + @Consumes(MEDIATYPE_PROTOBUF) + @Produces(MEDIATYPE_PROTOBUF) + public ServerStatus getStatus() throws CommunicationException { + return ServerStatus.newBuilder() + .setName("Hello") + .build(); + } + @Path(POST_MESSAGE_PATH) @POST @Consumes(MEDIATYPE_PROTOBUF) diff --git a/bulletin-board-server/src/main/java/meerkat/bulletinboard/webapp/HelloProtoWebApp.java b/bulletin-board-server/src/main/java/meerkat/bulletinboard/webapp/HelloProtoWebApp.java index bf748c5..c9cd3b7 100644 --- a/bulletin-board-server/src/main/java/meerkat/bulletinboard/webapp/HelloProtoWebApp.java +++ b/bulletin-board-server/src/main/java/meerkat/bulletinboard/webapp/HelloProtoWebApp.java @@ -4,7 +4,7 @@ import com.google.protobuf.ByteString; import com.google.protobuf.Message; import meerkat.bulletinboard.service.HelloProtoBuf; import meerkat.protobuf.Crypto.*; -import meerkat.protobuf.BulletinBoardAPI.*; +import meerkat.protobuf.BulletinBoardApi.*; import meerkat.rest.Constants; import javax.annotation.PostConstruct; diff --git a/bulletin-board-server/src/main/proto/meerkat/bulletin_board_webapp.proto b/bulletin-board-server/src/main/proto/meerkat/bulletin_board_webapp.proto new file mode 100644 index 0000000..3bf5653 --- /dev/null +++ b/bulletin-board-server/src/main/proto/meerkat/bulletin_board_webapp.proto @@ -0,0 +1,25 @@ +syntax = "proto3"; + +package meerkat; + +option java_package = "meerkat.protobuf"; + +import 'meerkat/crypto.proto'; +import 'meerkat/bulletin_board_api.proto'; +import 'google/protobuf/timestamp.proto'; + + +// Status of the bulletin board server +message ServerStatus { + enum Mode { + MODE_SETUP_AUTH = 0; // Waiting for authorization setup + MODE_SETUP_DB = 1; // Needs to complete setup + MODE_RUNNING = 2; // Setup is complete + } + + Mode mode = 1; + + string name = 2; // Human-readable name + + SignatureVerificationKey pk = 3; // The server's signing public-key +} diff --git a/bulletin-board-server/src/test/java/meerkat/bulletinboard/BulletinBoardSQLServerIntegrationTest.java b/bulletin-board-server/src/test/java/meerkat/bulletinboard/BulletinBoardSQLServerIntegrationTest.java index 8d5e0c0..b88a61d 100644 --- a/bulletin-board-server/src/test/java/meerkat/bulletinboard/BulletinBoardSQLServerIntegrationTest.java +++ b/bulletin-board-server/src/test/java/meerkat/bulletinboard/BulletinBoardSQLServerIntegrationTest.java @@ -8,7 +8,7 @@ import com.google.protobuf.TextFormat; import com.google.protobuf.Timestamp; import meerkat.comm.MessageInputStream; import meerkat.protobuf.Crypto.*; -import meerkat.protobuf.BulletinBoardAPI.*; +import meerkat.protobuf.BulletinBoardApi.*; import meerkat.protobuf.Comm.*; import static meerkat.bulletinboard.BulletinBoardConstants.*; import meerkat.rest.Constants; diff --git a/bulletin-board-server/src/test/java/meerkat/bulletinboard/GenericBulletinBoardServerTest.java b/bulletin-board-server/src/test/java/meerkat/bulletinboard/GenericBulletinBoardServerTest.java index eafd80c..3824165 100644 --- a/bulletin-board-server/src/test/java/meerkat/bulletinboard/GenericBulletinBoardServerTest.java +++ b/bulletin-board-server/src/test/java/meerkat/bulletinboard/GenericBulletinBoardServerTest.java @@ -28,7 +28,7 @@ import meerkat.comm.MessageOutputStream; import meerkat.comm.MessageInputStream.MessageInputStreamFactory; import meerkat.crypto.concrete.ECDSASignature; import meerkat.crypto.concrete.SHA256Digest; -import meerkat.protobuf.BulletinBoardAPI.*; +import meerkat.protobuf.BulletinBoardApi.*; import meerkat.util.BulletinBoardMessageComparator; import meerkat.util.BulletinBoardMessageGenerator; import meerkat.util.BulletinBoardUtils; diff --git a/bulletin-board-server/src/test/java/meerkat/bulletinboard/HelloProtoIntegrationTest.java b/bulletin-board-server/src/test/java/meerkat/bulletinboard/HelloProtoIntegrationTest.java index c7b16df..b597113 100644 --- a/bulletin-board-server/src/test/java/meerkat/bulletinboard/HelloProtoIntegrationTest.java +++ b/bulletin-board-server/src/test/java/meerkat/bulletinboard/HelloProtoIntegrationTest.java @@ -1,6 +1,6 @@ package meerkat.bulletinboard; -import meerkat.protobuf.BulletinBoardAPI.*; +import meerkat.protobuf.BulletinBoardApi.*; import meerkat.rest.Constants; import meerkat.rest.ProtobufMessageBodyReader; import meerkat.rest.ProtobufMessageBodyWriter; diff --git a/meerkat-common/src/main/java/Demo.java b/meerkat-common/src/main/java/Demo.java index 130adcc..d1e588c 100644 --- a/meerkat-common/src/main/java/Demo.java +++ b/meerkat-common/src/main/java/Demo.java @@ -1,5 +1,5 @@ import com.google.protobuf.ByteString; -import static meerkat.protobuf.BulletinBoardAPI.*; +import static meerkat.protobuf.BulletinBoardApi.*; import java.io.IOException; /** diff --git a/meerkat-common/src/main/java/meerkat/bulletinboard/AsyncBulletinBoardClient.java b/meerkat-common/src/main/java/meerkat/bulletinboard/AsyncBulletinBoardClient.java index ab71a76..451dc27 100644 --- a/meerkat-common/src/main/java/meerkat/bulletinboard/AsyncBulletinBoardClient.java +++ b/meerkat-common/src/main/java/meerkat/bulletinboard/AsyncBulletinBoardClient.java @@ -2,7 +2,7 @@ package meerkat.bulletinboard; import com.google.common.util.concurrent.FutureCallback; import com.google.protobuf.Timestamp; -import meerkat.protobuf.BulletinBoardAPI.*; +import meerkat.protobuf.BulletinBoardApi.*; import meerkat.protobuf.Crypto.Signature; import java.util.List; diff --git a/meerkat-common/src/main/java/meerkat/bulletinboard/BulletinBoardClient.java b/meerkat-common/src/main/java/meerkat/bulletinboard/BulletinBoardClient.java index c03051c..18160c8 100644 --- a/meerkat-common/src/main/java/meerkat/bulletinboard/BulletinBoardClient.java +++ b/meerkat-common/src/main/java/meerkat/bulletinboard/BulletinBoardClient.java @@ -3,7 +3,7 @@ package meerkat.bulletinboard; import meerkat.comm.CommunicationException; import meerkat.protobuf.Voting.*; -import static meerkat.protobuf.BulletinBoardAPI.*; +import static meerkat.protobuf.BulletinBoardApi.*; import java.util.List; diff --git a/meerkat-common/src/main/java/meerkat/bulletinboard/BulletinBoardConstants.java b/meerkat-common/src/main/java/meerkat/bulletinboard/BulletinBoardConstants.java index 9404165..ed0a9fe 100644 --- a/meerkat-common/src/main/java/meerkat/bulletinboard/BulletinBoardConstants.java +++ b/meerkat-common/src/main/java/meerkat/bulletinboard/BulletinBoardConstants.java @@ -7,6 +7,7 @@ public interface BulletinBoardConstants { // Relative addresses for Bulletin Board operations + public static final String STATUS_PATH = "/status"; public static final String BULLETIN_BOARD_SERVER_PATH = "/bbserver"; public static final String GENERATE_SYNC_QUERY_PATH = "/generatesyncquery"; public static final String READ_MESSAGES_PATH = "/readmessages"; diff --git a/meerkat-common/src/main/java/meerkat/bulletinboard/BulletinBoardDigest.java b/meerkat-common/src/main/java/meerkat/bulletinboard/BulletinBoardDigest.java index 3e47c23..b7f11d4 100644 --- a/meerkat-common/src/main/java/meerkat/bulletinboard/BulletinBoardDigest.java +++ b/meerkat-common/src/main/java/meerkat/bulletinboard/BulletinBoardDigest.java @@ -1,7 +1,7 @@ package meerkat.bulletinboard; import meerkat.crypto.Digest; -import meerkat.protobuf.BulletinBoardAPI.*; +import meerkat.protobuf.BulletinBoardApi.*; import java.util.List; diff --git a/meerkat-common/src/main/java/meerkat/bulletinboard/BulletinBoardMessageDeleter.java b/meerkat-common/src/main/java/meerkat/bulletinboard/BulletinBoardMessageDeleter.java index cf57975..847a60c 100644 --- a/meerkat-common/src/main/java/meerkat/bulletinboard/BulletinBoardMessageDeleter.java +++ b/meerkat-common/src/main/java/meerkat/bulletinboard/BulletinBoardMessageDeleter.java @@ -2,7 +2,7 @@ package meerkat.bulletinboard; import com.google.common.util.concurrent.FutureCallback; import meerkat.comm.CommunicationException; -import meerkat.protobuf.BulletinBoardAPI.*; +import meerkat.protobuf.BulletinBoardApi.*; /** * Created by Arbel Deutsch Peled on 13-Apr-16. diff --git a/meerkat-common/src/main/java/meerkat/bulletinboard/BulletinBoardServer.java b/meerkat-common/src/main/java/meerkat/bulletinboard/BulletinBoardServer.java index 40f8ab3..f043420 100644 --- a/meerkat-common/src/main/java/meerkat/bulletinboard/BulletinBoardServer.java +++ b/meerkat-common/src/main/java/meerkat/bulletinboard/BulletinBoardServer.java @@ -5,7 +5,7 @@ import com.google.protobuf.Int32Value; import com.google.protobuf.Int64Value; import meerkat.comm.CommunicationException; import meerkat.comm.MessageOutputStream; -import meerkat.protobuf.BulletinBoardAPI.*; +import meerkat.protobuf.BulletinBoardApi.*; /** @@ -15,7 +15,7 @@ import meerkat.protobuf.BulletinBoardAPI.*; * An implementation of this interface may use any DB and be hosted on any machine. */ -public interface BulletinBoardServer{ +public interface BulletinBoardServer { /** * This method initializes the server by reading the signature data and storing it @@ -23,7 +23,7 @@ public interface BulletinBoardServer{ * @throws CommunicationException on DB connection error */ public void init() throws CommunicationException; - + /** * Post a message to bulletin board. * @param msg is the actual (signed) message diff --git a/meerkat-common/src/main/java/meerkat/bulletinboard/BulletinBoardSignature.java b/meerkat-common/src/main/java/meerkat/bulletinboard/BulletinBoardSignature.java index ba018ca..4fe6e0c 100644 --- a/meerkat-common/src/main/java/meerkat/bulletinboard/BulletinBoardSignature.java +++ b/meerkat-common/src/main/java/meerkat/bulletinboard/BulletinBoardSignature.java @@ -1,9 +1,7 @@ package meerkat.bulletinboard; import meerkat.crypto.DigitalSignature; -import meerkat.protobuf.BulletinBoardAPI.BulletinBoardMessage; -import meerkat.protobuf.BulletinBoardAPI.UnsignedBulletinBoardMessage; -import meerkat.protobuf.Crypto; +import meerkat.protobuf.BulletinBoardApi.*; import java.security.SignatureException; diff --git a/meerkat-common/src/main/java/meerkat/bulletinboard/BulletinBoardSubscriber.java b/meerkat-common/src/main/java/meerkat/bulletinboard/BulletinBoardSubscriber.java index 85eb2cc..fc9f75a 100644 --- a/meerkat-common/src/main/java/meerkat/bulletinboard/BulletinBoardSubscriber.java +++ b/meerkat-common/src/main/java/meerkat/bulletinboard/BulletinBoardSubscriber.java @@ -1,8 +1,7 @@ package meerkat.bulletinboard; import com.google.common.util.concurrent.FutureCallback; -import meerkat.protobuf.BulletinBoardAPI.BulletinBoardMessage; -import meerkat.protobuf.BulletinBoardAPI.MessageFilterList; +import meerkat.protobuf.BulletinBoardApi.*; import java.util.List; diff --git a/meerkat-common/src/main/java/meerkat/bulletinboard/BulletinBoardSynchronizer.java b/meerkat-common/src/main/java/meerkat/bulletinboard/BulletinBoardSynchronizer.java index c25d737..a281254 100644 --- a/meerkat-common/src/main/java/meerkat/bulletinboard/BulletinBoardSynchronizer.java +++ b/meerkat-common/src/main/java/meerkat/bulletinboard/BulletinBoardSynchronizer.java @@ -1,7 +1,7 @@ package meerkat.bulletinboard; import meerkat.comm.CommunicationException; -import meerkat.protobuf.BulletinBoardAPI.*; +import meerkat.protobuf.BulletinBoardApi.*; import com.google.common.util.concurrent.FutureCallback; diff --git a/meerkat-common/src/main/java/meerkat/bulletinboard/Checksum.java b/meerkat-common/src/main/java/meerkat/bulletinboard/Checksum.java index b8ddb0b..48a6caa 100644 --- a/meerkat-common/src/main/java/meerkat/bulletinboard/Checksum.java +++ b/meerkat-common/src/main/java/meerkat/bulletinboard/Checksum.java @@ -2,8 +2,7 @@ package meerkat.bulletinboard; import com.google.protobuf.ByteString; import meerkat.crypto.Digest; -import meerkat.protobuf.BulletinBoardAPI.BulletinBoardMessage; -import meerkat.protobuf.BulletinBoardAPI.MessageID; +import meerkat.protobuf.BulletinBoardApi.*; import java.util.Collection; diff --git a/meerkat-common/src/main/java/meerkat/bulletinboard/DeletableBulletinBoardServer.java b/meerkat-common/src/main/java/meerkat/bulletinboard/DeletableBulletinBoardServer.java index cfff084..44d9665 100644 --- a/meerkat-common/src/main/java/meerkat/bulletinboard/DeletableBulletinBoardServer.java +++ b/meerkat-common/src/main/java/meerkat/bulletinboard/DeletableBulletinBoardServer.java @@ -2,7 +2,7 @@ package meerkat.bulletinboard; import com.google.protobuf.BoolValue; import meerkat.comm.CommunicationException; -import meerkat.protobuf.BulletinBoardAPI.*; +import meerkat.protobuf.BulletinBoardApi.*; /** * Created by Arbel Deutsch Peled on 13-Apr-16. diff --git a/meerkat-common/src/main/java/meerkat/bulletinboard/GenericBulletinBoardDigest.java b/meerkat-common/src/main/java/meerkat/bulletinboard/GenericBulletinBoardDigest.java index fb7bd3f..1ab4c23 100644 --- a/meerkat-common/src/main/java/meerkat/bulletinboard/GenericBulletinBoardDigest.java +++ b/meerkat-common/src/main/java/meerkat/bulletinboard/GenericBulletinBoardDigest.java @@ -1,12 +1,9 @@ package meerkat.bulletinboard; import com.google.protobuf.ByteString; -import com.google.protobuf.BytesValue; import com.google.protobuf.Message; import meerkat.crypto.Digest; -import meerkat.protobuf.BulletinBoardAPI; -import meerkat.protobuf.BulletinBoardAPI.*; -import meerkat.protobuf.BulletinBoardAPI.MessageID; +import meerkat.protobuf.BulletinBoardApi.*; /** diff --git a/meerkat-common/src/main/java/meerkat/bulletinboard/GenericBulletinBoardSignature.java b/meerkat-common/src/main/java/meerkat/bulletinboard/GenericBulletinBoardSignature.java index 3899e0d..6ed15c9 100644 --- a/meerkat-common/src/main/java/meerkat/bulletinboard/GenericBulletinBoardSignature.java +++ b/meerkat-common/src/main/java/meerkat/bulletinboard/GenericBulletinBoardSignature.java @@ -2,12 +2,8 @@ package meerkat.bulletinboard; import com.google.protobuf.ByteString; import com.google.protobuf.Message; -import meerkat.crypto.Digest; import meerkat.crypto.DigitalSignature; -import meerkat.protobuf.BulletinBoardAPI; -import meerkat.protobuf.BulletinBoardAPI.BulletinBoardMessage; -import meerkat.protobuf.BulletinBoardAPI.MessageID; -import meerkat.protobuf.BulletinBoardAPI.UnsignedBulletinBoardMessage; +import meerkat.protobuf.BulletinBoardApi.*; import meerkat.protobuf.Crypto; import java.io.IOException; diff --git a/meerkat-common/src/main/java/meerkat/bulletinboard/SimpleChecksum.java b/meerkat-common/src/main/java/meerkat/bulletinboard/SimpleChecksum.java index 90d7ae5..0808b45 100644 --- a/meerkat-common/src/main/java/meerkat/bulletinboard/SimpleChecksum.java +++ b/meerkat-common/src/main/java/meerkat/bulletinboard/SimpleChecksum.java @@ -2,8 +2,7 @@ package meerkat.bulletinboard; import com.google.protobuf.ByteString; import meerkat.crypto.Digest; -import meerkat.protobuf.BulletinBoardAPI.MessageID; -import meerkat.protobuf.BulletinBoardAPI.BulletinBoardMessage; +import meerkat.protobuf.BulletinBoardApi.*; import java.util.Collection; @@ -11,7 +10,7 @@ import java.util.Collection; * Created by Arbel Deutsch Peled on 01-Mar-16. * Implementation of Checksum via bitwise XOR of the bytes of message IDs */ -public class SimpleChecksum implements Checksum{ +public class SimpleChecksum implements Checksum { private Digest digest; private long checksum; diff --git a/meerkat-common/src/main/java/meerkat/crypto/Digest.java b/meerkat-common/src/main/java/meerkat/crypto/Digest.java index e5202d6..8fcd886 100644 --- a/meerkat-common/src/main/java/meerkat/crypto/Digest.java +++ b/meerkat-common/src/main/java/meerkat/crypto/Digest.java @@ -1,7 +1,7 @@ package meerkat.crypto; import com.google.protobuf.Message; -import meerkat.protobuf.BulletinBoardAPI.MessageID; +import meerkat.protobuf.BulletinBoardApi.MessageID; import java.security.MessageDigest; diff --git a/meerkat-common/src/main/java/meerkat/crypto/concrete/SHA256Digest.java b/meerkat-common/src/main/java/meerkat/crypto/concrete/SHA256Digest.java index 88f417c..5fbca37 100644 --- a/meerkat-common/src/main/java/meerkat/crypto/concrete/SHA256Digest.java +++ b/meerkat-common/src/main/java/meerkat/crypto/concrete/SHA256Digest.java @@ -3,7 +3,7 @@ package meerkat.crypto.concrete; import com.google.protobuf.ByteString; import com.google.protobuf.Message; import meerkat.crypto.Digest; -import meerkat.protobuf.BulletinBoardAPI.MessageID; +import meerkat.protobuf.BulletinBoardApi.MessageID; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/meerkat-common/src/main/java/meerkat/util/BulletinBoardMessageComparator.java b/meerkat-common/src/main/java/meerkat/util/BulletinBoardMessageComparator.java index 7005568..4633512 100644 --- a/meerkat-common/src/main/java/meerkat/util/BulletinBoardMessageComparator.java +++ b/meerkat-common/src/main/java/meerkat/util/BulletinBoardMessageComparator.java @@ -1,7 +1,6 @@ package meerkat.util; -import meerkat.protobuf.BulletinBoardAPI; -import meerkat.protobuf.BulletinBoardAPI.*; +import meerkat.protobuf.BulletinBoardApi.*; import meerkat.protobuf.Crypto.*; import java.util.Comparator; diff --git a/meerkat-common/src/main/java/meerkat/util/BulletinBoardMessageGenerator.java b/meerkat-common/src/main/java/meerkat/util/BulletinBoardMessageGenerator.java index 5969a1e..634d5e3 100644 --- a/meerkat-common/src/main/java/meerkat/util/BulletinBoardMessageGenerator.java +++ b/meerkat-common/src/main/java/meerkat/util/BulletinBoardMessageGenerator.java @@ -2,7 +2,7 @@ package meerkat.util; import com.google.protobuf.ByteString; import meerkat.crypto.DigitalSignature; -import meerkat.protobuf.BulletinBoardAPI.*; +import meerkat.protobuf.BulletinBoardApi.*; import com.google.protobuf.Timestamp; import java.math.BigInteger; diff --git a/meerkat-common/src/main/java/meerkat/util/BulletinBoardUtils.java b/meerkat-common/src/main/java/meerkat/util/BulletinBoardUtils.java index a83f755..8807b0e 100644 --- a/meerkat-common/src/main/java/meerkat/util/BulletinBoardUtils.java +++ b/meerkat-common/src/main/java/meerkat/util/BulletinBoardUtils.java @@ -2,7 +2,7 @@ package meerkat.util; import com.google.protobuf.ByteString; import com.google.protobuf.Int64Value; -import meerkat.protobuf.BulletinBoardAPI.*; +import meerkat.protobuf.BulletinBoardApi.*; import java.util.ArrayList; import java.util.LinkedList; diff --git a/meerkat-common/src/main/proto/meerkat/BallotQuestionUIElement.proto b/meerkat-common/src/main/proto/meerkat/ballot_question_ui_element.proto similarity index 100% rename from meerkat-common/src/main/proto/meerkat/BallotQuestionUIElement.proto rename to meerkat-common/src/main/proto/meerkat/ballot_question_ui_element.proto diff --git a/meerkat-common/src/main/proto/meerkat/BulletinBoardAPI.proto b/meerkat-common/src/main/proto/meerkat/bulletin_board_api.proto similarity index 99% rename from meerkat-common/src/main/proto/meerkat/BulletinBoardAPI.proto rename to meerkat-common/src/main/proto/meerkat/bulletin_board_api.proto index 2cd7f6e..f5f4bf5 100644 --- a/meerkat-common/src/main/proto/meerkat/BulletinBoardAPI.proto +++ b/meerkat-common/src/main/proto/meerkat/bulletin_board_api.proto @@ -4,7 +4,7 @@ package meerkat; option java_package = "meerkat.protobuf"; - import 'meerkat/crypto.proto'; +import 'meerkat/crypto.proto'; import 'google/protobuf/timestamp.proto'; message BoolMsg { diff --git a/meerkat-common/src/test/java/meerkat/bulletinboard/BulletinBoardDigestTest.java b/meerkat-common/src/test/java/meerkat/bulletinboard/BulletinBoardDigestTest.java index 277bda1..869667a 100644 --- a/meerkat-common/src/test/java/meerkat/bulletinboard/BulletinBoardDigestTest.java +++ b/meerkat-common/src/test/java/meerkat/bulletinboard/BulletinBoardDigestTest.java @@ -3,7 +3,7 @@ package meerkat.bulletinboard; import com.google.protobuf.ByteString; import meerkat.crypto.concrete.ECDSASignature; import meerkat.crypto.concrete.SHA256Digest; -import meerkat.protobuf.BulletinBoardAPI.*; +import meerkat.protobuf.BulletinBoardApi.*; import meerkat.util.BulletinBoardMessageGenerator; import meerkat.util.BulletinBoardUtils; import org.junit.Before; diff --git a/meerkat-common/src/test/java/meerkat/comm/MessageStreamTest.java b/meerkat-common/src/test/java/meerkat/comm/MessageStreamTest.java index 27eeca3..206abde 100644 --- a/meerkat-common/src/test/java/meerkat/comm/MessageStreamTest.java +++ b/meerkat-common/src/test/java/meerkat/comm/MessageStreamTest.java @@ -2,7 +2,7 @@ package meerkat.comm; import com.google.protobuf.*; import meerkat.comm.MessageInputStream.MessageInputStreamFactory; -import meerkat.protobuf.BulletinBoardAPI.*; +import meerkat.protobuf.BulletinBoardApi.*; import meerkat.protobuf.Crypto; import meerkat.util.BulletinBoardMessageComparator; import org.junit.Test; diff --git a/mixer/src/main/java/meerkat/mixer/main/BatchConverter.java b/mixer/src/main/java/meerkat/mixer/main/BatchConverter.java index ea78f80..4d5ba5e 100644 --- a/mixer/src/main/java/meerkat/mixer/main/BatchConverter.java +++ b/mixer/src/main/java/meerkat/mixer/main/BatchConverter.java @@ -1,7 +1,7 @@ package meerkat.mixer.main; import meerkat.mixer.MixerOutput; -import meerkat.protobuf.BulletinBoardAPI; +import meerkat.protobuf.BulletinBoardApi; import meerkat.protobuf.Crypto; import meerkat.protobuf.Mixing; @@ -18,29 +18,29 @@ public class BatchConverter { * @param mixerOutput * @return meerkat.mixProverVerifier.network output as list of batch data */ - public List MixerOutput2BatchChunk(MixerOutput mixerOutput) { + public List MixerOutput2BatchChunk(MixerOutput mixerOutput) { - List result = new ArrayList(); + List result = new ArrayList(); Mixing.MixBatchHeader header = Mixing.MixBatchHeader.newBuilder() .setLogN(mixerOutput.getLogN()) .setLayers(mixerOutput.getNumLayers()) .build(); - result.add(BulletinBoardAPI.BatchChunk.newBuilder() + result.add(BulletinBoardApi.BatchChunk.newBuilder() .setData(header.toByteString()) .build()); for (Mixing.Mix2Proof[] zkpLayer : mixerOutput.getProofs()) { for (Mixing.Mix2Proof zkp : zkpLayer) { - result.add(BulletinBoardAPI.BatchChunk.newBuilder() + result.add(BulletinBoardApi.BatchChunk.newBuilder() .setData(zkp.toByteString()) .build()); } } for (Crypto.RerandomizableEncryptedMessage[] encryptionLayer : mixerOutput.getEncryptedMessages()) { for (Crypto.RerandomizableEncryptedMessage encryption : encryptionLayer) { - result.add(BulletinBoardAPI.BatchChunk.newBuilder() + result.add(BulletinBoardApi.BatchChunk.newBuilder() .setData(encryption.toByteString()) .build()); } @@ -55,7 +55,7 @@ public class BatchConverter { * @throws Exception */ public MixerOutput BatchChunkList2MixerOutput - (List batchChunkList) throws Exception { + (List batchChunkList) throws Exception { Mixing.MixBatchHeader header = Mixing.MixBatchHeader.parseFrom(batchChunkList.remove(0).getData()); diff --git a/mixer/src/main/java/meerkat/mixer/main/MainMixing.java b/mixer/src/main/java/meerkat/mixer/main/MainMixing.java index f32cb9f..dfe6eb5 100644 --- a/mixer/src/main/java/meerkat/mixer/main/MainMixing.java +++ b/mixer/src/main/java/meerkat/mixer/main/MainMixing.java @@ -3,7 +3,7 @@ package meerkat.mixer.main; import meerkat.mixer.MixGenerator; import meerkat.mixer.MixerOutput; import meerkat.mixer.proofs.Mix2nizk; -import meerkat.protobuf.BulletinBoardAPI; +import meerkat.protobuf.BulletinBoardApi; import meerkat.protobuf.Crypto; import meerkat.mixer.necessary.AsyncBulletinBoardClient; @@ -95,7 +95,7 @@ public class MainMixing { , int batchId, AsyncBulletinBoardClient.ClientCallback callback) { BatchConverter batchConverter = new BatchConverter(); - List batchChunkList = batchConverter.MixerOutput2BatchChunk(mixerOutput); + List batchChunkList = batchConverter.MixerOutput2BatchChunk(mixerOutput); asyncBulletinBoardClient.postBatch(id, batchId, batchChunkList, callback); } diff --git a/mixer/src/main/java/meerkat/mixer/necessary/AsyncBulletinBoardClient.java b/mixer/src/main/java/meerkat/mixer/necessary/AsyncBulletinBoardClient.java index 208c7c7..a6d6924 100644 --- a/mixer/src/main/java/meerkat/mixer/necessary/AsyncBulletinBoardClient.java +++ b/mixer/src/main/java/meerkat/mixer/necessary/AsyncBulletinBoardClient.java @@ -1,6 +1,6 @@ package meerkat.mixer.necessary; -import meerkat.protobuf.BulletinBoardAPI.*; +import meerkat.protobuf.BulletinBoardApi.*; import java.util.List; diff --git a/mixer/src/main/java/meerkat/mixer/necessary/BulletinBoardClient.java b/mixer/src/main/java/meerkat/mixer/necessary/BulletinBoardClient.java index aebe469..0770f7a 100644 --- a/mixer/src/main/java/meerkat/mixer/necessary/BulletinBoardClient.java +++ b/mixer/src/main/java/meerkat/mixer/necessary/BulletinBoardClient.java @@ -5,7 +5,7 @@ import meerkat.protobuf.Voting.BulletinBoardClientParams; import java.util.List; -import static meerkat.protobuf.BulletinBoardAPI.*; +import static meerkat.protobuf.BulletinBoardApi.*; /** * Created by talm on 24/10/15. diff --git a/mixer/src/main/java/meerkat/mixer/necessary/CompleteBatch.java b/mixer/src/main/java/meerkat/mixer/necessary/CompleteBatch.java index 4e18d43..a628fe3 100644 --- a/mixer/src/main/java/meerkat/mixer/necessary/CompleteBatch.java +++ b/mixer/src/main/java/meerkat/mixer/necessary/CompleteBatch.java @@ -1,7 +1,7 @@ package meerkat.mixer.necessary; -import meerkat.protobuf.BulletinBoardAPI.*; +import meerkat.protobuf.BulletinBoardApi.*; import meerkat.protobuf.Crypto.*; import java.util.LinkedList; diff --git a/scanner-api-common/src/main/proto/meerkat/PollingStation.proto b/scanner-api-common/src/main/proto/meerkat/polling_station.proto similarity index 100% rename from scanner-api-common/src/main/proto/meerkat/PollingStation.proto rename to scanner-api-common/src/main/proto/meerkat/polling_station.proto diff --git a/voting-booth-gui/src/main/java/meerkat/voting/gui/Main.java b/voting-booth-gui/src/main/java/meerkat/voting/gui/Main.java index 0cab1fd..1cd95f1 100644 --- a/voting-booth-gui/src/main/java/meerkat/voting/gui/Main.java +++ b/voting-booth-gui/src/main/java/meerkat/voting/gui/Main.java @@ -2,7 +2,7 @@ package meerkat.voting.gui; import javafx.application.Application; import javafx.stage.Stage; -import meerkat.protobuf.BallotQuestionUIElementOuterClass; +import meerkat.protobuf.BallotQuestionUiElement; import meerkat.voting.gui.configuration.VotingBoothConfiguration; import meerkat.voting.gui.managment.ChainBuilder; import org.json.JSONException; @@ -30,7 +30,7 @@ public class Main extends Application { */ private VotingBoothConfiguration GetConfig() throws IOException, JSONException, URISyntaxException { FileInputStream fis = new FileInputStream(getClass().getResource(DEFAULT_CONFIGURATION_PATH).getPath()); - BallotQuestionUIElementOuterClass.BallotQuestionsUIElements read_questions = BallotQuestionUIElementOuterClass.BallotQuestionsUIElements.parseFrom(fis); + BallotQuestionUiElement.BallotQuestionsUIElements read_questions = BallotQuestionUiElement.BallotQuestionsUIElements.parseFrom(fis); VotingBoothConfiguration votingBoothConfiguration = new VotingBoothConfiguration(); votingBoothConfiguration.NameSelectionQuestion = read_questions.getQuestions(1); votingBoothConfiguration.NameSelectionByPictureQuestion = read_questions.getQuestions(0); diff --git a/voting-booth-gui/src/main/java/meerkat/voting/gui/configuration/Converter.java b/voting-booth-gui/src/main/java/meerkat/voting/gui/configuration/Converter.java index f6336d0..b72ead1 100644 --- a/voting-booth-gui/src/main/java/meerkat/voting/gui/configuration/Converter.java +++ b/voting-booth-gui/src/main/java/meerkat/voting/gui/configuration/Converter.java @@ -2,7 +2,7 @@ package meerkat.voting.gui.configuration; import joptsimple.OptionParser; import joptsimple.OptionSet; -import meerkat.protobuf.BallotQuestionUIElementOuterClass; +import meerkat.protobuf.BallotQuestionUiElement.*; import org.json.JSONException; import java.io.FileOutputStream; @@ -39,10 +39,8 @@ public class Converter { */ private static void ConvertJsonIntoBinaryFile(VotingBoothConfiguration configuration, String outputPath) throws IOException { FileOutputStream fileOutputStream = new FileOutputStream(outputPath); - BallotQuestionUIElementOuterClass.BallotQuestionsUIElements read_questions = - BallotQuestionUIElementOuterClass - .BallotQuestionsUIElements - .newBuilder() + BallotQuestionsUIElements read_questions = + BallotQuestionsUIElements.newBuilder() .addQuestions(configuration.NameSelectionByPictureQuestion) .addQuestions(configuration.NameSelectionQuestion) .build(); diff --git a/voting-booth-gui/src/main/java/meerkat/voting/gui/configuration/VotingBoothConfiguration.java b/voting-booth-gui/src/main/java/meerkat/voting/gui/configuration/VotingBoothConfiguration.java index 8eda170..1cf1565 100644 --- a/voting-booth-gui/src/main/java/meerkat/voting/gui/configuration/VotingBoothConfiguration.java +++ b/voting-booth-gui/src/main/java/meerkat/voting/gui/configuration/VotingBoothConfiguration.java @@ -1,7 +1,7 @@ package meerkat.voting.gui.configuration; import javafx.embed.swing.SwingFXUtils; -import meerkat.protobuf.BallotQuestionUIElementOuterClass; +import meerkat.protobuf.BallotQuestionUiElement; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; @@ -11,8 +11,8 @@ import java.awt.image.BufferedImage; * This object contains all the questions and configurations needed for the voting-booth-gui work */ public class VotingBoothConfiguration { - public BallotQuestionUIElementOuterClass.BallotQuestionUIElement NameSelectionQuestion; - public BallotQuestionUIElementOuterClass.BallotQuestionUIElement NameSelectionByPictureQuestion; + public BallotQuestionUiElement.BallotQuestionUIElement NameSelectionQuestion; + public BallotQuestionUiElement.BallotQuestionUIElement NameSelectionByPictureQuestion; /** * Checks that the configuration that have been given is valud @@ -29,12 +29,12 @@ public class VotingBoothConfiguration { return false; } // check that both the types of the questions answers are supported - if (BallotQuestionUIElementOuterClass.ValueType.forNumber(NameSelectionByPictureQuestion.getAnswers().getAnswersType()) == null || - BallotQuestionUIElementOuterClass.ValueType.forNumber(NameSelectionQuestion.getAnswers().getAnswersType()) == null ){ + if (BallotQuestionUiElement.ValueType.forNumber(NameSelectionByPictureQuestion.getAnswers().getAnswersType()) == null || + BallotQuestionUiElement.ValueType.forNumber(NameSelectionQuestion.getAnswers().getAnswersType()) == null ){ return false; } // Check that all the given answers are valid bte strings that can be converted into strings - for (BallotQuestionUIElementOuterClass.UIAnswer answer: NameSelectionQuestion.getAnswers().getAnswers().getAnswersList()){ + for (BallotQuestionUiElement.UIAnswer answer: NameSelectionQuestion.getAnswers().getAnswers().getAnswersList()){ try { answer.getAnswer().toStringUtf8(); if (answer.getDescription() == null) { @@ -45,7 +45,7 @@ public class VotingBoothConfiguration { } } // Check that all given byteStrings that are pictures can be converted into pictures - for (BallotQuestionUIElementOuterClass.UIAnswer answer :NameSelectionByPictureQuestion.getAnswers().getAnswers().getAnswersList()){ + for (BallotQuestionUiElement.UIAnswer answer :NameSelectionByPictureQuestion.getAnswers().getAnswers().getAnswersList()){ try { BufferedImage bufferedImage = ImageIO.read(answer.getAnswer().newInput()); SwingFXUtils.toFXImage(bufferedImage, null); diff --git a/voting-booth-gui/src/main/java/meerkat/voting/gui/configuration/VotingBoothConfigurationCreator.java b/voting-booth-gui/src/main/java/meerkat/voting/gui/configuration/VotingBoothConfigurationCreator.java index f9695dd..9fb8249 100644 --- a/voting-booth-gui/src/main/java/meerkat/voting/gui/configuration/VotingBoothConfigurationCreator.java +++ b/voting-booth-gui/src/main/java/meerkat/voting/gui/configuration/VotingBoothConfigurationCreator.java @@ -1,7 +1,7 @@ package meerkat.voting.gui.configuration; import com.google.protobuf.ByteString; -import meerkat.protobuf.BallotQuestionUIElementOuterClass; +import meerkat.protobuf.BallotQuestionUiElement; import org.factcenter.qilin.util.Pair; import org.json.JSONArray; import org.json.JSONException; @@ -47,7 +47,7 @@ public class VotingBoothConfigurationCreator { throw new IOException(WRONG_QUESTIONS_AMOUNT_ERROR_MESSAGE); } else { try { - BallotQuestionUIElementOuterClass.BallotQuestionUIElement ballotQuestionUIElement = this.convertJSONObjToBallotQuestion(array.getJSONObject(0)); + BallotQuestionUiElement.BallotQuestionUIElement ballotQuestionUIElement = this.convertJSONObjToBallotQuestion(array.getJSONObject(0)); config.NameSelectionQuestion = ballotQuestionUIElement; ballotQuestionUIElement = this.convertJSONObjToBallotQuestion(array.getJSONObject(1)); @@ -81,7 +81,7 @@ public class VotingBoothConfigurationCreator { * @param object the object to convert * @return BallotQuestion parsed fron JSONObject */ - private BallotQuestionUIElementOuterClass.BallotQuestionUIElement convertJSONObjToBallotQuestion(JSONObject object) throws JSONException, IOException { + private BallotQuestionUiElement.BallotQuestionUIElement convertJSONObjToBallotQuestion(JSONObject object) throws JSONException, IOException { boolean randomize = object.getBoolean("randomize"); // Question part @@ -101,23 +101,23 @@ public class VotingBoothConfigurationCreator { } // Create the UIQuestion and set the values parsed from jason - BallotQuestionUIElementOuterClass.UIQuestion uiQuestion = BallotQuestionUIElementOuterClass.UIQuestion.newBuilder() + BallotQuestionUiElement.UIQuestion uiQuestion = BallotQuestionUiElement.UIQuestion.newBuilder() .setQuestionType(questionType) - .setQuestion(BallotQuestionUIElementOuterClass.Question.newBuilder() + .setQuestion(BallotQuestionUiElement.Question.newBuilder() .setQuestion(questionValue)) .build(); // Create UIAnswers and set the values parsed from jason - BallotQuestionUIElementOuterClass.UIAnswers.Builder uiAnswersBuilder = BallotQuestionUIElementOuterClass.UIAnswers.newBuilder() + BallotQuestionUiElement.UIAnswers.Builder uiAnswersBuilder = BallotQuestionUiElement.UIAnswers.newBuilder() .setAnswersType(answersType); - BallotQuestionUIElementOuterClass.ListOfAnswers.Builder listOfAnswers = BallotQuestionUIElementOuterClass.ListOfAnswers.newBuilder(); + BallotQuestionUiElement.ListOfAnswers.Builder listOfAnswers = BallotQuestionUiElement.ListOfAnswers.newBuilder(); for(Pair pair: answersPairs){ listOfAnswers.addAnswers(ConvertPairIntoUIAnswer(pair)); } uiAnswersBuilder.setAnswers(listOfAnswers); this.logger.debug("Converted the json object into ballot question object.\n" + object); - return BallotQuestionUIElementOuterClass.BallotQuestionUIElement.newBuilder() + return BallotQuestionUiElement.BallotQuestionUIElement.newBuilder() .setQuestion(uiQuestion) .setAnswers(uiAnswersBuilder.build()) .setRandomizeListOrder(randomize) @@ -129,8 +129,8 @@ public class VotingBoothConfigurationCreator { * @param pair A pair of byteString which is the answer and string which is the description of the answer * @return UIAnswer */ - private BallotQuestionUIElementOuterClass.UIAnswer ConvertPairIntoUIAnswer(Pair pair) { - return BallotQuestionUIElementOuterClass.UIAnswer.newBuilder() + private BallotQuestionUiElement.UIAnswer ConvertPairIntoUIAnswer(Pair pair) { + return BallotQuestionUiElement.UIAnswer.newBuilder() .setAnswer(pair.a) .setDescription(pair.b) .build(); @@ -144,10 +144,10 @@ public class VotingBoothConfigurationCreator { * @throws IOException will be thrown if the given type is unsupported */ private ByteString convertToByteStringBasedOnType(int questionType, JSONObject value) throws IOException, JSONException { - if (questionType == BallotQuestionUIElementOuterClass.ValueType.TEXT_TYPE.getNumber()) { + if (questionType == BallotQuestionUiElement.ValueType.TEXT_TYPE.getNumber()) { return ByteString.copyFromUtf8(value.getString("answer")); } - if (questionType == BallotQuestionUIElementOuterClass.ValueType.IMAGE_TYPE.getNumber()) { + if (questionType == BallotQuestionUiElement.ValueType.IMAGE_TYPE.getNumber()) { return ByteString.copyFrom(getImageBytes(value.getString("answer"))); } else { diff --git a/voting-booth-gui/src/main/java/meerkat/voting/gui/managment/VotersBallot.java b/voting-booth-gui/src/main/java/meerkat/voting/gui/managment/VotersBallot.java index ee569e2..734cc3c 100644 --- a/voting-booth-gui/src/main/java/meerkat/voting/gui/managment/VotersBallot.java +++ b/voting-booth-gui/src/main/java/meerkat/voting/gui/managment/VotersBallot.java @@ -1,6 +1,6 @@ package meerkat.voting.gui.managment; -import meerkat.protobuf.BallotQuestionUIElementOuterClass; +import meerkat.protobuf.BallotQuestionUiElement; import java.util.List; @@ -15,7 +15,7 @@ import java.util.List; public class VotersBallot { public List VoterChannel; public String VotersNameSelection; - public BallotQuestionUIElementOuterClass.UIAnswer VotersImageSelection; + public BallotQuestionUiElement.UIAnswer VotersImageSelection; /** * Gets the name of the candidate the voter choose diff --git a/voting-booth-gui/src/main/java/meerkat/voting/gui/panels/select_candidate_by_picture/PicturesAnswersUpdater.java b/voting-booth-gui/src/main/java/meerkat/voting/gui/panels/select_candidate_by_picture/PicturesAnswersUpdater.java index dfdcd47..427a006 100644 --- a/voting-booth-gui/src/main/java/meerkat/voting/gui/panels/select_candidate_by_picture/PicturesAnswersUpdater.java +++ b/voting-booth-gui/src/main/java/meerkat/voting/gui/panels/select_candidate_by_picture/PicturesAnswersUpdater.java @@ -13,7 +13,7 @@ import javafx.scene.image.ImageView; import javafx.scene.layout.BorderPane; import javafx.scene.layout.GridPane; import javafx.stage.Stage; -import meerkat.protobuf.BallotQuestionUIElementOuterClass; +import meerkat.protobuf.BallotQuestionUiElement; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -36,8 +36,8 @@ class PicturesAnswersUpdater implements EventHandler{ private Stage currentStage; private int columIndex; - private List allAvailableAnswers; - private FutureCallback imageUpdate; + private List allAvailableAnswers; + private FutureCallback imageUpdate; PicturesAnswersUpdater(Stage primaryStage) { this.currentStage = primaryStage; @@ -52,7 +52,7 @@ class PicturesAnswersUpdater implements EventHandler{ * Sets the call back object which will be called every time the voter choose different candidate picture * @param imageUpdate the callback object itself */ - public void SetImageUpdate(FutureCallback imageUpdate){ + public void SetImageUpdate(FutureCallback imageUpdate){ this.imageUpdate = imageUpdate; } @@ -61,14 +61,14 @@ class PicturesAnswersUpdater implements EventHandler{ * * @param question the ballot question that contains all the pictures that are the answers */ - void UpdateAnswers(BallotQuestionUIElementOuterClass.BallotQuestionUIElement question) { + void UpdateAnswers(BallotQuestionUiElement.BallotQuestionUIElement question) { this.RemoveAllAnswers(); - List answers = new ArrayList<>(question.getAnswers().getAnswers().getAnswersList()); + List answers = new ArrayList<>(question.getAnswers().getAnswers().getAnswersList()); if (question.getRandomizeListOrder()) { Collections.shuffle(answers); } - for (BallotQuestionUIElementOuterClass.UIAnswer answer: answers){ + for (BallotQuestionUiElement.UIAnswer answer: answers){ try { this.allAvailableAnswers.add(answer); this.AddAnswer(answer); @@ -104,7 +104,7 @@ class PicturesAnswersUpdater implements EventHandler{ * @param location the location of the picture * @return GridPane which contains string and check box */ - private GridPane GetAnswerElement(BallotQuestionUIElementOuterClass.UIAnswer answer, int location) throws IOException { + private GridPane GetAnswerElement(BallotQuestionUiElement.UIAnswer answer, int location) throws IOException { GridPane gridPane = new GridPane(); BufferedImage bufferedImage = ImageIO.read(answer.getAnswer().newInput()); @@ -139,7 +139,7 @@ class PicturesAnswersUpdater implements EventHandler{ * * @param answer the binaryData string to represent to the user */ - private void AddAnswer(BallotQuestionUIElementOuterClass.UIAnswer answer) throws IOException { + private void AddAnswer(BallotQuestionUiElement.UIAnswer answer) throws IOException { GridPane container = this.GetAnswersContainer(); this.columIndex++; diff --git a/voting-booth-gui/src/main/java/meerkat/voting/gui/panels/select_candidate_by_picture/SelectCandidateByPictureController.java b/voting-booth-gui/src/main/java/meerkat/voting/gui/panels/select_candidate_by_picture/SelectCandidateByPictureController.java index b7041ac..bfc4713 100644 --- a/voting-booth-gui/src/main/java/meerkat/voting/gui/panels/select_candidate_by_picture/SelectCandidateByPictureController.java +++ b/voting-booth-gui/src/main/java/meerkat/voting/gui/panels/select_candidate_by_picture/SelectCandidateByPictureController.java @@ -3,7 +3,7 @@ package meerkat.voting.gui.panels.select_candidate_by_picture; import com.google.common.util.concurrent.FutureCallback; import javafx.fxml.FXML; import javafx.scene.input.MouseEvent; -import meerkat.protobuf.BallotQuestionUIElementOuterClass; +import meerkat.protobuf.BallotQuestionUiElement; import meerkat.voting.gui.managment.TwoWayNode; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -12,7 +12,7 @@ import org.slf4j.LoggerFactory; * Created by Vladimir Eliezer Tokarev on 8/27/2016. * SelectCandidateNameController handle the behavior of select by picture screen */ -public class SelectCandidateByPictureController extends TwoWayNode implements FutureCallback { +public class SelectCandidateByPictureController extends TwoWayNode implements FutureCallback { private final Logger logger = LoggerFactory.getLogger(SelectCandidateByPictureController.class); @@ -50,7 +50,7 @@ public class SelectCandidateByPictureController extends TwoWayNode implements Fu } @Override - public void onSuccess(BallotQuestionUIElementOuterClass.UIAnswer result) { + public void onSuccess(BallotQuestionUiElement.UIAnswer result) { this.votersBallot.VotersImageSelection = result; } diff --git a/voting-booth-gui/src/main/java/meerkat/voting/gui/panels/select_candidate_name/StringsAnswersUpdater.java b/voting-booth-gui/src/main/java/meerkat/voting/gui/panels/select_candidate_name/StringsAnswersUpdater.java index 6246a62..065d0ed 100644 --- a/voting-booth-gui/src/main/java/meerkat/voting/gui/panels/select_candidate_name/StringsAnswersUpdater.java +++ b/voting-booth-gui/src/main/java/meerkat/voting/gui/panels/select_candidate_name/StringsAnswersUpdater.java @@ -7,7 +7,7 @@ import javafx.scene.control.CheckBox; import javafx.scene.control.Label; import javafx.scene.layout.GridPane; import javafx.stage.Stage; -import meerkat.protobuf.BallotQuestionUIElementOuterClass; +import meerkat.protobuf.BallotQuestionUiElement; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -104,16 +104,16 @@ class StringsAnswersUpdater implements javafx.event.EventHandler{ * Checks if the answers should be randomized, if they are then randomize them * @param question the questions that have all the information to be reporesneted */ - void UpdateAnswers(BallotQuestionUIElementOuterClass.BallotQuestionUIElement question) { + void UpdateAnswers(BallotQuestionUiElement.BallotQuestionUIElement question) { this.RemoveAllAnswers(); - List answers = + List answers = new ArrayList<>(question.getAnswers().getAnswers().getAnswersList()); if (question.getRandomizeListOrder()){ Collections.shuffle(answers); } - for (BallotQuestionUIElementOuterClass.UIAnswer answer: answers){ + for (BallotQuestionUiElement.UIAnswer answer: answers){ this.AddAnswer(answer.getAnswer().toStringUtf8()); } this.currentStage.show(); From c0b21f82ee004ff5f55ce7de93734774d00fb92f Mon Sep 17 00:00:00 2001 From: Tal Moran Date: Sun, 2 Jul 2017 16:42:45 +0300 Subject: [PATCH 2/7] Added toy angular application (for bulletin-board frontend) --- .gitignore | 15 + .../.angular-cli.json | 57 + bulletin-board-server-frontend/.editorconfig | 13 + bulletin-board-server-frontend/.gitignore | 42 + bulletin-board-server-frontend/README.md | 28 + .../e2e/app.e2e-spec.ts | 14 + bulletin-board-server-frontend/e2e/app.po.ts | 11 + .../e2e/tsconfig.e2e.json | 13 + bulletin-board-server-frontend/karma.conf.js | 33 + bulletin-board-server-frontend/package.json | 51 + .../protractor.conf.js | 28 + .../src/app/app.component.css | 0 .../src/app/app.component.html | 12 + .../src/app/app.component.spec.ts | 32 + .../src/app/app.component.ts | 30 + .../src/app/app.module.ts | 20 + .../src/app/bb.service.ts | 37 + .../src/app/bundle.d.ts | 7527 +++++++ .../src/app/bundle.js | 17755 ++++++++++++++++ .../src/assets/.gitkeep | 0 .../src/environments/environment.prod.ts | 3 + .../src/environments/environment.ts | 8 + .../src/favicon.ico | Bin 0 -> 5430 bytes bulletin-board-server-frontend/src/index.html | 14 + bulletin-board-server-frontend/src/main.ts | 11 + .../src/polyfills.ts | 72 + .../src/proto/DKG.proto | 1 + .../proto/ballot_question_ui_element.proto | 1 + .../src/proto/bulletin_board_api.proto | 1 + .../src/proto/bulletin_board_webapp.proto | 1 + .../src/proto/comm.proto | 1 + .../src/proto/concrete_crypto.proto | 1 + .../src/proto/crypto.proto | 1 + .../src/proto/mixing.proto | 1 + .../src/proto/polling_station.proto | 1 + .../src/proto/voting.proto | 1 + bulletin-board-server-frontend/src/styles.css | 1 + bulletin-board-server-frontend/src/test.ts | 32 + .../src/tsconfig.app.json | 13 + .../src/tsconfig.spec.json | 20 + .../src/typings.d.ts | 5 + bulletin-board-server-frontend/tsconfig.json | 20 + bulletin-board-server-frontend/tslint.json | 135 + .../webapp/BulletinBoardWebApp.java | 6 +- 44 files changed, 26066 insertions(+), 2 deletions(-) create mode 100644 bulletin-board-server-frontend/.angular-cli.json create mode 100644 bulletin-board-server-frontend/.editorconfig create mode 100644 bulletin-board-server-frontend/.gitignore create mode 100644 bulletin-board-server-frontend/README.md create mode 100644 bulletin-board-server-frontend/e2e/app.e2e-spec.ts create mode 100644 bulletin-board-server-frontend/e2e/app.po.ts create mode 100644 bulletin-board-server-frontend/e2e/tsconfig.e2e.json create mode 100644 bulletin-board-server-frontend/karma.conf.js create mode 100644 bulletin-board-server-frontend/package.json create mode 100644 bulletin-board-server-frontend/protractor.conf.js create mode 100644 bulletin-board-server-frontend/src/app/app.component.css create mode 100644 bulletin-board-server-frontend/src/app/app.component.html create mode 100644 bulletin-board-server-frontend/src/app/app.component.spec.ts create mode 100644 bulletin-board-server-frontend/src/app/app.component.ts create mode 100644 bulletin-board-server-frontend/src/app/app.module.ts create mode 100644 bulletin-board-server-frontend/src/app/bb.service.ts create mode 100644 bulletin-board-server-frontend/src/app/bundle.d.ts create mode 100644 bulletin-board-server-frontend/src/app/bundle.js create mode 100644 bulletin-board-server-frontend/src/assets/.gitkeep create mode 100644 bulletin-board-server-frontend/src/environments/environment.prod.ts create mode 100644 bulletin-board-server-frontend/src/environments/environment.ts create mode 100644 bulletin-board-server-frontend/src/favicon.ico create mode 100644 bulletin-board-server-frontend/src/index.html create mode 100644 bulletin-board-server-frontend/src/main.ts create mode 100644 bulletin-board-server-frontend/src/polyfills.ts create mode 120000 bulletin-board-server-frontend/src/proto/DKG.proto create mode 120000 bulletin-board-server-frontend/src/proto/ballot_question_ui_element.proto create mode 120000 bulletin-board-server-frontend/src/proto/bulletin_board_api.proto create mode 120000 bulletin-board-server-frontend/src/proto/bulletin_board_webapp.proto create mode 120000 bulletin-board-server-frontend/src/proto/comm.proto create mode 120000 bulletin-board-server-frontend/src/proto/concrete_crypto.proto create mode 120000 bulletin-board-server-frontend/src/proto/crypto.proto create mode 120000 bulletin-board-server-frontend/src/proto/mixing.proto create mode 120000 bulletin-board-server-frontend/src/proto/polling_station.proto create mode 120000 bulletin-board-server-frontend/src/proto/voting.proto create mode 100644 bulletin-board-server-frontend/src/styles.css create mode 100644 bulletin-board-server-frontend/src/test.ts create mode 100644 bulletin-board-server-frontend/src/tsconfig.app.json create mode 100644 bulletin-board-server-frontend/src/tsconfig.spec.json create mode 100644 bulletin-board-server-frontend/src/typings.d.ts create mode 100644 bulletin-board-server-frontend/tsconfig.json create mode 100644 bulletin-board-server-frontend/tslint.json diff --git a/.gitignore b/.gitignore index ad9846b..483d4e0 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,18 @@ out /meerkat_election_params_tempfile.dat /meerkat_booth_system_messages.dat local.properties +# Angular junk +*/tmp +*/dist +*/out-tsc +*/node_modules +*/e2e/*.js +*/e2e/*.map +*/.sass-cache +*/connect.lock +*/coverage +*/libpeerconnection.log +npm-debug.log +testem.log +*/typings + diff --git a/bulletin-board-server-frontend/.angular-cli.json b/bulletin-board-server-frontend/.angular-cli.json new file mode 100644 index 0000000..23ffead --- /dev/null +++ b/bulletin-board-server-frontend/.angular-cli.json @@ -0,0 +1,57 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "project": { + "name": "bulletin-board-server-frontend" + }, + "apps": [ + { + "root": "src", + "outDir": "dist", + "assets": [ + "assets", + "favicon.ico" + ], + "index": "index.html", + "main": "main.ts", + "polyfills": "polyfills.ts", + "test": "test.ts", + "tsconfig": "tsconfig.app.json", + "testTsconfig": "tsconfig.spec.json", + "prefix": "app", + "styles": [ + "styles.css" + ], + "scripts": [], + "environmentSource": "environments/environment.ts", + "environments": { + "dev": "environments/environment.ts", + "prod": "environments/environment.prod.ts" + } + } + ], + "e2e": { + "protractor": { + "config": "./protractor.conf.js" + } + }, + "lint": [ + { + "project": "src/tsconfig.app.json" + }, + { + "project": "src/tsconfig.spec.json" + }, + { + "project": "e2e/tsconfig.e2e.json" + } + ], + "test": { + "karma": { + "config": "./karma.conf.js" + } + }, + "defaults": { + "styleExt": "css", + "component": {} + } +} diff --git a/bulletin-board-server-frontend/.editorconfig b/bulletin-board-server-frontend/.editorconfig new file mode 100644 index 0000000..6e87a00 --- /dev/null +++ b/bulletin-board-server-frontend/.editorconfig @@ -0,0 +1,13 @@ +# Editor configuration, see http://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/bulletin-board-server-frontend/.gitignore b/bulletin-board-server-frontend/.gitignore new file mode 100644 index 0000000..54bfd20 --- /dev/null +++ b/bulletin-board-server-frontend/.gitignore @@ -0,0 +1,42 @@ +# See http://help.github.com/ignore-files/ for more about ignoring files. + +# compiled output +/dist +/tmp +/out-tsc + +# dependencies +/node_modules + +# IDEs and editors +/.idea +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# IDE - VSCode +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json + +# misc +/.sass-cache +/connect.lock +/coverage +/libpeerconnection.log +npm-debug.log +testem.log +/typings + +# e2e +/e2e/*.js +/e2e/*.map + +# System Files +.DS_Store +Thumbs.db diff --git a/bulletin-board-server-frontend/README.md b/bulletin-board-server-frontend/README.md new file mode 100644 index 0000000..280da2e --- /dev/null +++ b/bulletin-board-server-frontend/README.md @@ -0,0 +1,28 @@ +# BulletinBoardServerFrontend + +This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 1.2.0. + +## Development server + +Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files. + +## Code scaffolding + +Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|module`. + +## Build + +Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `-prod` flag for a production build. + +## Running unit tests + +Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). + +## Running end-to-end tests + +Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/). +Before running the tests make sure you are serving the app via `ng serve`. + +## Further help + +To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md). diff --git a/bulletin-board-server-frontend/e2e/app.e2e-spec.ts b/bulletin-board-server-frontend/e2e/app.e2e-spec.ts new file mode 100644 index 0000000..d53b473 --- /dev/null +++ b/bulletin-board-server-frontend/e2e/app.e2e-spec.ts @@ -0,0 +1,14 @@ +import { BulletinBoardServerFrontendPage } from './app.po'; + +describe('bulletin-board-server-frontend App', () => { + let page: BulletinBoardServerFrontendPage; + + beforeEach(() => { + page = new BulletinBoardServerFrontendPage(); + }); + + it('should display welcome message', () => { + page.navigateTo(); + expect(page.getParagraphText()).toEqual('Welcome to app!!'); + }); +}); diff --git a/bulletin-board-server-frontend/e2e/app.po.ts b/bulletin-board-server-frontend/e2e/app.po.ts new file mode 100644 index 0000000..df1e7ee --- /dev/null +++ b/bulletin-board-server-frontend/e2e/app.po.ts @@ -0,0 +1,11 @@ +import { browser, by, element } from 'protractor'; + +export class BulletinBoardServerFrontendPage { + navigateTo() { + return browser.get('/'); + } + + getParagraphText() { + return element(by.css('app-root h1')).getText(); + } +} diff --git a/bulletin-board-server-frontend/e2e/tsconfig.e2e.json b/bulletin-board-server-frontend/e2e/tsconfig.e2e.json new file mode 100644 index 0000000..39b800f --- /dev/null +++ b/bulletin-board-server-frontend/e2e/tsconfig.e2e.json @@ -0,0 +1,13 @@ +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "outDir": "../out-tsc/e2e", + "module": "commonjs", + "target": "es5", + "types": [ + "jasmine", + "jasminewd2", + "node" + ] + } +} diff --git a/bulletin-board-server-frontend/karma.conf.js b/bulletin-board-server-frontend/karma.conf.js new file mode 100644 index 0000000..4d9ab9d --- /dev/null +++ b/bulletin-board-server-frontend/karma.conf.js @@ -0,0 +1,33 @@ +// Karma configuration file, see link for more information +// https://karma-runner.github.io/0.13/config/configuration-file.html + +module.exports = function (config) { + config.set({ + basePath: '', + frameworks: ['jasmine', '@angular/cli'], + plugins: [ + require('karma-jasmine'), + require('karma-chrome-launcher'), + require('karma-jasmine-html-reporter'), + require('karma-coverage-istanbul-reporter'), + require('@angular/cli/plugins/karma') + ], + client:{ + clearContext: false // leave Jasmine Spec Runner output visible in browser + }, + coverageIstanbulReporter: { + reports: [ 'html', 'lcovonly' ], + fixWebpackSourcePaths: true + }, + angularCli: { + environment: 'dev' + }, + reporters: ['progress', 'kjhtml'], + port: 9876, + colors: true, + logLevel: config.LOG_INFO, + autoWatch: true, + browsers: ['Chrome'], + singleRun: false + }); +}; diff --git a/bulletin-board-server-frontend/package.json b/bulletin-board-server-frontend/package.json new file mode 100644 index 0000000..eff5461 --- /dev/null +++ b/bulletin-board-server-frontend/package.json @@ -0,0 +1,51 @@ +{ + "name": "bulletin-board-server-frontend", + "version": "0.0.0", + "license": "MIT", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "test": "ng test", + "lint": "ng lint", + "e2e": "ng e2e" + }, + "private": true, + "dependencies": { + "@angular/animations": "^4.0.0", + "@angular/common": "^4.0.0", + "@angular/compiler": "^4.0.0", + "@angular/core": "^4.0.0", + "@angular/forms": "^4.0.0", + "@angular/http": "^4.0.0", + "@angular/platform-browser": "^4.0.0", + "@angular/platform-browser-dynamic": "^4.0.0", + "@angular/router": "^4.0.0", + "@types/long": "^3.0.31", + "core-js": "^2.4.1", + "protobuf.js": "^6.8.0", + "rxjs": "^5.1.0", + "zone.js": "^0.8.4" + }, + "devDependencies": { + "@angular/cli": "1.2.0", + "@angular/compiler-cli": "^4.0.0", + "@angular/language-service": "^4.0.0", + "@types/jasmine": "~2.5.53", + "@types/jasminewd2": "~2.0.2", + "@types/node": "~6.0.60", + "codelyzer": "~3.0.1", + "jasmine-core": "~2.6.2", + "jasmine-spec-reporter": "~4.1.0", + "karma": "~1.7.0", + "karma-chrome-launcher": "~2.1.1", + "karma-cli": "~1.0.1", + "karma-coverage-istanbul-reporter": "^1.2.1", + "karma-jasmine": "~1.1.0", + "karma-jasmine-html-reporter": "^0.2.2", + "protractor": "~5.1.2", + "ts-node": "~3.0.4", + "tslint": "~5.3.2", + "typescript": "~2.3.3" + } +} diff --git a/bulletin-board-server-frontend/protractor.conf.js b/bulletin-board-server-frontend/protractor.conf.js new file mode 100644 index 0000000..7ee3b5e --- /dev/null +++ b/bulletin-board-server-frontend/protractor.conf.js @@ -0,0 +1,28 @@ +// Protractor configuration file, see link for more information +// https://github.com/angular/protractor/blob/master/lib/config.ts + +const { SpecReporter } = require('jasmine-spec-reporter'); + +exports.config = { + allScriptsTimeout: 11000, + specs: [ + './e2e/**/*.e2e-spec.ts' + ], + capabilities: { + 'browserName': 'chrome' + }, + directConnect: true, + baseUrl: 'http://localhost:4200/', + framework: 'jasmine', + jasmineNodeOpts: { + showColors: true, + defaultTimeoutInterval: 30000, + print: function() {} + }, + onPrepare() { + require('ts-node').register({ + project: 'e2e/tsconfig.e2e.json' + }); + jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } })); + } +}; diff --git a/bulletin-board-server-frontend/src/app/app.component.css b/bulletin-board-server-frontend/src/app/app.component.css new file mode 100644 index 0000000..e69de29 diff --git a/bulletin-board-server-frontend/src/app/app.component.html b/bulletin-board-server-frontend/src/app/app.component.html new file mode 100644 index 0000000..801abde --- /dev/null +++ b/bulletin-board-server-frontend/src/app/app.component.html @@ -0,0 +1,12 @@ + +
+

+ Welcome to {{title}}!! +

+ +

Current status: {{status}}

+ +
+ {{errorMessage}} +
+ diff --git a/bulletin-board-server-frontend/src/app/app.component.spec.ts b/bulletin-board-server-frontend/src/app/app.component.spec.ts new file mode 100644 index 0000000..7d2799c --- /dev/null +++ b/bulletin-board-server-frontend/src/app/app.component.spec.ts @@ -0,0 +1,32 @@ +import { TestBed, async } from '@angular/core/testing'; + +import { AppComponent } from './app.component'; + +describe('AppComponent', () => { + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ + AppComponent + ], + }).compileComponents(); + })); + + it('should create the app', async(() => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.debugElement.componentInstance; + expect(app).toBeTruthy(); + })); + + it(`should have as title 'app'`, async(() => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.debugElement.componentInstance; + expect(app.title).toEqual('app'); + })); + + it('should render title in a h1 tag', async(() => { + const fixture = TestBed.createComponent(AppComponent); + fixture.detectChanges(); + const compiled = fixture.debugElement.nativeElement; + expect(compiled.querySelector('h1').textContent).toContain('Welcome to app!!'); + })); +}); diff --git a/bulletin-board-server-frontend/src/app/app.component.ts b/bulletin-board-server-frontend/src/app/app.component.ts new file mode 100644 index 0000000..adff3f3 --- /dev/null +++ b/bulletin-board-server-frontend/src/app/app.component.ts @@ -0,0 +1,30 @@ +import {Component, OnInit} from '@angular/core'; +import {BBService} from "./bb.service"; // respectively "./node_modules/protobufjs" + + +@Component({ + selector: 'app-root', + templateUrl: './app.component.html', + styleUrls: ['./app.component.css'], + providers: [BBService] +}) + +export class AppComponent implements OnInit { + + title = 'Bulletin-Board Server'; + status = 'Not connected'; + errorMessage = ''; + + constructor(private bbservice : BBService) { } + + + ngOnInit(): void { + this.bbservice.getStatus().subscribe( + status => this.status = status.name, + error => this.errorMessage = error + ); + } + +} + + diff --git a/bulletin-board-server-frontend/src/app/app.module.ts b/bulletin-board-server-frontend/src/app/app.module.ts new file mode 100644 index 0000000..b15df26 --- /dev/null +++ b/bulletin-board-server-frontend/src/app/app.module.ts @@ -0,0 +1,20 @@ +import { BrowserModule } from '@angular/platform-browser'; +import { NgModule } from '@angular/core'; +import { HttpModule } from '@angular/http'; + +import { AppComponent } from './app.component'; +import {BBService} from "./bb.service"; + + +@NgModule({ + declarations: [ + AppComponent, + ], + imports: [ + BrowserModule, + HttpModule, + ], + providers: [], + bootstrap: [AppComponent] +}) +export class AppModule { } diff --git a/bulletin-board-server-frontend/src/app/bb.service.ts b/bulletin-board-server-frontend/src/app/bb.service.ts new file mode 100644 index 0000000..9e678f0 --- /dev/null +++ b/bulletin-board-server-frontend/src/app/bb.service.ts @@ -0,0 +1,37 @@ +import { Component } from '@angular/core'; + +import { Injectable } from '@angular/core'; +import {Headers, Http, RequestOptions, ResponseContentType} from '@angular/http'; + +import { meerkat } from "./bundle.js"; +import {Observable} from "rxjs/Observable"; +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/map'; + + @Injectable() + export class BBService { + private headers = new Headers({'Content-Type': 'application/x-protobuf'}); + private bbUrl = 'http://localhost:8081/bbserver'; // URL to web api + private statusPath = '/status'; + + constructor(private http: Http) { } + + getStatus(): Observable { + let options = new RequestOptions({ + responseType: ResponseContentType.ArrayBuffer + }); + + let res = this.http.get(this.bbUrl + this.statusPath, options); + + return res + .catch(this.handleError) + .map(x => { + return meerkat.ServerStatus.decode(new Uint8Array(x.arrayBuffer())); + }); + } + + private handleError(error: any): Promise { + console.error('An error occurred', error); // for demo purposes only + return Promise.reject(error.message || error); + } + } diff --git a/bulletin-board-server-frontend/src/app/bundle.d.ts b/bulletin-board-server-frontend/src/app/bundle.d.ts new file mode 100644 index 0000000..1b8f4fa --- /dev/null +++ b/bulletin-board-server-frontend/src/app/bundle.d.ts @@ -0,0 +1,7527 @@ +import * as $protobuf from "protobufjs"; +import '@types/long'; + +/** Namespace meerkat. */ +export namespace meerkat { + + /** Properties of a UIAnswer. */ + interface IUIAnswer { + + /** UIAnswer answer */ + answer?: Uint8Array; + + /** UIAnswer description */ + description?: string; + } + + /** Represents a UIAnswer. */ + class UIAnswer { + + /** + * Constructs a new UIAnswer. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IUIAnswer); + + /** UIAnswer answer. */ + public answer: Uint8Array; + + /** UIAnswer description. */ + public description: string; + + /** + * Creates a new UIAnswer instance using the specified properties. + * @param [properties] Properties to set + * @returns UIAnswer instance + */ + public static create(properties?: meerkat.IUIAnswer): meerkat.UIAnswer; + + /** + * Encodes the specified UIAnswer message. Does not implicitly {@link meerkat.UIAnswer.verify|verify} messages. + * @param message UIAnswer message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IUIAnswer, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified UIAnswer message, length delimited. Does not implicitly {@link meerkat.UIAnswer.verify|verify} messages. + * @param message UIAnswer message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IUIAnswer, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a UIAnswer message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns UIAnswer + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.UIAnswer; + + /** + * Decodes a UIAnswer message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns UIAnswer + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.UIAnswer; + + /** + * Verifies a UIAnswer message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a UIAnswer message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns UIAnswer + */ + public static fromObject(object: { [k: string]: any }): meerkat.UIAnswer; + + /** + * Creates a plain object from a UIAnswer message. Also converts values to other types if specified. + * @param message UIAnswer + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.UIAnswer, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this UIAnswer to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ListOfAnswers. */ + interface IListOfAnswers { + + /** ListOfAnswers answers */ + answers?: meerkat.IUIAnswer[]; + } + + /** Represents a ListOfAnswers. */ + class ListOfAnswers { + + /** + * Constructs a new ListOfAnswers. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IListOfAnswers); + + /** ListOfAnswers answers. */ + public answers: meerkat.IUIAnswer[]; + + /** + * Creates a new ListOfAnswers instance using the specified properties. + * @param [properties] Properties to set + * @returns ListOfAnswers instance + */ + public static create(properties?: meerkat.IListOfAnswers): meerkat.ListOfAnswers; + + /** + * Encodes the specified ListOfAnswers message. Does not implicitly {@link meerkat.ListOfAnswers.verify|verify} messages. + * @param message ListOfAnswers message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IListOfAnswers, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListOfAnswers message, length delimited. Does not implicitly {@link meerkat.ListOfAnswers.verify|verify} messages. + * @param message ListOfAnswers message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IListOfAnswers, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListOfAnswers message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListOfAnswers + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.ListOfAnswers; + + /** + * Decodes a ListOfAnswers message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListOfAnswers + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.ListOfAnswers; + + /** + * Verifies a ListOfAnswers message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListOfAnswers message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListOfAnswers + */ + public static fromObject(object: { [k: string]: any }): meerkat.ListOfAnswers; + + /** + * Creates a plain object from a ListOfAnswers message. Also converts values to other types if specified. + * @param message ListOfAnswers + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.ListOfAnswers, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListOfAnswers to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a UIAnswers. */ + interface IUIAnswers { + + /** UIAnswers AnswersType */ + AnswersType?: number; + + /** UIAnswers answers */ + answers?: meerkat.IListOfAnswers; + } + + /** Represents a UIAnswers. */ + class UIAnswers { + + /** + * Constructs a new UIAnswers. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IUIAnswers); + + /** UIAnswers AnswersType. */ + public AnswersType: number; + + /** UIAnswers answers. */ + public answers?: (meerkat.IListOfAnswers|null); + + /** + * Creates a new UIAnswers instance using the specified properties. + * @param [properties] Properties to set + * @returns UIAnswers instance + */ + public static create(properties?: meerkat.IUIAnswers): meerkat.UIAnswers; + + /** + * Encodes the specified UIAnswers message. Does not implicitly {@link meerkat.UIAnswers.verify|verify} messages. + * @param message UIAnswers message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IUIAnswers, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified UIAnswers message, length delimited. Does not implicitly {@link meerkat.UIAnswers.verify|verify} messages. + * @param message UIAnswers message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IUIAnswers, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a UIAnswers message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns UIAnswers + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.UIAnswers; + + /** + * Decodes a UIAnswers message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns UIAnswers + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.UIAnswers; + + /** + * Verifies a UIAnswers message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a UIAnswers message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns UIAnswers + */ + public static fromObject(object: { [k: string]: any }): meerkat.UIAnswers; + + /** + * Creates a plain object from a UIAnswers message. Also converts values to other types if specified. + * @param message UIAnswers + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.UIAnswers, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this UIAnswers to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Question. */ + interface IQuestion { + + /** Question question */ + question?: Uint8Array; + } + + /** Represents a Question. */ + class Question { + + /** + * Constructs a new Question. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IQuestion); + + /** Question question. */ + public question: Uint8Array; + + /** + * Creates a new Question instance using the specified properties. + * @param [properties] Properties to set + * @returns Question instance + */ + public static create(properties?: meerkat.IQuestion): meerkat.Question; + + /** + * Encodes the specified Question message. Does not implicitly {@link meerkat.Question.verify|verify} messages. + * @param message Question message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IQuestion, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Question message, length delimited. Does not implicitly {@link meerkat.Question.verify|verify} messages. + * @param message Question message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IQuestion, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Question message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Question + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.Question; + + /** + * Decodes a Question message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Question + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.Question; + + /** + * Verifies a Question message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Question message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Question + */ + public static fromObject(object: { [k: string]: any }): meerkat.Question; + + /** + * Creates a plain object from a Question message. Also converts values to other types if specified. + * @param message Question + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.Question, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Question to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a UIQuestion. */ + interface IUIQuestion { + + /** UIQuestion QuestionType */ + QuestionType?: number; + + /** UIQuestion question */ + question?: meerkat.IQuestion; + } + + /** Represents a UIQuestion. */ + class UIQuestion { + + /** + * Constructs a new UIQuestion. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IUIQuestion); + + /** UIQuestion QuestionType. */ + public QuestionType: number; + + /** UIQuestion question. */ + public question?: (meerkat.IQuestion|null); + + /** + * Creates a new UIQuestion instance using the specified properties. + * @param [properties] Properties to set + * @returns UIQuestion instance + */ + public static create(properties?: meerkat.IUIQuestion): meerkat.UIQuestion; + + /** + * Encodes the specified UIQuestion message. Does not implicitly {@link meerkat.UIQuestion.verify|verify} messages. + * @param message UIQuestion message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IUIQuestion, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified UIQuestion message, length delimited. Does not implicitly {@link meerkat.UIQuestion.verify|verify} messages. + * @param message UIQuestion message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IUIQuestion, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a UIQuestion message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns UIQuestion + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.UIQuestion; + + /** + * Decodes a UIQuestion message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns UIQuestion + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.UIQuestion; + + /** + * Verifies a UIQuestion message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a UIQuestion message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns UIQuestion + */ + public static fromObject(object: { [k: string]: any }): meerkat.UIQuestion; + + /** + * Creates a plain object from a UIQuestion message. Also converts values to other types if specified. + * @param message UIQuestion + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.UIQuestion, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this UIQuestion to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BallotQuestionUIElement. */ + interface IBallotQuestionUIElement { + + /** BallotQuestionUIElement answers */ + answers?: meerkat.IUIAnswers; + + /** BallotQuestionUIElement RandomizeListOrder */ + RandomizeListOrder?: boolean; + + /** BallotQuestionUIElement question */ + question?: meerkat.IUIQuestion; + } + + /** Represents a BallotQuestionUIElement. */ + class BallotQuestionUIElement { + + /** + * Constructs a new BallotQuestionUIElement. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IBallotQuestionUIElement); + + /** BallotQuestionUIElement answers. */ + public answers?: (meerkat.IUIAnswers|null); + + /** BallotQuestionUIElement RandomizeListOrder. */ + public RandomizeListOrder: boolean; + + /** BallotQuestionUIElement question. */ + public question?: (meerkat.IUIQuestion|null); + + /** + * Creates a new BallotQuestionUIElement instance using the specified properties. + * @param [properties] Properties to set + * @returns BallotQuestionUIElement instance + */ + public static create(properties?: meerkat.IBallotQuestionUIElement): meerkat.BallotQuestionUIElement; + + /** + * Encodes the specified BallotQuestionUIElement message. Does not implicitly {@link meerkat.BallotQuestionUIElement.verify|verify} messages. + * @param message BallotQuestionUIElement message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IBallotQuestionUIElement, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BallotQuestionUIElement message, length delimited. Does not implicitly {@link meerkat.BallotQuestionUIElement.verify|verify} messages. + * @param message BallotQuestionUIElement message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IBallotQuestionUIElement, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BallotQuestionUIElement message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BallotQuestionUIElement + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.BallotQuestionUIElement; + + /** + * Decodes a BallotQuestionUIElement message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BallotQuestionUIElement + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.BallotQuestionUIElement; + + /** + * Verifies a BallotQuestionUIElement message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BallotQuestionUIElement message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BallotQuestionUIElement + */ + public static fromObject(object: { [k: string]: any }): meerkat.BallotQuestionUIElement; + + /** + * Creates a plain object from a BallotQuestionUIElement message. Also converts values to other types if specified. + * @param message BallotQuestionUIElement + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.BallotQuestionUIElement, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BallotQuestionUIElement to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BallotQuestionsUIElements. */ + interface IBallotQuestionsUIElements { + + /** BallotQuestionsUIElements questions */ + questions?: meerkat.IBallotQuestionUIElement[]; + } + + /** Represents a BallotQuestionsUIElements. */ + class BallotQuestionsUIElements { + + /** + * Constructs a new BallotQuestionsUIElements. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IBallotQuestionsUIElements); + + /** BallotQuestionsUIElements questions. */ + public questions: meerkat.IBallotQuestionUIElement[]; + + /** + * Creates a new BallotQuestionsUIElements instance using the specified properties. + * @param [properties] Properties to set + * @returns BallotQuestionsUIElements instance + */ + public static create(properties?: meerkat.IBallotQuestionsUIElements): meerkat.BallotQuestionsUIElements; + + /** + * Encodes the specified BallotQuestionsUIElements message. Does not implicitly {@link meerkat.BallotQuestionsUIElements.verify|verify} messages. + * @param message BallotQuestionsUIElements message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IBallotQuestionsUIElements, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BallotQuestionsUIElements message, length delimited. Does not implicitly {@link meerkat.BallotQuestionsUIElements.verify|verify} messages. + * @param message BallotQuestionsUIElements message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IBallotQuestionsUIElements, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BallotQuestionsUIElements message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BallotQuestionsUIElements + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.BallotQuestionsUIElements; + + /** + * Decodes a BallotQuestionsUIElements message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BallotQuestionsUIElements + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.BallotQuestionsUIElements; + + /** + * Verifies a BallotQuestionsUIElements message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BallotQuestionsUIElements message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BallotQuestionsUIElements + */ + public static fromObject(object: { [k: string]: any }): meerkat.BallotQuestionsUIElements; + + /** + * Creates a plain object from a BallotQuestionsUIElements message. Also converts values to other types if specified. + * @param message BallotQuestionsUIElements + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.BallotQuestionsUIElements, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BallotQuestionsUIElements to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** ValueType enum. */ + enum ValueType { + TEXT_TYPE = 0, + AUDIO_TYPE = 1, + IMAGE_TYPE = 2 + } + + /** Properties of a BoolMsg. */ + interface IBoolMsg { + + /** BoolMsg value */ + value?: boolean; + } + + /** Represents a BoolMsg. */ + class BoolMsg { + + /** + * Constructs a new BoolMsg. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IBoolMsg); + + /** BoolMsg value. */ + public value: boolean; + + /** + * Creates a new BoolMsg instance using the specified properties. + * @param [properties] Properties to set + * @returns BoolMsg instance + */ + public static create(properties?: meerkat.IBoolMsg): meerkat.BoolMsg; + + /** + * Encodes the specified BoolMsg message. Does not implicitly {@link meerkat.BoolMsg.verify|verify} messages. + * @param message BoolMsg message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IBoolMsg, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BoolMsg message, length delimited. Does not implicitly {@link meerkat.BoolMsg.verify|verify} messages. + * @param message BoolMsg message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IBoolMsg, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BoolMsg message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BoolMsg + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.BoolMsg; + + /** + * Decodes a BoolMsg message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BoolMsg + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.BoolMsg; + + /** + * Verifies a BoolMsg message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BoolMsg message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BoolMsg + */ + public static fromObject(object: { [k: string]: any }): meerkat.BoolMsg; + + /** + * Creates a plain object from a BoolMsg message. Also converts values to other types if specified. + * @param message BoolMsg + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.BoolMsg, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BoolMsg to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an IntMsg. */ + interface IIntMsg { + + /** IntMsg value */ + value?: number; + } + + /** Represents an IntMsg. */ + class IntMsg { + + /** + * Constructs a new IntMsg. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IIntMsg); + + /** IntMsg value. */ + public value: number; + + /** + * Creates a new IntMsg instance using the specified properties. + * @param [properties] Properties to set + * @returns IntMsg instance + */ + public static create(properties?: meerkat.IIntMsg): meerkat.IntMsg; + + /** + * Encodes the specified IntMsg message. Does not implicitly {@link meerkat.IntMsg.verify|verify} messages. + * @param message IntMsg message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IIntMsg, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified IntMsg message, length delimited. Does not implicitly {@link meerkat.IntMsg.verify|verify} messages. + * @param message IntMsg message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IIntMsg, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an IntMsg message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns IntMsg + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.IntMsg; + + /** + * Decodes an IntMsg message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns IntMsg + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.IntMsg; + + /** + * Verifies an IntMsg message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an IntMsg message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns IntMsg + */ + public static fromObject(object: { [k: string]: any }): meerkat.IntMsg; + + /** + * Creates a plain object from an IntMsg message. Also converts values to other types if specified. + * @param message IntMsg + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.IntMsg, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this IntMsg to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a MessageID. */ + interface IMessageID { + + /** MessageID ID */ + ID?: Uint8Array; + } + + /** Represents a MessageID. */ + class MessageID { + + /** + * Constructs a new MessageID. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IMessageID); + + /** MessageID ID. */ + public ID: Uint8Array; + + /** + * Creates a new MessageID instance using the specified properties. + * @param [properties] Properties to set + * @returns MessageID instance + */ + public static create(properties?: meerkat.IMessageID): meerkat.MessageID; + + /** + * Encodes the specified MessageID message. Does not implicitly {@link meerkat.MessageID.verify|verify} messages. + * @param message MessageID message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IMessageID, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified MessageID message, length delimited. Does not implicitly {@link meerkat.MessageID.verify|verify} messages. + * @param message MessageID message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IMessageID, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a MessageID message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns MessageID + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.MessageID; + + /** + * Decodes a MessageID message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns MessageID + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.MessageID; + + /** + * Verifies a MessageID message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a MessageID message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns MessageID + */ + public static fromObject(object: { [k: string]: any }): meerkat.MessageID; + + /** + * Creates a plain object from a MessageID message. Also converts values to other types if specified. + * @param message MessageID + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.MessageID, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this MessageID to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an UnsignedBulletinBoardMessage. */ + interface IUnsignedBulletinBoardMessage { + + /** UnsignedBulletinBoardMessage tag */ + tag?: string[]; + + /** UnsignedBulletinBoardMessage timestamp */ + timestamp?: google.protobuf.ITimestamp; + + /** UnsignedBulletinBoardMessage msgId */ + msgId?: Uint8Array; + + /** UnsignedBulletinBoardMessage data */ + data?: Uint8Array; + } + + /** Represents an UnsignedBulletinBoardMessage. */ + class UnsignedBulletinBoardMessage { + + /** + * Constructs a new UnsignedBulletinBoardMessage. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IUnsignedBulletinBoardMessage); + + /** UnsignedBulletinBoardMessage tag. */ + public tag: string[]; + + /** UnsignedBulletinBoardMessage timestamp. */ + public timestamp?: (google.protobuf.ITimestamp|null); + + /** UnsignedBulletinBoardMessage msgId. */ + public msgId: Uint8Array; + + /** UnsignedBulletinBoardMessage data. */ + public data: Uint8Array; + + /** UnsignedBulletinBoardMessage dataType. */ + public dataType?: string; + + /** + * Creates a new UnsignedBulletinBoardMessage instance using the specified properties. + * @param [properties] Properties to set + * @returns UnsignedBulletinBoardMessage instance + */ + public static create(properties?: meerkat.IUnsignedBulletinBoardMessage): meerkat.UnsignedBulletinBoardMessage; + + /** + * Encodes the specified UnsignedBulletinBoardMessage message. Does not implicitly {@link meerkat.UnsignedBulletinBoardMessage.verify|verify} messages. + * @param message UnsignedBulletinBoardMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IUnsignedBulletinBoardMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified UnsignedBulletinBoardMessage message, length delimited. Does not implicitly {@link meerkat.UnsignedBulletinBoardMessage.verify|verify} messages. + * @param message UnsignedBulletinBoardMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IUnsignedBulletinBoardMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an UnsignedBulletinBoardMessage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns UnsignedBulletinBoardMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.UnsignedBulletinBoardMessage; + + /** + * Decodes an UnsignedBulletinBoardMessage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns UnsignedBulletinBoardMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.UnsignedBulletinBoardMessage; + + /** + * Verifies an UnsignedBulletinBoardMessage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an UnsignedBulletinBoardMessage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns UnsignedBulletinBoardMessage + */ + public static fromObject(object: { [k: string]: any }): meerkat.UnsignedBulletinBoardMessage; + + /** + * Creates a plain object from an UnsignedBulletinBoardMessage message. Also converts values to other types if specified. + * @param message UnsignedBulletinBoardMessage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.UnsignedBulletinBoardMessage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this UnsignedBulletinBoardMessage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BulletinBoardMessage. */ + interface IBulletinBoardMessage { + + /** BulletinBoardMessage entryNum */ + entryNum?: (number|Long); + + /** BulletinBoardMessage msg */ + msg?: meerkat.IUnsignedBulletinBoardMessage; + + /** BulletinBoardMessage sig */ + sig?: meerkat.ISignature[]; + } + + /** Represents a BulletinBoardMessage. */ + class BulletinBoardMessage { + + /** + * Constructs a new BulletinBoardMessage. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IBulletinBoardMessage); + + /** BulletinBoardMessage entryNum. */ + public entryNum: (number|Long); + + /** BulletinBoardMessage msg. */ + public msg?: (meerkat.IUnsignedBulletinBoardMessage|null); + + /** BulletinBoardMessage sig. */ + public sig: meerkat.ISignature[]; + + /** + * Creates a new BulletinBoardMessage instance using the specified properties. + * @param [properties] Properties to set + * @returns BulletinBoardMessage instance + */ + public static create(properties?: meerkat.IBulletinBoardMessage): meerkat.BulletinBoardMessage; + + /** + * Encodes the specified BulletinBoardMessage message. Does not implicitly {@link meerkat.BulletinBoardMessage.verify|verify} messages. + * @param message BulletinBoardMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IBulletinBoardMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BulletinBoardMessage message, length delimited. Does not implicitly {@link meerkat.BulletinBoardMessage.verify|verify} messages. + * @param message BulletinBoardMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IBulletinBoardMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BulletinBoardMessage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BulletinBoardMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.BulletinBoardMessage; + + /** + * Decodes a BulletinBoardMessage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BulletinBoardMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.BulletinBoardMessage; + + /** + * Verifies a BulletinBoardMessage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BulletinBoardMessage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BulletinBoardMessage + */ + public static fromObject(object: { [k: string]: any }): meerkat.BulletinBoardMessage; + + /** + * Creates a plain object from a BulletinBoardMessage message. Also converts values to other types if specified. + * @param message BulletinBoardMessage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.BulletinBoardMessage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BulletinBoardMessage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BulletinBoardMessageList. */ + interface IBulletinBoardMessageList { + + /** BulletinBoardMessageList message */ + message?: meerkat.IBulletinBoardMessage[]; + } + + /** Represents a BulletinBoardMessageList. */ + class BulletinBoardMessageList { + + /** + * Constructs a new BulletinBoardMessageList. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IBulletinBoardMessageList); + + /** BulletinBoardMessageList message. */ + public message: meerkat.IBulletinBoardMessage[]; + + /** + * Creates a new BulletinBoardMessageList instance using the specified properties. + * @param [properties] Properties to set + * @returns BulletinBoardMessageList instance + */ + public static create(properties?: meerkat.IBulletinBoardMessageList): meerkat.BulletinBoardMessageList; + + /** + * Encodes the specified BulletinBoardMessageList message. Does not implicitly {@link meerkat.BulletinBoardMessageList.verify|verify} messages. + * @param message BulletinBoardMessageList message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IBulletinBoardMessageList, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BulletinBoardMessageList message, length delimited. Does not implicitly {@link meerkat.BulletinBoardMessageList.verify|verify} messages. + * @param message BulletinBoardMessageList message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IBulletinBoardMessageList, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BulletinBoardMessageList message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BulletinBoardMessageList + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.BulletinBoardMessageList; + + /** + * Decodes a BulletinBoardMessageList message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BulletinBoardMessageList + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.BulletinBoardMessageList; + + /** + * Verifies a BulletinBoardMessageList message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BulletinBoardMessageList message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BulletinBoardMessageList + */ + public static fromObject(object: { [k: string]: any }): meerkat.BulletinBoardMessageList; + + /** + * Creates a plain object from a BulletinBoardMessageList message. Also converts values to other types if specified. + * @param message BulletinBoardMessageList + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.BulletinBoardMessageList, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BulletinBoardMessageList to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** FilterType enum. */ + enum FilterType { + MSG_ID = 0, + EXACT_ENTRY = 1, + MAX_ENTRY = 2, + MIN_ENTRY = 3, + SIGNER_ID = 4, + TAG = 5, + AFTER_TIME = 6, + BEFORE_TIME = 7, + MAX_MESSAGES = 8 + } + + /** Properties of a MessageFilter. */ + interface IMessageFilter { + + /** MessageFilter type */ + type?: meerkat.FilterType; + + /** MessageFilter id */ + id?: Uint8Array; + + /** MessageFilter entry */ + entry?: (number|Long); + + /** MessageFilter tag */ + tag?: string; + + /** MessageFilter maxMessages */ + maxMessages?: (number|Long); + + /** MessageFilter timestamp */ + timestamp?: google.protobuf.ITimestamp; + } + + /** Represents a MessageFilter. */ + class MessageFilter { + + /** + * Constructs a new MessageFilter. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IMessageFilter); + + /** MessageFilter type. */ + public type: meerkat.FilterType; + + /** MessageFilter id. */ + public id: Uint8Array; + + /** MessageFilter entry. */ + public entry: (number|Long); + + /** MessageFilter tag. */ + public tag: string; + + /** MessageFilter maxMessages. */ + public maxMessages: (number|Long); + + /** MessageFilter timestamp. */ + public timestamp?: (google.protobuf.ITimestamp|null); + + /** MessageFilter filter. */ + public filter?: string; + + /** + * Creates a new MessageFilter instance using the specified properties. + * @param [properties] Properties to set + * @returns MessageFilter instance + */ + public static create(properties?: meerkat.IMessageFilter): meerkat.MessageFilter; + + /** + * Encodes the specified MessageFilter message. Does not implicitly {@link meerkat.MessageFilter.verify|verify} messages. + * @param message MessageFilter message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IMessageFilter, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified MessageFilter message, length delimited. Does not implicitly {@link meerkat.MessageFilter.verify|verify} messages. + * @param message MessageFilter message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IMessageFilter, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a MessageFilter message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns MessageFilter + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.MessageFilter; + + /** + * Decodes a MessageFilter message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns MessageFilter + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.MessageFilter; + + /** + * Verifies a MessageFilter message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a MessageFilter message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns MessageFilter + */ + public static fromObject(object: { [k: string]: any }): meerkat.MessageFilter; + + /** + * Creates a plain object from a MessageFilter message. Also converts values to other types if specified. + * @param message MessageFilter + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.MessageFilter, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this MessageFilter to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a MessageFilterList. */ + interface IMessageFilterList { + + /** MessageFilterList filter */ + filter?: meerkat.IMessageFilter[]; + } + + /** Represents a MessageFilterList. */ + class MessageFilterList { + + /** + * Constructs a new MessageFilterList. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IMessageFilterList); + + /** MessageFilterList filter. */ + public filter: meerkat.IMessageFilter[]; + + /** + * Creates a new MessageFilterList instance using the specified properties. + * @param [properties] Properties to set + * @returns MessageFilterList instance + */ + public static create(properties?: meerkat.IMessageFilterList): meerkat.MessageFilterList; + + /** + * Encodes the specified MessageFilterList message. Does not implicitly {@link meerkat.MessageFilterList.verify|verify} messages. + * @param message MessageFilterList message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IMessageFilterList, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified MessageFilterList message, length delimited. Does not implicitly {@link meerkat.MessageFilterList.verify|verify} messages. + * @param message MessageFilterList message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IMessageFilterList, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a MessageFilterList message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns MessageFilterList + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.MessageFilterList; + + /** + * Decodes a MessageFilterList message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns MessageFilterList + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.MessageFilterList; + + /** + * Verifies a MessageFilterList message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a MessageFilterList message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns MessageFilterList + */ + public static fromObject(object: { [k: string]: any }): meerkat.MessageFilterList; + + /** + * Creates a plain object from a MessageFilterList message. Also converts values to other types if specified. + * @param message MessageFilterList + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.MessageFilterList, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this MessageFilterList to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BeginBatchMessage. */ + interface IBeginBatchMessage { + + /** BeginBatchMessage tag */ + tag?: string[]; + } + + /** Represents a BeginBatchMessage. */ + class BeginBatchMessage { + + /** + * Constructs a new BeginBatchMessage. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IBeginBatchMessage); + + /** BeginBatchMessage tag. */ + public tag: string[]; + + /** + * Creates a new BeginBatchMessage instance using the specified properties. + * @param [properties] Properties to set + * @returns BeginBatchMessage instance + */ + public static create(properties?: meerkat.IBeginBatchMessage): meerkat.BeginBatchMessage; + + /** + * Encodes the specified BeginBatchMessage message. Does not implicitly {@link meerkat.BeginBatchMessage.verify|verify} messages. + * @param message BeginBatchMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IBeginBatchMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BeginBatchMessage message, length delimited. Does not implicitly {@link meerkat.BeginBatchMessage.verify|verify} messages. + * @param message BeginBatchMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IBeginBatchMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BeginBatchMessage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BeginBatchMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.BeginBatchMessage; + + /** + * Decodes a BeginBatchMessage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BeginBatchMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.BeginBatchMessage; + + /** + * Verifies a BeginBatchMessage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BeginBatchMessage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BeginBatchMessage + */ + public static fromObject(object: { [k: string]: any }): meerkat.BeginBatchMessage; + + /** + * Creates a plain object from a BeginBatchMessage message. Also converts values to other types if specified. + * @param message BeginBatchMessage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.BeginBatchMessage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BeginBatchMessage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a CloseBatchMessage. */ + interface ICloseBatchMessage { + + /** CloseBatchMessage batchId */ + batchId?: (number|Long); + + /** CloseBatchMessage batchLength */ + batchLength?: number; + + /** CloseBatchMessage timestamp */ + timestamp?: google.protobuf.ITimestamp; + + /** CloseBatchMessage sig */ + sig?: meerkat.ISignature[]; + } + + /** Represents a CloseBatchMessage. */ + class CloseBatchMessage { + + /** + * Constructs a new CloseBatchMessage. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.ICloseBatchMessage); + + /** CloseBatchMessage batchId. */ + public batchId: (number|Long); + + /** CloseBatchMessage batchLength. */ + public batchLength: number; + + /** CloseBatchMessage timestamp. */ + public timestamp?: (google.protobuf.ITimestamp|null); + + /** CloseBatchMessage sig. */ + public sig: meerkat.ISignature[]; + + /** + * Creates a new CloseBatchMessage instance using the specified properties. + * @param [properties] Properties to set + * @returns CloseBatchMessage instance + */ + public static create(properties?: meerkat.ICloseBatchMessage): meerkat.CloseBatchMessage; + + /** + * Encodes the specified CloseBatchMessage message. Does not implicitly {@link meerkat.CloseBatchMessage.verify|verify} messages. + * @param message CloseBatchMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.ICloseBatchMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CloseBatchMessage message, length delimited. Does not implicitly {@link meerkat.CloseBatchMessage.verify|verify} messages. + * @param message CloseBatchMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.ICloseBatchMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CloseBatchMessage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CloseBatchMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.CloseBatchMessage; + + /** + * Decodes a CloseBatchMessage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CloseBatchMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.CloseBatchMessage; + + /** + * Verifies a CloseBatchMessage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CloseBatchMessage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CloseBatchMessage + */ + public static fromObject(object: { [k: string]: any }): meerkat.CloseBatchMessage; + + /** + * Creates a plain object from a CloseBatchMessage message. Also converts values to other types if specified. + * @param message CloseBatchMessage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.CloseBatchMessage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CloseBatchMessage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BatchChunk. */ + interface IBatchChunk { + + /** BatchChunk data */ + data?: Uint8Array; + } + + /** Represents a BatchChunk. */ + class BatchChunk { + + /** + * Constructs a new BatchChunk. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IBatchChunk); + + /** BatchChunk data. */ + public data: Uint8Array; + + /** + * Creates a new BatchChunk instance using the specified properties. + * @param [properties] Properties to set + * @returns BatchChunk instance + */ + public static create(properties?: meerkat.IBatchChunk): meerkat.BatchChunk; + + /** + * Encodes the specified BatchChunk message. Does not implicitly {@link meerkat.BatchChunk.verify|verify} messages. + * @param message BatchChunk message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IBatchChunk, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BatchChunk message, length delimited. Does not implicitly {@link meerkat.BatchChunk.verify|verify} messages. + * @param message BatchChunk message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IBatchChunk, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BatchChunk message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BatchChunk + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.BatchChunk; + + /** + * Decodes a BatchChunk message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BatchChunk + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.BatchChunk; + + /** + * Verifies a BatchChunk message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BatchChunk message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BatchChunk + */ + public static fromObject(object: { [k: string]: any }): meerkat.BatchChunk; + + /** + * Creates a plain object from a BatchChunk message. Also converts values to other types if specified. + * @param message BatchChunk + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.BatchChunk, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BatchChunk to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BatchChunkList. */ + interface IBatchChunkList { + + /** BatchChunkList data */ + data?: meerkat.IBatchChunk[]; + } + + /** Represents a BatchChunkList. */ + class BatchChunkList { + + /** + * Constructs a new BatchChunkList. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IBatchChunkList); + + /** BatchChunkList data. */ + public data: meerkat.IBatchChunk[]; + + /** + * Creates a new BatchChunkList instance using the specified properties. + * @param [properties] Properties to set + * @returns BatchChunkList instance + */ + public static create(properties?: meerkat.IBatchChunkList): meerkat.BatchChunkList; + + /** + * Encodes the specified BatchChunkList message. Does not implicitly {@link meerkat.BatchChunkList.verify|verify} messages. + * @param message BatchChunkList message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IBatchChunkList, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BatchChunkList message, length delimited. Does not implicitly {@link meerkat.BatchChunkList.verify|verify} messages. + * @param message BatchChunkList message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IBatchChunkList, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BatchChunkList message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BatchChunkList + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.BatchChunkList; + + /** + * Decodes a BatchChunkList message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BatchChunkList + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.BatchChunkList; + + /** + * Verifies a BatchChunkList message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BatchChunkList message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BatchChunkList + */ + public static fromObject(object: { [k: string]: any }): meerkat.BatchChunkList; + + /** + * Creates a plain object from a BatchChunkList message. Also converts values to other types if specified. + * @param message BatchChunkList + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.BatchChunkList, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BatchChunkList to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BatchMessage. */ + interface IBatchMessage { + + /** BatchMessage batchId */ + batchId?: (number|Long); + + /** BatchMessage serialNum */ + serialNum?: number; + + /** BatchMessage data */ + data?: meerkat.IBatchChunk; + } + + /** Represents a BatchMessage. */ + class BatchMessage { + + /** + * Constructs a new BatchMessage. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IBatchMessage); + + /** BatchMessage batchId. */ + public batchId: (number|Long); + + /** BatchMessage serialNum. */ + public serialNum: number; + + /** BatchMessage data. */ + public data?: (meerkat.IBatchChunk|null); + + /** + * Creates a new BatchMessage instance using the specified properties. + * @param [properties] Properties to set + * @returns BatchMessage instance + */ + public static create(properties?: meerkat.IBatchMessage): meerkat.BatchMessage; + + /** + * Encodes the specified BatchMessage message. Does not implicitly {@link meerkat.BatchMessage.verify|verify} messages. + * @param message BatchMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IBatchMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BatchMessage message, length delimited. Does not implicitly {@link meerkat.BatchMessage.verify|verify} messages. + * @param message BatchMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IBatchMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BatchMessage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BatchMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.BatchMessage; + + /** + * Decodes a BatchMessage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BatchMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.BatchMessage; + + /** + * Verifies a BatchMessage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BatchMessage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BatchMessage + */ + public static fromObject(object: { [k: string]: any }): meerkat.BatchMessage; + + /** + * Creates a plain object from a BatchMessage message. Also converts values to other types if specified. + * @param message BatchMessage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.BatchMessage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BatchMessage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a SingleSyncQuery. */ + interface ISingleSyncQuery { + + /** SingleSyncQuery timeOfSync */ + timeOfSync?: google.protobuf.ITimestamp; + + /** SingleSyncQuery checksum */ + checksum?: (number|Long); + } + + /** Represents a SingleSyncQuery. */ + class SingleSyncQuery { + + /** + * Constructs a new SingleSyncQuery. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.ISingleSyncQuery); + + /** SingleSyncQuery timeOfSync. */ + public timeOfSync?: (google.protobuf.ITimestamp|null); + + /** SingleSyncQuery checksum. */ + public checksum: (number|Long); + + /** + * Creates a new SingleSyncQuery instance using the specified properties. + * @param [properties] Properties to set + * @returns SingleSyncQuery instance + */ + public static create(properties?: meerkat.ISingleSyncQuery): meerkat.SingleSyncQuery; + + /** + * Encodes the specified SingleSyncQuery message. Does not implicitly {@link meerkat.SingleSyncQuery.verify|verify} messages. + * @param message SingleSyncQuery message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.ISingleSyncQuery, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SingleSyncQuery message, length delimited. Does not implicitly {@link meerkat.SingleSyncQuery.verify|verify} messages. + * @param message SingleSyncQuery message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.ISingleSyncQuery, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SingleSyncQuery message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SingleSyncQuery + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.SingleSyncQuery; + + /** + * Decodes a SingleSyncQuery message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SingleSyncQuery + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.SingleSyncQuery; + + /** + * Verifies a SingleSyncQuery message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SingleSyncQuery message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SingleSyncQuery + */ + public static fromObject(object: { [k: string]: any }): meerkat.SingleSyncQuery; + + /** + * Creates a plain object from a SingleSyncQuery message. Also converts values to other types if specified. + * @param message SingleSyncQuery + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.SingleSyncQuery, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SingleSyncQuery to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a SyncQuery. */ + interface ISyncQuery { + + /** SyncQuery filterList */ + filterList?: meerkat.IMessageFilterList; + + /** SyncQuery query */ + query?: meerkat.ISingleSyncQuery[]; + } + + /** Represents a SyncQuery. */ + class SyncQuery { + + /** + * Constructs a new SyncQuery. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.ISyncQuery); + + /** SyncQuery filterList. */ + public filterList?: (meerkat.IMessageFilterList|null); + + /** SyncQuery query. */ + public query: meerkat.ISingleSyncQuery[]; + + /** + * Creates a new SyncQuery instance using the specified properties. + * @param [properties] Properties to set + * @returns SyncQuery instance + */ + public static create(properties?: meerkat.ISyncQuery): meerkat.SyncQuery; + + /** + * Encodes the specified SyncQuery message. Does not implicitly {@link meerkat.SyncQuery.verify|verify} messages. + * @param message SyncQuery message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.ISyncQuery, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SyncQuery message, length delimited. Does not implicitly {@link meerkat.SyncQuery.verify|verify} messages. + * @param message SyncQuery message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.ISyncQuery, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SyncQuery message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SyncQuery + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.SyncQuery; + + /** + * Decodes a SyncQuery message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SyncQuery + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.SyncQuery; + + /** + * Verifies a SyncQuery message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SyncQuery message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SyncQuery + */ + public static fromObject(object: { [k: string]: any }): meerkat.SyncQuery; + + /** + * Creates a plain object from a SyncQuery message. Also converts values to other types if specified. + * @param message SyncQuery + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.SyncQuery, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SyncQuery to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a GenerateSyncQueryParams. */ + interface IGenerateSyncQueryParams { + + /** GenerateSyncQueryParams filterList */ + filterList?: meerkat.IMessageFilterList; + + /** GenerateSyncQueryParams breakpointList */ + breakpointList?: number[]; + } + + /** Represents a GenerateSyncQueryParams. */ + class GenerateSyncQueryParams { + + /** + * Constructs a new GenerateSyncQueryParams. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IGenerateSyncQueryParams); + + /** GenerateSyncQueryParams filterList. */ + public filterList?: (meerkat.IMessageFilterList|null); + + /** GenerateSyncQueryParams breakpointList. */ + public breakpointList: number[]; + + /** + * Creates a new GenerateSyncQueryParams instance using the specified properties. + * @param [properties] Properties to set + * @returns GenerateSyncQueryParams instance + */ + public static create(properties?: meerkat.IGenerateSyncQueryParams): meerkat.GenerateSyncQueryParams; + + /** + * Encodes the specified GenerateSyncQueryParams message. Does not implicitly {@link meerkat.GenerateSyncQueryParams.verify|verify} messages. + * @param message GenerateSyncQueryParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IGenerateSyncQueryParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GenerateSyncQueryParams message, length delimited. Does not implicitly {@link meerkat.GenerateSyncQueryParams.verify|verify} messages. + * @param message GenerateSyncQueryParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IGenerateSyncQueryParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GenerateSyncQueryParams message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GenerateSyncQueryParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.GenerateSyncQueryParams; + + /** + * Decodes a GenerateSyncQueryParams message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GenerateSyncQueryParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.GenerateSyncQueryParams; + + /** + * Verifies a GenerateSyncQueryParams message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GenerateSyncQueryParams message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GenerateSyncQueryParams + */ + public static fromObject(object: { [k: string]: any }): meerkat.GenerateSyncQueryParams; + + /** + * Creates a plain object from a GenerateSyncQueryParams message. Also converts values to other types if specified. + * @param message GenerateSyncQueryParams + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.GenerateSyncQueryParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GenerateSyncQueryParams to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a SyncQueryResponse. */ + interface ISyncQueryResponse { + + /** SyncQueryResponse lastEntryNum */ + lastEntryNum?: (number|Long); + + /** SyncQueryResponse lastTimeOfSync */ + lastTimeOfSync?: google.protobuf.ITimestamp; + } + + /** Represents a SyncQueryResponse. */ + class SyncQueryResponse { + + /** + * Constructs a new SyncQueryResponse. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.ISyncQueryResponse); + + /** SyncQueryResponse lastEntryNum. */ + public lastEntryNum: (number|Long); + + /** SyncQueryResponse lastTimeOfSync. */ + public lastTimeOfSync?: (google.protobuf.ITimestamp|null); + + /** + * Creates a new SyncQueryResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns SyncQueryResponse instance + */ + public static create(properties?: meerkat.ISyncQueryResponse): meerkat.SyncQueryResponse; + + /** + * Encodes the specified SyncQueryResponse message. Does not implicitly {@link meerkat.SyncQueryResponse.verify|verify} messages. + * @param message SyncQueryResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.ISyncQueryResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SyncQueryResponse message, length delimited. Does not implicitly {@link meerkat.SyncQueryResponse.verify|verify} messages. + * @param message SyncQueryResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.ISyncQueryResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SyncQueryResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SyncQueryResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.SyncQueryResponse; + + /** + * Decodes a SyncQueryResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SyncQueryResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.SyncQueryResponse; + + /** + * Verifies a SyncQueryResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SyncQueryResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SyncQueryResponse + */ + public static fromObject(object: { [k: string]: any }): meerkat.SyncQueryResponse; + + /** + * Creates a plain object from a SyncQueryResponse message. Also converts values to other types if specified. + * @param message SyncQueryResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.SyncQueryResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SyncQueryResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BatchQuery. */ + interface IBatchQuery { + + /** BatchQuery msgID */ + msgID?: meerkat.IMessageID; + + /** BatchQuery startPosition */ + startPosition?: number; + } + + /** Represents a BatchQuery. */ + class BatchQuery { + + /** + * Constructs a new BatchQuery. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IBatchQuery); + + /** BatchQuery msgID. */ + public msgID?: (meerkat.IMessageID|null); + + /** BatchQuery startPosition. */ + public startPosition: number; + + /** + * Creates a new BatchQuery instance using the specified properties. + * @param [properties] Properties to set + * @returns BatchQuery instance + */ + public static create(properties?: meerkat.IBatchQuery): meerkat.BatchQuery; + + /** + * Encodes the specified BatchQuery message. Does not implicitly {@link meerkat.BatchQuery.verify|verify} messages. + * @param message BatchQuery message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IBatchQuery, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BatchQuery message, length delimited. Does not implicitly {@link meerkat.BatchQuery.verify|verify} messages. + * @param message BatchQuery message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IBatchQuery, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BatchQuery message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BatchQuery + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.BatchQuery; + + /** + * Decodes a BatchQuery message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BatchQuery + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.BatchQuery; + + /** + * Verifies a BatchQuery message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BatchQuery message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BatchQuery + */ + public static fromObject(object: { [k: string]: any }): meerkat.BatchQuery; + + /** + * Creates a plain object from a BatchQuery message. Also converts values to other types if specified. + * @param message BatchQuery + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.BatchQuery, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BatchQuery to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ServerStatus. */ + interface IServerStatus { + + /** ServerStatus mode */ + mode?: meerkat.ServerStatus.Mode; + + /** ServerStatus name */ + name?: string; + + /** ServerStatus pk */ + pk?: meerkat.ISignatureVerificationKey; + } + + /** Represents a ServerStatus. */ + class ServerStatus { + + /** + * Constructs a new ServerStatus. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IServerStatus); + + /** ServerStatus mode. */ + public mode: meerkat.ServerStatus.Mode; + + /** ServerStatus name. */ + public name: string; + + /** ServerStatus pk. */ + public pk?: (meerkat.ISignatureVerificationKey|null); + + /** + * Creates a new ServerStatus instance using the specified properties. + * @param [properties] Properties to set + * @returns ServerStatus instance + */ + public static create(properties?: meerkat.IServerStatus): meerkat.ServerStatus; + + /** + * Encodes the specified ServerStatus message. Does not implicitly {@link meerkat.ServerStatus.verify|verify} messages. + * @param message ServerStatus message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IServerStatus, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ServerStatus message, length delimited. Does not implicitly {@link meerkat.ServerStatus.verify|verify} messages. + * @param message ServerStatus message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IServerStatus, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ServerStatus message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ServerStatus + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.ServerStatus; + + /** + * Decodes a ServerStatus message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ServerStatus + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.ServerStatus; + + /** + * Verifies a ServerStatus message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ServerStatus message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ServerStatus + */ + public static fromObject(object: { [k: string]: any }): meerkat.ServerStatus; + + /** + * Creates a plain object from a ServerStatus message. Also converts values to other types if specified. + * @param message ServerStatus + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.ServerStatus, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ServerStatus to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace ServerStatus { + + /** Mode enum. */ + enum Mode { + MODE_SETUP_AUTH = 0, + MODE_SETUP_DB = 1, + MODE_RUNNING = 2 + } + } + + /** Properties of a BroadcastMessage. */ + interface IBroadcastMessage { + + /** BroadcastMessage sender */ + sender?: number; + + /** BroadcastMessage destination */ + destination?: number; + + /** BroadcastMessage isPrivate */ + isPrivate?: boolean; + + /** BroadcastMessage payload */ + payload?: Uint8Array; + } + + /** Represents a BroadcastMessage. */ + class BroadcastMessage { + + /** + * Constructs a new BroadcastMessage. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IBroadcastMessage); + + /** BroadcastMessage sender. */ + public sender: number; + + /** BroadcastMessage destination. */ + public destination: number; + + /** BroadcastMessage isPrivate. */ + public isPrivate: boolean; + + /** BroadcastMessage payload. */ + public payload: Uint8Array; + + /** + * Creates a new BroadcastMessage instance using the specified properties. + * @param [properties] Properties to set + * @returns BroadcastMessage instance + */ + public static create(properties?: meerkat.IBroadcastMessage): meerkat.BroadcastMessage; + + /** + * Encodes the specified BroadcastMessage message. Does not implicitly {@link meerkat.BroadcastMessage.verify|verify} messages. + * @param message BroadcastMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IBroadcastMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BroadcastMessage message, length delimited. Does not implicitly {@link meerkat.BroadcastMessage.verify|verify} messages. + * @param message BroadcastMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IBroadcastMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BroadcastMessage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BroadcastMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.BroadcastMessage; + + /** + * Decodes a BroadcastMessage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BroadcastMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.BroadcastMessage; + + /** + * Verifies a BroadcastMessage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BroadcastMessage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BroadcastMessage + */ + public static fromObject(object: { [k: string]: any }): meerkat.BroadcastMessage; + + /** + * Creates a plain object from a BroadcastMessage message. Also converts values to other types if specified. + * @param message BroadcastMessage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.BroadcastMessage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BroadcastMessage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ElGamalPublicKey. */ + interface IElGamalPublicKey { + + /** ElGamalPublicKey subjectPublicKeyInfo */ + subjectPublicKeyInfo?: Uint8Array; + } + + /** Represents an ElGamalPublicKey. */ + class ElGamalPublicKey { + + /** + * Constructs a new ElGamalPublicKey. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IElGamalPublicKey); + + /** ElGamalPublicKey subjectPublicKeyInfo. */ + public subjectPublicKeyInfo: Uint8Array; + + /** + * Creates a new ElGamalPublicKey instance using the specified properties. + * @param [properties] Properties to set + * @returns ElGamalPublicKey instance + */ + public static create(properties?: meerkat.IElGamalPublicKey): meerkat.ElGamalPublicKey; + + /** + * Encodes the specified ElGamalPublicKey message. Does not implicitly {@link meerkat.ElGamalPublicKey.verify|verify} messages. + * @param message ElGamalPublicKey message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IElGamalPublicKey, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ElGamalPublicKey message, length delimited. Does not implicitly {@link meerkat.ElGamalPublicKey.verify|verify} messages. + * @param message ElGamalPublicKey message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IElGamalPublicKey, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ElGamalPublicKey message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ElGamalPublicKey + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.ElGamalPublicKey; + + /** + * Decodes an ElGamalPublicKey message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ElGamalPublicKey + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.ElGamalPublicKey; + + /** + * Verifies an ElGamalPublicKey message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an ElGamalPublicKey message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ElGamalPublicKey + */ + public static fromObject(object: { [k: string]: any }): meerkat.ElGamalPublicKey; + + /** + * Creates a plain object from an ElGamalPublicKey message. Also converts values to other types if specified. + * @param message ElGamalPublicKey + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.ElGamalPublicKey, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ElGamalPublicKey to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a GroupElement. */ + interface IGroupElement { + + /** GroupElement data */ + data?: Uint8Array; + } + + /** Represents a GroupElement. */ + class GroupElement { + + /** + * Constructs a new GroupElement. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IGroupElement); + + /** GroupElement data. */ + public data: Uint8Array; + + /** + * Creates a new GroupElement instance using the specified properties. + * @param [properties] Properties to set + * @returns GroupElement instance + */ + public static create(properties?: meerkat.IGroupElement): meerkat.GroupElement; + + /** + * Encodes the specified GroupElement message. Does not implicitly {@link meerkat.GroupElement.verify|verify} messages. + * @param message GroupElement message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IGroupElement, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GroupElement message, length delimited. Does not implicitly {@link meerkat.GroupElement.verify|verify} messages. + * @param message GroupElement message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IGroupElement, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GroupElement message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GroupElement + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.GroupElement; + + /** + * Decodes a GroupElement message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GroupElement + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.GroupElement; + + /** + * Verifies a GroupElement message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GroupElement message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GroupElement + */ + public static fromObject(object: { [k: string]: any }): meerkat.GroupElement; + + /** + * Creates a plain object from a GroupElement message. Also converts values to other types if specified. + * @param message GroupElement + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.GroupElement, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GroupElement to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ElGamalCiphertext. */ + interface IElGamalCiphertext { + + /** ElGamalCiphertext c1 */ + c1?: meerkat.IGroupElement; + + /** ElGamalCiphertext c2 */ + c2?: meerkat.IGroupElement; + } + + /** Represents an ElGamalCiphertext. */ + class ElGamalCiphertext { + + /** + * Constructs a new ElGamalCiphertext. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IElGamalCiphertext); + + /** ElGamalCiphertext c1. */ + public c1?: (meerkat.IGroupElement|null); + + /** ElGamalCiphertext c2. */ + public c2?: (meerkat.IGroupElement|null); + + /** + * Creates a new ElGamalCiphertext instance using the specified properties. + * @param [properties] Properties to set + * @returns ElGamalCiphertext instance + */ + public static create(properties?: meerkat.IElGamalCiphertext): meerkat.ElGamalCiphertext; + + /** + * Encodes the specified ElGamalCiphertext message. Does not implicitly {@link meerkat.ElGamalCiphertext.verify|verify} messages. + * @param message ElGamalCiphertext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IElGamalCiphertext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ElGamalCiphertext message, length delimited. Does not implicitly {@link meerkat.ElGamalCiphertext.verify|verify} messages. + * @param message ElGamalCiphertext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IElGamalCiphertext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ElGamalCiphertext message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ElGamalCiphertext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.ElGamalCiphertext; + + /** + * Decodes an ElGamalCiphertext message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ElGamalCiphertext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.ElGamalCiphertext; + + /** + * Verifies an ElGamalCiphertext message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an ElGamalCiphertext message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ElGamalCiphertext + */ + public static fromObject(object: { [k: string]: any }): meerkat.ElGamalCiphertext; + + /** + * Creates a plain object from an ElGamalCiphertext message. Also converts values to other types if specified. + * @param message ElGamalCiphertext + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.ElGamalCiphertext, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ElGamalCiphertext to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** SignatureType enum. */ + enum SignatureType { + ECDSA = 0, + DSA = 1, + RSA = 2 + } + + /** Properties of a BigInteger. */ + interface IBigInteger { + + /** BigInteger data */ + data?: Uint8Array; + } + + /** Represents a BigInteger. */ + class BigInteger { + + /** + * Constructs a new BigInteger. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IBigInteger); + + /** BigInteger data. */ + public data: Uint8Array; + + /** + * Creates a new BigInteger instance using the specified properties. + * @param [properties] Properties to set + * @returns BigInteger instance + */ + public static create(properties?: meerkat.IBigInteger): meerkat.BigInteger; + + /** + * Encodes the specified BigInteger message. Does not implicitly {@link meerkat.BigInteger.verify|verify} messages. + * @param message BigInteger message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IBigInteger, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BigInteger message, length delimited. Does not implicitly {@link meerkat.BigInteger.verify|verify} messages. + * @param message BigInteger message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IBigInteger, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BigInteger message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BigInteger + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.BigInteger; + + /** + * Decodes a BigInteger message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BigInteger + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.BigInteger; + + /** + * Verifies a BigInteger message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BigInteger message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BigInteger + */ + public static fromObject(object: { [k: string]: any }): meerkat.BigInteger; + + /** + * Creates a plain object from a BigInteger message. Also converts values to other types if specified. + * @param message BigInteger + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.BigInteger, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BigInteger to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Signature. */ + interface ISignature { + + /** Signature type */ + type?: meerkat.SignatureType; + + /** Signature data */ + data?: Uint8Array; + + /** Signature signerId */ + signerId?: Uint8Array; + } + + /** Represents a Signature. */ + class Signature { + + /** + * Constructs a new Signature. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.ISignature); + + /** Signature type. */ + public type: meerkat.SignatureType; + + /** Signature data. */ + public data: Uint8Array; + + /** Signature signerId. */ + public signerId: Uint8Array; + + /** + * Creates a new Signature instance using the specified properties. + * @param [properties] Properties to set + * @returns Signature instance + */ + public static create(properties?: meerkat.ISignature): meerkat.Signature; + + /** + * Encodes the specified Signature message. Does not implicitly {@link meerkat.Signature.verify|verify} messages. + * @param message Signature message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.ISignature, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Signature message, length delimited. Does not implicitly {@link meerkat.Signature.verify|verify} messages. + * @param message Signature message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.ISignature, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Signature message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Signature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.Signature; + + /** + * Decodes a Signature message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Signature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.Signature; + + /** + * Verifies a Signature message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Signature message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Signature + */ + public static fromObject(object: { [k: string]: any }): meerkat.Signature; + + /** + * Creates a plain object from a Signature message. Also converts values to other types if specified. + * @param message Signature + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.Signature, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Signature to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a SignatureVerificationKey. */ + interface ISignatureVerificationKey { + + /** SignatureVerificationKey type */ + type?: meerkat.SignatureType; + + /** SignatureVerificationKey data */ + data?: Uint8Array; + } + + /** Represents a SignatureVerificationKey. */ + class SignatureVerificationKey { + + /** + * Constructs a new SignatureVerificationKey. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.ISignatureVerificationKey); + + /** SignatureVerificationKey type. */ + public type: meerkat.SignatureType; + + /** SignatureVerificationKey data. */ + public data: Uint8Array; + + /** + * Creates a new SignatureVerificationKey instance using the specified properties. + * @param [properties] Properties to set + * @returns SignatureVerificationKey instance + */ + public static create(properties?: meerkat.ISignatureVerificationKey): meerkat.SignatureVerificationKey; + + /** + * Encodes the specified SignatureVerificationKey message. Does not implicitly {@link meerkat.SignatureVerificationKey.verify|verify} messages. + * @param message SignatureVerificationKey message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.ISignatureVerificationKey, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SignatureVerificationKey message, length delimited. Does not implicitly {@link meerkat.SignatureVerificationKey.verify|verify} messages. + * @param message SignatureVerificationKey message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.ISignatureVerificationKey, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SignatureVerificationKey message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SignatureVerificationKey + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.SignatureVerificationKey; + + /** + * Decodes a SignatureVerificationKey message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SignatureVerificationKey + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.SignatureVerificationKey; + + /** + * Verifies a SignatureVerificationKey message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SignatureVerificationKey message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SignatureVerificationKey + */ + public static fromObject(object: { [k: string]: any }): meerkat.SignatureVerificationKey; + + /** + * Creates a plain object from a SignatureVerificationKey message. Also converts values to other types if specified. + * @param message SignatureVerificationKey + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.SignatureVerificationKey, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SignatureVerificationKey to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an EncryptionPublicKey. */ + interface IEncryptionPublicKey { + + /** EncryptionPublicKey data */ + data?: Uint8Array; + } + + /** Represents an EncryptionPublicKey. */ + class EncryptionPublicKey { + + /** + * Constructs a new EncryptionPublicKey. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IEncryptionPublicKey); + + /** EncryptionPublicKey data. */ + public data: Uint8Array; + + /** + * Creates a new EncryptionPublicKey instance using the specified properties. + * @param [properties] Properties to set + * @returns EncryptionPublicKey instance + */ + public static create(properties?: meerkat.IEncryptionPublicKey): meerkat.EncryptionPublicKey; + + /** + * Encodes the specified EncryptionPublicKey message. Does not implicitly {@link meerkat.EncryptionPublicKey.verify|verify} messages. + * @param message EncryptionPublicKey message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IEncryptionPublicKey, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EncryptionPublicKey message, length delimited. Does not implicitly {@link meerkat.EncryptionPublicKey.verify|verify} messages. + * @param message EncryptionPublicKey message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IEncryptionPublicKey, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EncryptionPublicKey message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EncryptionPublicKey + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.EncryptionPublicKey; + + /** + * Decodes an EncryptionPublicKey message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EncryptionPublicKey + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.EncryptionPublicKey; + + /** + * Verifies an EncryptionPublicKey message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an EncryptionPublicKey message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EncryptionPublicKey + */ + public static fromObject(object: { [k: string]: any }): meerkat.EncryptionPublicKey; + + /** + * Creates a plain object from an EncryptionPublicKey message. Also converts values to other types if specified. + * @param message EncryptionPublicKey + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.EncryptionPublicKey, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EncryptionPublicKey to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an EncryptionRandomness. */ + interface IEncryptionRandomness { + + /** EncryptionRandomness data */ + data?: Uint8Array; + } + + /** Represents an EncryptionRandomness. */ + class EncryptionRandomness { + + /** + * Constructs a new EncryptionRandomness. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IEncryptionRandomness); + + /** EncryptionRandomness data. */ + public data: Uint8Array; + + /** + * Creates a new EncryptionRandomness instance using the specified properties. + * @param [properties] Properties to set + * @returns EncryptionRandomness instance + */ + public static create(properties?: meerkat.IEncryptionRandomness): meerkat.EncryptionRandomness; + + /** + * Encodes the specified EncryptionRandomness message. Does not implicitly {@link meerkat.EncryptionRandomness.verify|verify} messages. + * @param message EncryptionRandomness message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IEncryptionRandomness, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EncryptionRandomness message, length delimited. Does not implicitly {@link meerkat.EncryptionRandomness.verify|verify} messages. + * @param message EncryptionRandomness message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IEncryptionRandomness, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EncryptionRandomness message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EncryptionRandomness + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.EncryptionRandomness; + + /** + * Decodes an EncryptionRandomness message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EncryptionRandomness + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.EncryptionRandomness; + + /** + * Verifies an EncryptionRandomness message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an EncryptionRandomness message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EncryptionRandomness + */ + public static fromObject(object: { [k: string]: any }): meerkat.EncryptionRandomness; + + /** + * Creates a plain object from an EncryptionRandomness message. Also converts values to other types if specified. + * @param message EncryptionRandomness + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.EncryptionRandomness, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EncryptionRandomness to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a RandomnessGenerationProof. */ + interface IRandomnessGenerationProof { + + /** RandomnessGenerationProof data */ + data?: Uint8Array; + } + + /** Represents a RandomnessGenerationProof. */ + class RandomnessGenerationProof { + + /** + * Constructs a new RandomnessGenerationProof. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IRandomnessGenerationProof); + + /** RandomnessGenerationProof data. */ + public data: Uint8Array; + + /** + * Creates a new RandomnessGenerationProof instance using the specified properties. + * @param [properties] Properties to set + * @returns RandomnessGenerationProof instance + */ + public static create(properties?: meerkat.IRandomnessGenerationProof): meerkat.RandomnessGenerationProof; + + /** + * Encodes the specified RandomnessGenerationProof message. Does not implicitly {@link meerkat.RandomnessGenerationProof.verify|verify} messages. + * @param message RandomnessGenerationProof message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IRandomnessGenerationProof, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified RandomnessGenerationProof message, length delimited. Does not implicitly {@link meerkat.RandomnessGenerationProof.verify|verify} messages. + * @param message RandomnessGenerationProof message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IRandomnessGenerationProof, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a RandomnessGenerationProof message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RandomnessGenerationProof + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.RandomnessGenerationProof; + + /** + * Decodes a RandomnessGenerationProof message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RandomnessGenerationProof + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.RandomnessGenerationProof; + + /** + * Verifies a RandomnessGenerationProof message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a RandomnessGenerationProof message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RandomnessGenerationProof + */ + public static fromObject(object: { [k: string]: any }): meerkat.RandomnessGenerationProof; + + /** + * Creates a plain object from a RandomnessGenerationProof message. Also converts values to other types if specified. + * @param message RandomnessGenerationProof + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.RandomnessGenerationProof, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this RandomnessGenerationProof to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a RerandomizableEncryptedMessage. */ + interface IRerandomizableEncryptedMessage { + + /** RerandomizableEncryptedMessage data */ + data?: Uint8Array; + } + + /** Represents a RerandomizableEncryptedMessage. */ + class RerandomizableEncryptedMessage { + + /** + * Constructs a new RerandomizableEncryptedMessage. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IRerandomizableEncryptedMessage); + + /** RerandomizableEncryptedMessage data. */ + public data: Uint8Array; + + /** + * Creates a new RerandomizableEncryptedMessage instance using the specified properties. + * @param [properties] Properties to set + * @returns RerandomizableEncryptedMessage instance + */ + public static create(properties?: meerkat.IRerandomizableEncryptedMessage): meerkat.RerandomizableEncryptedMessage; + + /** + * Encodes the specified RerandomizableEncryptedMessage message. Does not implicitly {@link meerkat.RerandomizableEncryptedMessage.verify|verify} messages. + * @param message RerandomizableEncryptedMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IRerandomizableEncryptedMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified RerandomizableEncryptedMessage message, length delimited. Does not implicitly {@link meerkat.RerandomizableEncryptedMessage.verify|verify} messages. + * @param message RerandomizableEncryptedMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IRerandomizableEncryptedMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a RerandomizableEncryptedMessage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RerandomizableEncryptedMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.RerandomizableEncryptedMessage; + + /** + * Decodes a RerandomizableEncryptedMessage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RerandomizableEncryptedMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.RerandomizableEncryptedMessage; + + /** + * Verifies a RerandomizableEncryptedMessage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a RerandomizableEncryptedMessage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RerandomizableEncryptedMessage + */ + public static fromObject(object: { [k: string]: any }): meerkat.RerandomizableEncryptedMessage; + + /** + * Creates a plain object from a RerandomizableEncryptedMessage message. Also converts values to other types if specified. + * @param message RerandomizableEncryptedMessage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.RerandomizableEncryptedMessage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this RerandomizableEncryptedMessage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Payload. */ + interface IPayload { + + /** Payload type */ + type?: meerkat.Payload.Type; + + /** Payload id */ + id?: meerkat.IIDMessage; + + /** Payload share */ + share?: meerkat.IShareMessage; + + /** Payload commitment */ + commitment?: meerkat.ICommitmentMessage; + } + + /** Represents a Payload. */ + class Payload { + + /** + * Constructs a new Payload. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IPayload); + + /** Payload type. */ + public type: meerkat.Payload.Type; + + /** Payload id. */ + public id?: (meerkat.IIDMessage|null); + + /** Payload share. */ + public share?: (meerkat.IShareMessage|null); + + /** Payload commitment. */ + public commitment?: (meerkat.ICommitmentMessage|null); + + /** Payload payloadData. */ + public payloadData?: string; + + /** + * Creates a new Payload instance using the specified properties. + * @param [properties] Properties to set + * @returns Payload instance + */ + public static create(properties?: meerkat.IPayload): meerkat.Payload; + + /** + * Encodes the specified Payload message. Does not implicitly {@link meerkat.Payload.verify|verify} messages. + * @param message Payload message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IPayload, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Payload message, length delimited. Does not implicitly {@link meerkat.Payload.verify|verify} messages. + * @param message Payload message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IPayload, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Payload message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Payload + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.Payload; + + /** + * Decodes a Payload message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Payload + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.Payload; + + /** + * Verifies a Payload message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Payload message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Payload + */ + public static fromObject(object: { [k: string]: any }): meerkat.Payload; + + /** + * Creates a plain object from a Payload message. Also converts values to other types if specified. + * @param message Payload + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.Payload, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Payload to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace Payload { + + /** Type enum. */ + enum Type { + SHARE = 0, + COMMITMENT = 1, + COMPLAINT = 2, + DONE = 3, + ANSWER = 4, + YCOMMITMENT = 5, + YCOMPLAINT = 6, + YANSWER = 7, + ABORT = 8 + } + } + + /** Properties of a IDMessage. */ + interface IIDMessage { + + /** IDMessage id */ + id?: number; + } + + /** Represents a IDMessage. */ + class IDMessage { + + /** + * Constructs a new IDMessage. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IIDMessage); + + /** IDMessage id. */ + public id: number; + + /** + * Creates a new IDMessage instance using the specified properties. + * @param [properties] Properties to set + * @returns IDMessage instance + */ + public static create(properties?: meerkat.IIDMessage): meerkat.IDMessage; + + /** + * Encodes the specified IDMessage message. Does not implicitly {@link meerkat.IDMessage.verify|verify} messages. + * @param message IDMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IIDMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified IDMessage message, length delimited. Does not implicitly {@link meerkat.IDMessage.verify|verify} messages. + * @param message IDMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IIDMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a IDMessage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns IDMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.IDMessage; + + /** + * Decodes a IDMessage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns IDMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.IDMessage; + + /** + * Verifies a IDMessage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a IDMessage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns IDMessage + */ + public static fromObject(object: { [k: string]: any }): meerkat.IDMessage; + + /** + * Creates a plain object from a IDMessage message. Also converts values to other types if specified. + * @param message IDMessage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.IDMessage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this IDMessage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ShareMessage. */ + interface IShareMessage { + + /** ShareMessage i */ + i?: number; + + /** ShareMessage j */ + j?: number; + + /** ShareMessage share */ + share?: Uint8Array; + + /** ShareMessage shareT */ + shareT?: Uint8Array; + } + + /** Represents a ShareMessage. */ + class ShareMessage { + + /** + * Constructs a new ShareMessage. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IShareMessage); + + /** ShareMessage i. */ + public i: number; + + /** ShareMessage j. */ + public j: number; + + /** ShareMessage share. */ + public share: Uint8Array; + + /** ShareMessage shareT. */ + public shareT: Uint8Array; + + /** + * Creates a new ShareMessage instance using the specified properties. + * @param [properties] Properties to set + * @returns ShareMessage instance + */ + public static create(properties?: meerkat.IShareMessage): meerkat.ShareMessage; + + /** + * Encodes the specified ShareMessage message. Does not implicitly {@link meerkat.ShareMessage.verify|verify} messages. + * @param message ShareMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IShareMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ShareMessage message, length delimited. Does not implicitly {@link meerkat.ShareMessage.verify|verify} messages. + * @param message ShareMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IShareMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ShareMessage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ShareMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.ShareMessage; + + /** + * Decodes a ShareMessage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ShareMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.ShareMessage; + + /** + * Verifies a ShareMessage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ShareMessage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ShareMessage + */ + public static fromObject(object: { [k: string]: any }): meerkat.ShareMessage; + + /** + * Creates a plain object from a ShareMessage message. Also converts values to other types if specified. + * @param message ShareMessage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.ShareMessage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ShareMessage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a CommitmentMessage. */ + interface ICommitmentMessage { + + /** CommitmentMessage k */ + k?: number; + + /** CommitmentMessage commitment */ + commitment?: Uint8Array; + } + + /** Represents a CommitmentMessage. */ + class CommitmentMessage { + + /** + * Constructs a new CommitmentMessage. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.ICommitmentMessage); + + /** CommitmentMessage k. */ + public k: number; + + /** CommitmentMessage commitment. */ + public commitment: Uint8Array; + + /** + * Creates a new CommitmentMessage instance using the specified properties. + * @param [properties] Properties to set + * @returns CommitmentMessage instance + */ + public static create(properties?: meerkat.ICommitmentMessage): meerkat.CommitmentMessage; + + /** + * Encodes the specified CommitmentMessage message. Does not implicitly {@link meerkat.CommitmentMessage.verify|verify} messages. + * @param message CommitmentMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.ICommitmentMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CommitmentMessage message, length delimited. Does not implicitly {@link meerkat.CommitmentMessage.verify|verify} messages. + * @param message CommitmentMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.ICommitmentMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CommitmentMessage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CommitmentMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.CommitmentMessage; + + /** + * Decodes a CommitmentMessage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CommitmentMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.CommitmentMessage; + + /** + * Verifies a CommitmentMessage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CommitmentMessage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CommitmentMessage + */ + public static fromObject(object: { [k: string]: any }): meerkat.CommitmentMessage; + + /** + * Creates a plain object from a CommitmentMessage message. Also converts values to other types if specified. + * @param message CommitmentMessage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.CommitmentMessage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CommitmentMessage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a MixBatchHeader. */ + interface IMixBatchHeader { + + /** MixBatchHeader logN */ + logN?: number; + + /** MixBatchHeader layers */ + layers?: number; + } + + /** Represents a MixBatchHeader. */ + class MixBatchHeader { + + /** + * Constructs a new MixBatchHeader. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IMixBatchHeader); + + /** MixBatchHeader logN. */ + public logN: number; + + /** MixBatchHeader layers. */ + public layers: number; + + /** + * Creates a new MixBatchHeader instance using the specified properties. + * @param [properties] Properties to set + * @returns MixBatchHeader instance + */ + public static create(properties?: meerkat.IMixBatchHeader): meerkat.MixBatchHeader; + + /** + * Encodes the specified MixBatchHeader message. Does not implicitly {@link meerkat.MixBatchHeader.verify|verify} messages. + * @param message MixBatchHeader message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IMixBatchHeader, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified MixBatchHeader message, length delimited. Does not implicitly {@link meerkat.MixBatchHeader.verify|verify} messages. + * @param message MixBatchHeader message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IMixBatchHeader, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a MixBatchHeader message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns MixBatchHeader + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.MixBatchHeader; + + /** + * Decodes a MixBatchHeader message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns MixBatchHeader + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.MixBatchHeader; + + /** + * Verifies a MixBatchHeader message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a MixBatchHeader message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns MixBatchHeader + */ + public static fromObject(object: { [k: string]: any }): meerkat.MixBatchHeader; + + /** + * Creates a plain object from a MixBatchHeader message. Also converts values to other types if specified. + * @param message MixBatchHeader + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.MixBatchHeader, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this MixBatchHeader to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Plaintext. */ + interface IPlaintext { + + /** Plaintext data */ + data?: Uint8Array; + } + + /** Represents a Plaintext. */ + class Plaintext { + + /** + * Constructs a new Plaintext. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IPlaintext); + + /** Plaintext data. */ + public data: Uint8Array; + + /** + * Creates a new Plaintext instance using the specified properties. + * @param [properties] Properties to set + * @returns Plaintext instance + */ + public static create(properties?: meerkat.IPlaintext): meerkat.Plaintext; + + /** + * Encodes the specified Plaintext message. Does not implicitly {@link meerkat.Plaintext.verify|verify} messages. + * @param message Plaintext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IPlaintext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Plaintext message, length delimited. Does not implicitly {@link meerkat.Plaintext.verify|verify} messages. + * @param message Plaintext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IPlaintext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Plaintext message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Plaintext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.Plaintext; + + /** + * Decodes a Plaintext message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Plaintext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.Plaintext; + + /** + * Verifies a Plaintext message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Plaintext message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Plaintext + */ + public static fromObject(object: { [k: string]: any }): meerkat.Plaintext; + + /** + * Creates a plain object from a Plaintext message. Also converts values to other types if specified. + * @param message Plaintext + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.Plaintext, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Plaintext to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Mix2Proof. */ + interface IMix2Proof { + + /** Mix2Proof firstMessage */ + firstMessage?: meerkat.Mix2Proof.IFirstMessage; + + /** Mix2Proof finalMessage */ + finalMessage?: meerkat.Mix2Proof.IFinalMessage; + + /** Mix2Proof location */ + location?: meerkat.Mix2Proof.ILocation; + } + + /** Represents a Mix2Proof. */ + class Mix2Proof { + + /** + * Constructs a new Mix2Proof. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IMix2Proof); + + /** Mix2Proof firstMessage. */ + public firstMessage?: (meerkat.Mix2Proof.IFirstMessage|null); + + /** Mix2Proof finalMessage. */ + public finalMessage?: (meerkat.Mix2Proof.IFinalMessage|null); + + /** Mix2Proof location. */ + public location?: (meerkat.Mix2Proof.ILocation|null); + + /** + * Creates a new Mix2Proof instance using the specified properties. + * @param [properties] Properties to set + * @returns Mix2Proof instance + */ + public static create(properties?: meerkat.IMix2Proof): meerkat.Mix2Proof; + + /** + * Encodes the specified Mix2Proof message. Does not implicitly {@link meerkat.Mix2Proof.verify|verify} messages. + * @param message Mix2Proof message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IMix2Proof, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Mix2Proof message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.verify|verify} messages. + * @param message Mix2Proof message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IMix2Proof, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Mix2Proof message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Mix2Proof + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.Mix2Proof; + + /** + * Decodes a Mix2Proof message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Mix2Proof + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.Mix2Proof; + + /** + * Verifies a Mix2Proof message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Mix2Proof message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Mix2Proof + */ + public static fromObject(object: { [k: string]: any }): meerkat.Mix2Proof; + + /** + * Creates a plain object from a Mix2Proof message. Also converts values to other types if specified. + * @param message Mix2Proof + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.Mix2Proof, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Mix2Proof to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace Mix2Proof { + + /** Properties of a DlogProof. */ + interface IDlogProof { + } + + /** Represents a DlogProof. */ + class DlogProof { + + /** + * Constructs a new DlogProof. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.Mix2Proof.IDlogProof); + + /** + * Creates a new DlogProof instance using the specified properties. + * @param [properties] Properties to set + * @returns DlogProof instance + */ + public static create(properties?: meerkat.Mix2Proof.IDlogProof): meerkat.Mix2Proof.DlogProof; + + /** + * Encodes the specified DlogProof message. Does not implicitly {@link meerkat.Mix2Proof.DlogProof.verify|verify} messages. + * @param message DlogProof message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.Mix2Proof.IDlogProof, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DlogProof message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.DlogProof.verify|verify} messages. + * @param message DlogProof message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.Mix2Proof.IDlogProof, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DlogProof message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DlogProof + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.Mix2Proof.DlogProof; + + /** + * Decodes a DlogProof message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DlogProof + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.Mix2Proof.DlogProof; + + /** + * Verifies a DlogProof message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DlogProof message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DlogProof + */ + public static fromObject(object: { [k: string]: any }): meerkat.Mix2Proof.DlogProof; + + /** + * Creates a plain object from a DlogProof message. Also converts values to other types if specified. + * @param message DlogProof + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.Mix2Proof.DlogProof, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DlogProof to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace DlogProof { + + /** Properties of a FirstMessage. */ + interface IFirstMessage { + + /** FirstMessage gr */ + gr?: meerkat.IGroupElement; + + /** FirstMessage hr */ + hr?: meerkat.IGroupElement; + } + + /** Represents a FirstMessage. */ + class FirstMessage { + + /** + * Constructs a new FirstMessage. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.Mix2Proof.DlogProof.IFirstMessage); + + /** FirstMessage gr. */ + public gr?: (meerkat.IGroupElement|null); + + /** FirstMessage hr. */ + public hr?: (meerkat.IGroupElement|null); + + /** + * Creates a new FirstMessage instance using the specified properties. + * @param [properties] Properties to set + * @returns FirstMessage instance + */ + public static create(properties?: meerkat.Mix2Proof.DlogProof.IFirstMessage): meerkat.Mix2Proof.DlogProof.FirstMessage; + + /** + * Encodes the specified FirstMessage message. Does not implicitly {@link meerkat.Mix2Proof.DlogProof.FirstMessage.verify|verify} messages. + * @param message FirstMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.Mix2Proof.DlogProof.IFirstMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FirstMessage message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.DlogProof.FirstMessage.verify|verify} messages. + * @param message FirstMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.Mix2Proof.DlogProof.IFirstMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FirstMessage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FirstMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.Mix2Proof.DlogProof.FirstMessage; + + /** + * Decodes a FirstMessage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FirstMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.Mix2Proof.DlogProof.FirstMessage; + + /** + * Verifies a FirstMessage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FirstMessage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FirstMessage + */ + public static fromObject(object: { [k: string]: any }): meerkat.Mix2Proof.DlogProof.FirstMessage; + + /** + * Creates a plain object from a FirstMessage message. Also converts values to other types if specified. + * @param message FirstMessage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.Mix2Proof.DlogProof.FirstMessage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FirstMessage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a FinalMessage. */ + interface IFinalMessage { + + /** FinalMessage xcr */ + xcr?: meerkat.IBigInteger; + } + + /** Represents a FinalMessage. */ + class FinalMessage { + + /** + * Constructs a new FinalMessage. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.Mix2Proof.DlogProof.IFinalMessage); + + /** FinalMessage xcr. */ + public xcr?: (meerkat.IBigInteger|null); + + /** + * Creates a new FinalMessage instance using the specified properties. + * @param [properties] Properties to set + * @returns FinalMessage instance + */ + public static create(properties?: meerkat.Mix2Proof.DlogProof.IFinalMessage): meerkat.Mix2Proof.DlogProof.FinalMessage; + + /** + * Encodes the specified FinalMessage message. Does not implicitly {@link meerkat.Mix2Proof.DlogProof.FinalMessage.verify|verify} messages. + * @param message FinalMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.Mix2Proof.DlogProof.IFinalMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FinalMessage message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.DlogProof.FinalMessage.verify|verify} messages. + * @param message FinalMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.Mix2Proof.DlogProof.IFinalMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FinalMessage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FinalMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.Mix2Proof.DlogProof.FinalMessage; + + /** + * Decodes a FinalMessage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FinalMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.Mix2Proof.DlogProof.FinalMessage; + + /** + * Verifies a FinalMessage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FinalMessage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FinalMessage + */ + public static fromObject(object: { [k: string]: any }): meerkat.Mix2Proof.DlogProof.FinalMessage; + + /** + * Creates a plain object from a FinalMessage message. Also converts values to other types if specified. + * @param message FinalMessage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.Mix2Proof.DlogProof.FinalMessage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FinalMessage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + + /** Properties of an AndProof. */ + interface IAndProof { + } + + /** Represents an AndProof. */ + class AndProof { + + /** + * Constructs a new AndProof. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.Mix2Proof.IAndProof); + + /** + * Creates a new AndProof instance using the specified properties. + * @param [properties] Properties to set + * @returns AndProof instance + */ + public static create(properties?: meerkat.Mix2Proof.IAndProof): meerkat.Mix2Proof.AndProof; + + /** + * Encodes the specified AndProof message. Does not implicitly {@link meerkat.Mix2Proof.AndProof.verify|verify} messages. + * @param message AndProof message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.Mix2Proof.IAndProof, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AndProof message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.AndProof.verify|verify} messages. + * @param message AndProof message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.Mix2Proof.IAndProof, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AndProof message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AndProof + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.Mix2Proof.AndProof; + + /** + * Decodes an AndProof message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AndProof + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.Mix2Proof.AndProof; + + /** + * Verifies an AndProof message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an AndProof message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AndProof + */ + public static fromObject(object: { [k: string]: any }): meerkat.Mix2Proof.AndProof; + + /** + * Creates a plain object from an AndProof message. Also converts values to other types if specified. + * @param message AndProof + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.Mix2Proof.AndProof, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AndProof to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace AndProof { + + /** Properties of a FirstMessage. */ + interface IFirstMessage { + + /** FirstMessage clause0 */ + clause0?: meerkat.Mix2Proof.DlogProof.IFirstMessage; + + /** FirstMessage clause1 */ + clause1?: meerkat.Mix2Proof.DlogProof.IFirstMessage; + } + + /** Represents a FirstMessage. */ + class FirstMessage { + + /** + * Constructs a new FirstMessage. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.Mix2Proof.AndProof.IFirstMessage); + + /** FirstMessage clause0. */ + public clause0?: (meerkat.Mix2Proof.DlogProof.IFirstMessage|null); + + /** FirstMessage clause1. */ + public clause1?: (meerkat.Mix2Proof.DlogProof.IFirstMessage|null); + + /** + * Creates a new FirstMessage instance using the specified properties. + * @param [properties] Properties to set + * @returns FirstMessage instance + */ + public static create(properties?: meerkat.Mix2Proof.AndProof.IFirstMessage): meerkat.Mix2Proof.AndProof.FirstMessage; + + /** + * Encodes the specified FirstMessage message. Does not implicitly {@link meerkat.Mix2Proof.AndProof.FirstMessage.verify|verify} messages. + * @param message FirstMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.Mix2Proof.AndProof.IFirstMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FirstMessage message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.AndProof.FirstMessage.verify|verify} messages. + * @param message FirstMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.Mix2Proof.AndProof.IFirstMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FirstMessage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FirstMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.Mix2Proof.AndProof.FirstMessage; + + /** + * Decodes a FirstMessage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FirstMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.Mix2Proof.AndProof.FirstMessage; + + /** + * Verifies a FirstMessage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FirstMessage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FirstMessage + */ + public static fromObject(object: { [k: string]: any }): meerkat.Mix2Proof.AndProof.FirstMessage; + + /** + * Creates a plain object from a FirstMessage message. Also converts values to other types if specified. + * @param message FirstMessage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.Mix2Proof.AndProof.FirstMessage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FirstMessage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a FinalMessage. */ + interface IFinalMessage { + + /** FinalMessage clause0 */ + clause0?: meerkat.Mix2Proof.DlogProof.IFinalMessage; + + /** FinalMessage clause1 */ + clause1?: meerkat.Mix2Proof.DlogProof.IFinalMessage; + } + + /** Represents a FinalMessage. */ + class FinalMessage { + + /** + * Constructs a new FinalMessage. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.Mix2Proof.AndProof.IFinalMessage); + + /** FinalMessage clause0. */ + public clause0?: (meerkat.Mix2Proof.DlogProof.IFinalMessage|null); + + /** FinalMessage clause1. */ + public clause1?: (meerkat.Mix2Proof.DlogProof.IFinalMessage|null); + + /** + * Creates a new FinalMessage instance using the specified properties. + * @param [properties] Properties to set + * @returns FinalMessage instance + */ + public static create(properties?: meerkat.Mix2Proof.AndProof.IFinalMessage): meerkat.Mix2Proof.AndProof.FinalMessage; + + /** + * Encodes the specified FinalMessage message. Does not implicitly {@link meerkat.Mix2Proof.AndProof.FinalMessage.verify|verify} messages. + * @param message FinalMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.Mix2Proof.AndProof.IFinalMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FinalMessage message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.AndProof.FinalMessage.verify|verify} messages. + * @param message FinalMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.Mix2Proof.AndProof.IFinalMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FinalMessage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FinalMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.Mix2Proof.AndProof.FinalMessage; + + /** + * Decodes a FinalMessage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FinalMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.Mix2Proof.AndProof.FinalMessage; + + /** + * Verifies a FinalMessage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FinalMessage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FinalMessage + */ + public static fromObject(object: { [k: string]: any }): meerkat.Mix2Proof.AndProof.FinalMessage; + + /** + * Creates a plain object from a FinalMessage message. Also converts values to other types if specified. + * @param message FinalMessage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.Mix2Proof.AndProof.FinalMessage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FinalMessage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + + /** Properties of a FirstMessage. */ + interface IFirstMessage { + + /** FirstMessage clause0 */ + clause0?: meerkat.Mix2Proof.AndProof.IFirstMessage; + + /** FirstMessage clause1 */ + clause1?: meerkat.Mix2Proof.AndProof.IFirstMessage; + } + + /** Represents a FirstMessage. */ + class FirstMessage { + + /** + * Constructs a new FirstMessage. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.Mix2Proof.IFirstMessage); + + /** FirstMessage clause0. */ + public clause0?: (meerkat.Mix2Proof.AndProof.IFirstMessage|null); + + /** FirstMessage clause1. */ + public clause1?: (meerkat.Mix2Proof.AndProof.IFirstMessage|null); + + /** + * Creates a new FirstMessage instance using the specified properties. + * @param [properties] Properties to set + * @returns FirstMessage instance + */ + public static create(properties?: meerkat.Mix2Proof.IFirstMessage): meerkat.Mix2Proof.FirstMessage; + + /** + * Encodes the specified FirstMessage message. Does not implicitly {@link meerkat.Mix2Proof.FirstMessage.verify|verify} messages. + * @param message FirstMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.Mix2Proof.IFirstMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FirstMessage message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.FirstMessage.verify|verify} messages. + * @param message FirstMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.Mix2Proof.IFirstMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FirstMessage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FirstMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.Mix2Proof.FirstMessage; + + /** + * Decodes a FirstMessage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FirstMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.Mix2Proof.FirstMessage; + + /** + * Verifies a FirstMessage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FirstMessage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FirstMessage + */ + public static fromObject(object: { [k: string]: any }): meerkat.Mix2Proof.FirstMessage; + + /** + * Creates a plain object from a FirstMessage message. Also converts values to other types if specified. + * @param message FirstMessage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.Mix2Proof.FirstMessage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FirstMessage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a FinalMessage. */ + interface IFinalMessage { + + /** FinalMessage clause0 */ + clause0?: meerkat.Mix2Proof.AndProof.IFinalMessage; + + /** FinalMessage clause1 */ + clause1?: meerkat.Mix2Proof.AndProof.IFinalMessage; + + /** FinalMessage c0 */ + c0?: meerkat.IBigInteger; + } + + /** Represents a FinalMessage. */ + class FinalMessage { + + /** + * Constructs a new FinalMessage. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.Mix2Proof.IFinalMessage); + + /** FinalMessage clause0. */ + public clause0?: (meerkat.Mix2Proof.AndProof.IFinalMessage|null); + + /** FinalMessage clause1. */ + public clause1?: (meerkat.Mix2Proof.AndProof.IFinalMessage|null); + + /** FinalMessage c0. */ + public c0?: (meerkat.IBigInteger|null); + + /** + * Creates a new FinalMessage instance using the specified properties. + * @param [properties] Properties to set + * @returns FinalMessage instance + */ + public static create(properties?: meerkat.Mix2Proof.IFinalMessage): meerkat.Mix2Proof.FinalMessage; + + /** + * Encodes the specified FinalMessage message. Does not implicitly {@link meerkat.Mix2Proof.FinalMessage.verify|verify} messages. + * @param message FinalMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.Mix2Proof.IFinalMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FinalMessage message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.FinalMessage.verify|verify} messages. + * @param message FinalMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.Mix2Proof.IFinalMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FinalMessage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FinalMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.Mix2Proof.FinalMessage; + + /** + * Decodes a FinalMessage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FinalMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.Mix2Proof.FinalMessage; + + /** + * Verifies a FinalMessage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FinalMessage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FinalMessage + */ + public static fromObject(object: { [k: string]: any }): meerkat.Mix2Proof.FinalMessage; + + /** + * Creates a plain object from a FinalMessage message. Also converts values to other types if specified. + * @param message FinalMessage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.Mix2Proof.FinalMessage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FinalMessage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Location. */ + interface ILocation { + + /** Location layer */ + layer?: number; + + /** Location switchIdx */ + switchIdx?: number; + + /** Location out0 */ + out0?: number; + + /** Location out1 */ + out1?: number; + } + + /** Represents a Location. */ + class Location { + + /** + * Constructs a new Location. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.Mix2Proof.ILocation); + + /** Location layer. */ + public layer: number; + + /** Location switchIdx. */ + public switchIdx: number; + + /** Location out0. */ + public out0: number; + + /** Location out1. */ + public out1: number; + + /** + * Creates a new Location instance using the specified properties. + * @param [properties] Properties to set + * @returns Location instance + */ + public static create(properties?: meerkat.Mix2Proof.ILocation): meerkat.Mix2Proof.Location; + + /** + * Encodes the specified Location message. Does not implicitly {@link meerkat.Mix2Proof.Location.verify|verify} messages. + * @param message Location message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.Mix2Proof.ILocation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Location message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.Location.verify|verify} messages. + * @param message Location message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.Mix2Proof.ILocation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Location message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Location + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.Mix2Proof.Location; + + /** + * Decodes a Location message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Location + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.Mix2Proof.Location; + + /** + * Verifies a Location message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Location message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Location + */ + public static fromObject(object: { [k: string]: any }): meerkat.Mix2Proof.Location; + + /** + * Creates a plain object from a Location message. Also converts values to other types if specified. + * @param message Location + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.Mix2Proof.Location, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Location to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + + /** Properties of a ConnectionServerData. */ + interface IConnectionServerData { + + /** ConnectionServerData serverUrl */ + serverUrl?: string; + + /** ConnectionServerData nonce */ + nonce?: (number|Long); + } + + /** Represents a ConnectionServerData. */ + class ConnectionServerData { + + /** + * Constructs a new ConnectionServerData. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IConnectionServerData); + + /** ConnectionServerData serverUrl. */ + public serverUrl: string; + + /** ConnectionServerData nonce. */ + public nonce: (number|Long); + + /** + * Creates a new ConnectionServerData instance using the specified properties. + * @param [properties] Properties to set + * @returns ConnectionServerData instance + */ + public static create(properties?: meerkat.IConnectionServerData): meerkat.ConnectionServerData; + + /** + * Encodes the specified ConnectionServerData message. Does not implicitly {@link meerkat.ConnectionServerData.verify|verify} messages. + * @param message ConnectionServerData message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IConnectionServerData, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ConnectionServerData message, length delimited. Does not implicitly {@link meerkat.ConnectionServerData.verify|verify} messages. + * @param message ConnectionServerData message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IConnectionServerData, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ConnectionServerData message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ConnectionServerData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.ConnectionServerData; + + /** + * Decodes a ConnectionServerData message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ConnectionServerData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.ConnectionServerData; + + /** + * Verifies a ConnectionServerData message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ConnectionServerData message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ConnectionServerData + */ + public static fromObject(object: { [k: string]: any }): meerkat.ConnectionServerData; + + /** + * Creates a plain object from a ConnectionServerData message. Also converts values to other types if specified. + * @param message ConnectionServerData + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.ConnectionServerData, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ConnectionServerData to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ConnectionClientData. */ + interface IConnectionClientData { + + /** ConnectionClientData scannerId */ + scannerId?: Uint8Array; + + /** ConnectionClientData scannerPK */ + scannerPK?: meerkat.ISignatureVerificationKey; + + /** ConnectionClientData nonce */ + nonce?: (number|Long); + } + + /** Represents a ConnectionClientData. */ + class ConnectionClientData { + + /** + * Constructs a new ConnectionClientData. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IConnectionClientData); + + /** ConnectionClientData scannerId. */ + public scannerId: Uint8Array; + + /** ConnectionClientData scannerPK. */ + public scannerPK?: (meerkat.ISignatureVerificationKey|null); + + /** ConnectionClientData nonce. */ + public nonce: (number|Long); + + /** ConnectionClientData id. */ + public id?: string; + + /** + * Creates a new ConnectionClientData instance using the specified properties. + * @param [properties] Properties to set + * @returns ConnectionClientData instance + */ + public static create(properties?: meerkat.IConnectionClientData): meerkat.ConnectionClientData; + + /** + * Encodes the specified ConnectionClientData message. Does not implicitly {@link meerkat.ConnectionClientData.verify|verify} messages. + * @param message ConnectionClientData message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IConnectionClientData, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ConnectionClientData message, length delimited. Does not implicitly {@link meerkat.ConnectionClientData.verify|verify} messages. + * @param message ConnectionClientData message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IConnectionClientData, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ConnectionClientData message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ConnectionClientData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.ConnectionClientData; + + /** + * Decodes a ConnectionClientData message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ConnectionClientData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.ConnectionClientData; + + /** + * Verifies a ConnectionClientData message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ConnectionClientData message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ConnectionClientData + */ + public static fromObject(object: { [k: string]: any }): meerkat.ConnectionClientData; + + /** + * Creates a plain object from a ConnectionClientData message. Also converts values to other types if specified. + * @param message ConnectionClientData + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.ConnectionClientData, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ConnectionClientData to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ScannedBallot. */ + interface IScannedBallot { + + /** ScannedBallot channel */ + channel?: Uint8Array; + + /** ScannedBallot signedEncryptedBallot */ + signedEncryptedBallot?: meerkat.ISignedEncryptedBallot; + } + + /** Represents a ScannedBallot. */ + class ScannedBallot { + + /** + * Constructs a new ScannedBallot. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IScannedBallot); + + /** ScannedBallot channel. */ + public channel: Uint8Array; + + /** ScannedBallot signedEncryptedBallot. */ + public signedEncryptedBallot?: (meerkat.ISignedEncryptedBallot|null); + + /** + * Creates a new ScannedBallot instance using the specified properties. + * @param [properties] Properties to set + * @returns ScannedBallot instance + */ + public static create(properties?: meerkat.IScannedBallot): meerkat.ScannedBallot; + + /** + * Encodes the specified ScannedBallot message. Does not implicitly {@link meerkat.ScannedBallot.verify|verify} messages. + * @param message ScannedBallot message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IScannedBallot, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ScannedBallot message, length delimited. Does not implicitly {@link meerkat.ScannedBallot.verify|verify} messages. + * @param message ScannedBallot message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IScannedBallot, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ScannedBallot message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ScannedBallot + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.ScannedBallot; + + /** + * Decodes a ScannedBallot message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ScannedBallot + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.ScannedBallot; + + /** + * Verifies a ScannedBallot message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ScannedBallot message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ScannedBallot + */ + public static fromObject(object: { [k: string]: any }): meerkat.ScannedBallot; + + /** + * Creates a plain object from a ScannedBallot message. Also converts values to other types if specified. + * @param message ScannedBallot + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.ScannedBallot, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ScannedBallot to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ScanError. */ + interface IScanError { + + /** ScanError msg */ + msg?: string; + } + + /** Represents a ScanError. */ + class ScanError { + + /** + * Constructs a new ScanError. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IScanError); + + /** ScanError msg. */ + public msg: string; + + /** + * Creates a new ScanError instance using the specified properties. + * @param [properties] Properties to set + * @returns ScanError instance + */ + public static create(properties?: meerkat.IScanError): meerkat.ScanError; + + /** + * Encodes the specified ScanError message. Does not implicitly {@link meerkat.ScanError.verify|verify} messages. + * @param message ScanError message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IScanError, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ScanError message, length delimited. Does not implicitly {@link meerkat.ScanError.verify|verify} messages. + * @param message ScanError message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IScanError, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ScanError message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ScanError + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.ScanError; + + /** + * Decodes a ScanError message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ScanError + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.ScanError; + + /** + * Verifies a ScanError message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ScanError message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ScanError + */ + public static fromObject(object: { [k: string]: any }): meerkat.ScanError; + + /** + * Creates a plain object from a ScanError message. Also converts values to other types if specified. + * @param message ScanError + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.ScanError, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ScanError to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ScannedData. */ + interface IScannedData { + + /** ScannedData ballot */ + ballot?: meerkat.IScannedBallot; + + /** ScannedData error */ + error?: meerkat.IScanError; + + /** ScannedData serial */ + serial?: (number|Long); + + /** ScannedData scannerId */ + scannerId?: Uint8Array; + } + + /** Represents a ScannedData. */ + class ScannedData { + + /** + * Constructs a new ScannedData. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IScannedData); + + /** ScannedData ballot. */ + public ballot?: (meerkat.IScannedBallot|null); + + /** ScannedData error. */ + public error?: (meerkat.IScanError|null); + + /** ScannedData serial. */ + public serial: (number|Long); + + /** ScannedData scannerId. */ + public scannerId: Uint8Array; + + /** ScannedData data. */ + public data?: string; + + /** + * Creates a new ScannedData instance using the specified properties. + * @param [properties] Properties to set + * @returns ScannedData instance + */ + public static create(properties?: meerkat.IScannedData): meerkat.ScannedData; + + /** + * Encodes the specified ScannedData message. Does not implicitly {@link meerkat.ScannedData.verify|verify} messages. + * @param message ScannedData message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IScannedData, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ScannedData message, length delimited. Does not implicitly {@link meerkat.ScannedData.verify|verify} messages. + * @param message ScannedData message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IScannedData, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ScannedData message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ScannedData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.ScannedData; + + /** + * Decodes a ScannedData message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ScannedData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.ScannedData; + + /** + * Verifies a ScannedData message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ScannedData message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ScannedData + */ + public static fromObject(object: { [k: string]: any }): meerkat.ScannedData; + + /** + * Creates a plain object from a ScannedData message. Also converts values to other types if specified. + * @param message ScannedData + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.ScannedData, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ScannedData to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a SignedScannedData. */ + interface ISignedScannedData { + + /** SignedScannedData data */ + data?: meerkat.IScannedData; + + /** SignedScannedData scannerSig */ + scannerSig?: meerkat.ISignature; + } + + /** Represents a SignedScannedData. */ + class SignedScannedData { + + /** + * Constructs a new SignedScannedData. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.ISignedScannedData); + + /** SignedScannedData data. */ + public data?: (meerkat.IScannedData|null); + + /** SignedScannedData scannerSig. */ + public scannerSig?: (meerkat.ISignature|null); + + /** + * Creates a new SignedScannedData instance using the specified properties. + * @param [properties] Properties to set + * @returns SignedScannedData instance + */ + public static create(properties?: meerkat.ISignedScannedData): meerkat.SignedScannedData; + + /** + * Encodes the specified SignedScannedData message. Does not implicitly {@link meerkat.SignedScannedData.verify|verify} messages. + * @param message SignedScannedData message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.ISignedScannedData, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SignedScannedData message, length delimited. Does not implicitly {@link meerkat.SignedScannedData.verify|verify} messages. + * @param message SignedScannedData message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.ISignedScannedData, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SignedScannedData message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SignedScannedData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.SignedScannedData; + + /** + * Decodes a SignedScannedData message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SignedScannedData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.SignedScannedData; + + /** + * Verifies a SignedScannedData message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SignedScannedData message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SignedScannedData + */ + public static fromObject(object: { [k: string]: any }): meerkat.SignedScannedData; + + /** + * Creates a plain object from a SignedScannedData message. Also converts values to other types if specified. + * @param message SignedScannedData + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.SignedScannedData, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SignedScannedData to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** UIElementDataType enum. */ + enum UIElementDataType { + TEXT = 0, + IMAGE = 1, + VOICE = 2 + } + + /** QuestionType enum. */ + enum QuestionType { + MULTIPLE_CHOICE = 0, + MULTIPLE_SELECTION = 1, + ORDER = 2 + } + + /** Properties of a UIElement. */ + interface IUIElement { + + /** UIElement type */ + type?: meerkat.UIElementDataType; + + /** UIElement data */ + data?: Uint8Array; + } + + /** Represents a UIElement. */ + class UIElement { + + /** + * Constructs a new UIElement. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IUIElement); + + /** UIElement type. */ + public type: meerkat.UIElementDataType; + + /** UIElement data. */ + public data: Uint8Array; + + /** + * Creates a new UIElement instance using the specified properties. + * @param [properties] Properties to set + * @returns UIElement instance + */ + public static create(properties?: meerkat.IUIElement): meerkat.UIElement; + + /** + * Encodes the specified UIElement message. Does not implicitly {@link meerkat.UIElement.verify|verify} messages. + * @param message UIElement message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IUIElement, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified UIElement message, length delimited. Does not implicitly {@link meerkat.UIElement.verify|verify} messages. + * @param message UIElement message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IUIElement, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a UIElement message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns UIElement + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.UIElement; + + /** + * Decodes a UIElement message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns UIElement + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.UIElement; + + /** + * Verifies a UIElement message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a UIElement message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns UIElement + */ + public static fromObject(object: { [k: string]: any }): meerkat.UIElement; + + /** + * Creates a plain object from a UIElement message. Also converts values to other types if specified. + * @param message UIElement + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.UIElement, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this UIElement to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BallotQuestion. */ + interface IBallotQuestion { + + /** BallotQuestion isMandatory */ + isMandatory?: boolean; + + /** BallotQuestion question */ + question?: meerkat.IUIElement; + + /** BallotQuestion description */ + description?: meerkat.IUIElement; + + /** BallotQuestion answer */ + answer?: meerkat.IUIElement[]; + } + + /** Represents a BallotQuestion. */ + class BallotQuestion { + + /** + * Constructs a new BallotQuestion. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IBallotQuestion); + + /** BallotQuestion isMandatory. */ + public isMandatory: boolean; + + /** BallotQuestion question. */ + public question?: (meerkat.IUIElement|null); + + /** BallotQuestion description. */ + public description?: (meerkat.IUIElement|null); + + /** BallotQuestion answer. */ + public answer: meerkat.IUIElement[]; + + /** + * Creates a new BallotQuestion instance using the specified properties. + * @param [properties] Properties to set + * @returns BallotQuestion instance + */ + public static create(properties?: meerkat.IBallotQuestion): meerkat.BallotQuestion; + + /** + * Encodes the specified BallotQuestion message. Does not implicitly {@link meerkat.BallotQuestion.verify|verify} messages. + * @param message BallotQuestion message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IBallotQuestion, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BallotQuestion message, length delimited. Does not implicitly {@link meerkat.BallotQuestion.verify|verify} messages. + * @param message BallotQuestion message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IBallotQuestion, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BallotQuestion message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BallotQuestion + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.BallotQuestion; + + /** + * Decodes a BallotQuestion message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BallotQuestion + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.BallotQuestion; + + /** + * Verifies a BallotQuestion message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BallotQuestion message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BallotQuestion + */ + public static fromObject(object: { [k: string]: any }): meerkat.BallotQuestion; + + /** + * Creates a plain object from a BallotQuestion message. Also converts values to other types if specified. + * @param message BallotQuestion + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.BallotQuestion, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BallotQuestion to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a QuestionCluster. */ + interface IQuestionCluster { + + /** QuestionCluster clusterDescription */ + clusterDescription?: meerkat.IUIElement; + + /** QuestionCluster questionIndex */ + questionIndex?: number[]; + } + + /** Represents a QuestionCluster. */ + class QuestionCluster { + + /** + * Constructs a new QuestionCluster. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IQuestionCluster); + + /** QuestionCluster clusterDescription. */ + public clusterDescription?: (meerkat.IUIElement|null); + + /** QuestionCluster questionIndex. */ + public questionIndex: number[]; + + /** + * Creates a new QuestionCluster instance using the specified properties. + * @param [properties] Properties to set + * @returns QuestionCluster instance + */ + public static create(properties?: meerkat.IQuestionCluster): meerkat.QuestionCluster; + + /** + * Encodes the specified QuestionCluster message. Does not implicitly {@link meerkat.QuestionCluster.verify|verify} messages. + * @param message QuestionCluster message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IQuestionCluster, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified QuestionCluster message, length delimited. Does not implicitly {@link meerkat.QuestionCluster.verify|verify} messages. + * @param message QuestionCluster message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IQuestionCluster, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a QuestionCluster message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns QuestionCluster + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.QuestionCluster; + + /** + * Decodes a QuestionCluster message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns QuestionCluster + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.QuestionCluster; + + /** + * Verifies a QuestionCluster message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a QuestionCluster message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns QuestionCluster + */ + public static fromObject(object: { [k: string]: any }): meerkat.QuestionCluster; + + /** + * Creates a plain object from a QuestionCluster message. Also converts values to other types if specified. + * @param message QuestionCluster + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.QuestionCluster, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this QuestionCluster to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Channel. */ + interface IChannel { + + /** Channel channelDescription */ + channelDescription?: meerkat.IUIElement; + + /** Channel clusterIndex */ + clusterIndex?: number[]; + } + + /** Represents a Channel. */ + class Channel { + + /** + * Constructs a new Channel. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IChannel); + + /** Channel channelDescription. */ + public channelDescription?: (meerkat.IUIElement|null); + + /** Channel clusterIndex. */ + public clusterIndex: number[]; + + /** + * Creates a new Channel instance using the specified properties. + * @param [properties] Properties to set + * @returns Channel instance + */ + public static create(properties?: meerkat.IChannel): meerkat.Channel; + + /** + * Encodes the specified Channel message. Does not implicitly {@link meerkat.Channel.verify|verify} messages. + * @param message Channel message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IChannel, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Channel message, length delimited. Does not implicitly {@link meerkat.Channel.verify|verify} messages. + * @param message Channel message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IChannel, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Channel message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Channel + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.Channel; + + /** + * Decodes a Channel message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Channel + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.Channel; + + /** + * Verifies a Channel message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Channel message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Channel + */ + public static fromObject(object: { [k: string]: any }): meerkat.Channel; + + /** + * Creates a plain object from a Channel message. Also converts values to other types if specified. + * @param message Channel + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.Channel, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Channel to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BallotAnswer. */ + interface IBallotAnswer { + + /** BallotAnswer answer */ + answer?: (number|Long)[]; + } + + /** Represents a BallotAnswer. */ + class BallotAnswer { + + /** + * Constructs a new BallotAnswer. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IBallotAnswer); + + /** BallotAnswer answer. */ + public answer: (number|Long)[]; + + /** + * Creates a new BallotAnswer instance using the specified properties. + * @param [properties] Properties to set + * @returns BallotAnswer instance + */ + public static create(properties?: meerkat.IBallotAnswer): meerkat.BallotAnswer; + + /** + * Encodes the specified BallotAnswer message. Does not implicitly {@link meerkat.BallotAnswer.verify|verify} messages. + * @param message BallotAnswer message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IBallotAnswer, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BallotAnswer message, length delimited. Does not implicitly {@link meerkat.BallotAnswer.verify|verify} messages. + * @param message BallotAnswer message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IBallotAnswer, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BallotAnswer message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BallotAnswer + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.BallotAnswer; + + /** + * Decodes a BallotAnswer message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BallotAnswer + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.BallotAnswer; + + /** + * Verifies a BallotAnswer message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BallotAnswer message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BallotAnswer + */ + public static fromObject(object: { [k: string]: any }): meerkat.BallotAnswer; + + /** + * Creates a plain object from a BallotAnswer message. Also converts values to other types if specified. + * @param message BallotAnswer + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.BallotAnswer, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BallotAnswer to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a PlaintextBallot. */ + interface IPlaintextBallot { + + /** PlaintextBallot serialNumber */ + serialNumber?: (number|Long); + + /** PlaintextBallot channelIdentifier */ + channelIdentifier?: Uint8Array; + + /** PlaintextBallot answers */ + answers?: meerkat.IBallotAnswer[]; + } + + /** Represents a PlaintextBallot. */ + class PlaintextBallot { + + /** + * Constructs a new PlaintextBallot. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IPlaintextBallot); + + /** PlaintextBallot serialNumber. */ + public serialNumber: (number|Long); + + /** PlaintextBallot channelIdentifier. */ + public channelIdentifier: Uint8Array; + + /** PlaintextBallot answers. */ + public answers: meerkat.IBallotAnswer[]; + + /** + * Creates a new PlaintextBallot instance using the specified properties. + * @param [properties] Properties to set + * @returns PlaintextBallot instance + */ + public static create(properties?: meerkat.IPlaintextBallot): meerkat.PlaintextBallot; + + /** + * Encodes the specified PlaintextBallot message. Does not implicitly {@link meerkat.PlaintextBallot.verify|verify} messages. + * @param message PlaintextBallot message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IPlaintextBallot, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified PlaintextBallot message, length delimited. Does not implicitly {@link meerkat.PlaintextBallot.verify|verify} messages. + * @param message PlaintextBallot message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IPlaintextBallot, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a PlaintextBallot message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns PlaintextBallot + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.PlaintextBallot; + + /** + * Decodes a PlaintextBallot message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns PlaintextBallot + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.PlaintextBallot; + + /** + * Verifies a PlaintextBallot message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a PlaintextBallot message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns PlaintextBallot + */ + public static fromObject(object: { [k: string]: any }): meerkat.PlaintextBallot; + + /** + * Creates a plain object from a PlaintextBallot message. Also converts values to other types if specified. + * @param message PlaintextBallot + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.PlaintextBallot, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this PlaintextBallot to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an EncryptedBallot. */ + interface IEncryptedBallot { + + /** EncryptedBallot serialNumber */ + serialNumber?: (number|Long); + + /** EncryptedBallot data */ + data?: meerkat.IRerandomizableEncryptedMessage; + } + + /** Represents an EncryptedBallot. */ + class EncryptedBallot { + + /** + * Constructs a new EncryptedBallot. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IEncryptedBallot); + + /** EncryptedBallot serialNumber. */ + public serialNumber: (number|Long); + + /** EncryptedBallot data. */ + public data?: (meerkat.IRerandomizableEncryptedMessage|null); + + /** + * Creates a new EncryptedBallot instance using the specified properties. + * @param [properties] Properties to set + * @returns EncryptedBallot instance + */ + public static create(properties?: meerkat.IEncryptedBallot): meerkat.EncryptedBallot; + + /** + * Encodes the specified EncryptedBallot message. Does not implicitly {@link meerkat.EncryptedBallot.verify|verify} messages. + * @param message EncryptedBallot message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IEncryptedBallot, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EncryptedBallot message, length delimited. Does not implicitly {@link meerkat.EncryptedBallot.verify|verify} messages. + * @param message EncryptedBallot message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IEncryptedBallot, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EncryptedBallot message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EncryptedBallot + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.EncryptedBallot; + + /** + * Decodes an EncryptedBallot message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EncryptedBallot + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.EncryptedBallot; + + /** + * Verifies an EncryptedBallot message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an EncryptedBallot message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EncryptedBallot + */ + public static fromObject(object: { [k: string]: any }): meerkat.EncryptedBallot; + + /** + * Creates a plain object from an EncryptedBallot message. Also converts values to other types if specified. + * @param message EncryptedBallot + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.EncryptedBallot, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EncryptedBallot to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a SignedEncryptedBallot. */ + interface ISignedEncryptedBallot { + + /** SignedEncryptedBallot encryptedBallot */ + encryptedBallot?: meerkat.IEncryptedBallot; + + /** SignedEncryptedBallot signature */ + signature?: meerkat.ISignature; + } + + /** Represents a SignedEncryptedBallot. */ + class SignedEncryptedBallot { + + /** + * Constructs a new SignedEncryptedBallot. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.ISignedEncryptedBallot); + + /** SignedEncryptedBallot encryptedBallot. */ + public encryptedBallot?: (meerkat.IEncryptedBallot|null); + + /** SignedEncryptedBallot signature. */ + public signature?: (meerkat.ISignature|null); + + /** + * Creates a new SignedEncryptedBallot instance using the specified properties. + * @param [properties] Properties to set + * @returns SignedEncryptedBallot instance + */ + public static create(properties?: meerkat.ISignedEncryptedBallot): meerkat.SignedEncryptedBallot; + + /** + * Encodes the specified SignedEncryptedBallot message. Does not implicitly {@link meerkat.SignedEncryptedBallot.verify|verify} messages. + * @param message SignedEncryptedBallot message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.ISignedEncryptedBallot, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SignedEncryptedBallot message, length delimited. Does not implicitly {@link meerkat.SignedEncryptedBallot.verify|verify} messages. + * @param message SignedEncryptedBallot message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.ISignedEncryptedBallot, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SignedEncryptedBallot message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SignedEncryptedBallot + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.SignedEncryptedBallot; + + /** + * Decodes a SignedEncryptedBallot message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SignedEncryptedBallot + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.SignedEncryptedBallot; + + /** + * Verifies a SignedEncryptedBallot message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SignedEncryptedBallot message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SignedEncryptedBallot + */ + public static fromObject(object: { [k: string]: any }): meerkat.SignedEncryptedBallot; + + /** + * Creates a plain object from a SignedEncryptedBallot message. Also converts values to other types if specified. + * @param message SignedEncryptedBallot + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.SignedEncryptedBallot, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SignedEncryptedBallot to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BallotSecrets. */ + interface IBallotSecrets { + + /** BallotSecrets plaintextBallot */ + plaintextBallot?: meerkat.IPlaintextBallot; + + /** BallotSecrets encryptionRandomness */ + encryptionRandomness?: meerkat.IEncryptionRandomness; + + /** BallotSecrets proof */ + proof?: meerkat.IRandomnessGenerationProof; + } + + /** Represents a BallotSecrets. */ + class BallotSecrets { + + /** + * Constructs a new BallotSecrets. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IBallotSecrets); + + /** BallotSecrets plaintextBallot. */ + public plaintextBallot?: (meerkat.IPlaintextBallot|null); + + /** BallotSecrets encryptionRandomness. */ + public encryptionRandomness?: (meerkat.IEncryptionRandomness|null); + + /** BallotSecrets proof. */ + public proof?: (meerkat.IRandomnessGenerationProof|null); + + /** + * Creates a new BallotSecrets instance using the specified properties. + * @param [properties] Properties to set + * @returns BallotSecrets instance + */ + public static create(properties?: meerkat.IBallotSecrets): meerkat.BallotSecrets; + + /** + * Encodes the specified BallotSecrets message. Does not implicitly {@link meerkat.BallotSecrets.verify|verify} messages. + * @param message BallotSecrets message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IBallotSecrets, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BallotSecrets message, length delimited. Does not implicitly {@link meerkat.BallotSecrets.verify|verify} messages. + * @param message BallotSecrets message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IBallotSecrets, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BallotSecrets message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BallotSecrets + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.BallotSecrets; + + /** + * Decodes a BallotSecrets message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BallotSecrets + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.BallotSecrets; + + /** + * Verifies a BallotSecrets message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BallotSecrets message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BallotSecrets + */ + public static fromObject(object: { [k: string]: any }): meerkat.BallotSecrets; + + /** + * Creates a plain object from a BallotSecrets message. Also converts values to other types if specified. + * @param message BallotSecrets + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.BallotSecrets, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BallotSecrets to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BoothParams. */ + interface IBoothParams { + + /** BoothParams pscVerificationKeys */ + pscVerificationKeys?: meerkat.ISignatureVerificationKey[]; + } + + /** Represents a BoothParams. */ + class BoothParams { + + /** + * Constructs a new BoothParams. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IBoothParams); + + /** BoothParams pscVerificationKeys. */ + public pscVerificationKeys: meerkat.ISignatureVerificationKey[]; + + /** + * Creates a new BoothParams instance using the specified properties. + * @param [properties] Properties to set + * @returns BoothParams instance + */ + public static create(properties?: meerkat.IBoothParams): meerkat.BoothParams; + + /** + * Encodes the specified BoothParams message. Does not implicitly {@link meerkat.BoothParams.verify|verify} messages. + * @param message BoothParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IBoothParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BoothParams message, length delimited. Does not implicitly {@link meerkat.BoothParams.verify|verify} messages. + * @param message BoothParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IBoothParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BoothParams message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BoothParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.BoothParams; + + /** + * Decodes a BoothParams message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BoothParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.BoothParams; + + /** + * Verifies a BoothParams message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BoothParams message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BoothParams + */ + public static fromObject(object: { [k: string]: any }): meerkat.BoothParams; + + /** + * Creates a plain object from a BoothParams message. Also converts values to other types if specified. + * @param message BoothParams + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.BoothParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BoothParams to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BoothSystemMessages. */ + interface IBoothSystemMessages { + + /** BoothSystemMessages systemMessage */ + systemMessage?: { [k: string]: meerkat.IUIElement }; + } + + /** Represents a BoothSystemMessages. */ + class BoothSystemMessages { + + /** + * Constructs a new BoothSystemMessages. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IBoothSystemMessages); + + /** BoothSystemMessages systemMessage. */ + public systemMessage: { [k: string]: meerkat.IUIElement }; + + /** + * Creates a new BoothSystemMessages instance using the specified properties. + * @param [properties] Properties to set + * @returns BoothSystemMessages instance + */ + public static create(properties?: meerkat.IBoothSystemMessages): meerkat.BoothSystemMessages; + + /** + * Encodes the specified BoothSystemMessages message. Does not implicitly {@link meerkat.BoothSystemMessages.verify|verify} messages. + * @param message BoothSystemMessages message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IBoothSystemMessages, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BoothSystemMessages message, length delimited. Does not implicitly {@link meerkat.BoothSystemMessages.verify|verify} messages. + * @param message BoothSystemMessages message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IBoothSystemMessages, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BoothSystemMessages message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BoothSystemMessages + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.BoothSystemMessages; + + /** + * Decodes a BoothSystemMessages message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BoothSystemMessages + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.BoothSystemMessages; + + /** + * Verifies a BoothSystemMessages message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BoothSystemMessages message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BoothSystemMessages + */ + public static fromObject(object: { [k: string]: any }): meerkat.BoothSystemMessages; + + /** + * Creates a plain object from a BoothSystemMessages message. Also converts values to other types if specified. + * @param message BoothSystemMessages + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.BoothSystemMessages, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BoothSystemMessages to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BallotAnswerTranslationTable. */ + interface IBallotAnswerTranslationTable { + + /** BallotAnswerTranslationTable data */ + data?: Uint8Array; + } + + /** Represents a BallotAnswerTranslationTable. */ + class BallotAnswerTranslationTable { + + /** + * Constructs a new BallotAnswerTranslationTable. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IBallotAnswerTranslationTable); + + /** BallotAnswerTranslationTable data. */ + public data: Uint8Array; + + /** + * Creates a new BallotAnswerTranslationTable instance using the specified properties. + * @param [properties] Properties to set + * @returns BallotAnswerTranslationTable instance + */ + public static create(properties?: meerkat.IBallotAnswerTranslationTable): meerkat.BallotAnswerTranslationTable; + + /** + * Encodes the specified BallotAnswerTranslationTable message. Does not implicitly {@link meerkat.BallotAnswerTranslationTable.verify|verify} messages. + * @param message BallotAnswerTranslationTable message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IBallotAnswerTranslationTable, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BallotAnswerTranslationTable message, length delimited. Does not implicitly {@link meerkat.BallotAnswerTranslationTable.verify|verify} messages. + * @param message BallotAnswerTranslationTable message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IBallotAnswerTranslationTable, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BallotAnswerTranslationTable message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BallotAnswerTranslationTable + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.BallotAnswerTranslationTable; + + /** + * Decodes a BallotAnswerTranslationTable message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BallotAnswerTranslationTable + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.BallotAnswerTranslationTable; + + /** + * Verifies a BallotAnswerTranslationTable message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BallotAnswerTranslationTable message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BallotAnswerTranslationTable + */ + public static fromObject(object: { [k: string]: any }): meerkat.BallotAnswerTranslationTable; + + /** + * Creates a plain object from a BallotAnswerTranslationTable message. Also converts values to other types if specified. + * @param message BallotAnswerTranslationTable + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.BallotAnswerTranslationTable, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BallotAnswerTranslationTable to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BulletinBoardClientParams. */ + interface IBulletinBoardClientParams { + + /** BulletinBoardClientParams bulletinBoardAddress */ + bulletinBoardAddress?: string[]; + + /** BulletinBoardClientParams minRedundancy */ + minRedundancy?: number; + } + + /** Represents a BulletinBoardClientParams. */ + class BulletinBoardClientParams { + + /** + * Constructs a new BulletinBoardClientParams. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IBulletinBoardClientParams); + + /** BulletinBoardClientParams bulletinBoardAddress. */ + public bulletinBoardAddress: string[]; + + /** BulletinBoardClientParams minRedundancy. */ + public minRedundancy: number; + + /** + * Creates a new BulletinBoardClientParams instance using the specified properties. + * @param [properties] Properties to set + * @returns BulletinBoardClientParams instance + */ + public static create(properties?: meerkat.IBulletinBoardClientParams): meerkat.BulletinBoardClientParams; + + /** + * Encodes the specified BulletinBoardClientParams message. Does not implicitly {@link meerkat.BulletinBoardClientParams.verify|verify} messages. + * @param message BulletinBoardClientParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IBulletinBoardClientParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BulletinBoardClientParams message, length delimited. Does not implicitly {@link meerkat.BulletinBoardClientParams.verify|verify} messages. + * @param message BulletinBoardClientParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IBulletinBoardClientParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BulletinBoardClientParams message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BulletinBoardClientParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.BulletinBoardClientParams; + + /** + * Decodes a BulletinBoardClientParams message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BulletinBoardClientParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.BulletinBoardClientParams; + + /** + * Verifies a BulletinBoardClientParams message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BulletinBoardClientParams message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BulletinBoardClientParams + */ + public static fromObject(object: { [k: string]: any }): meerkat.BulletinBoardClientParams; + + /** + * Creates a plain object from a BulletinBoardClientParams message. Also converts values to other types if specified. + * @param message BulletinBoardClientParams + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.BulletinBoardClientParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BulletinBoardClientParams to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ElectionParams. */ + interface IElectionParams { + + /** ElectionParams trusteeVerificationKeys */ + trusteeVerificationKeys?: meerkat.ISignatureVerificationKey[]; + + /** ElectionParams trusteeSignatureThreshold */ + trusteeSignatureThreshold?: number; + + /** ElectionParams ballotEncryptionKey */ + ballotEncryptionKey?: meerkat.IEncryptionPublicKey; + + /** ElectionParams mixerVerificationKeys */ + mixerVerificationKeys?: meerkat.ISignatureVerificationKey[]; + + /** ElectionParams mixerThreshold */ + mixerThreshold?: number; + + /** ElectionParams channelChoiceQuestions */ + channelChoiceQuestions?: meerkat.IBallotQuestion[]; + + /** ElectionParams selectionData */ + selectionData?: meerkat.ISimpleCategoriesSelectionData; + + /** ElectionParams raceQuestions */ + raceQuestions?: meerkat.IBallotQuestion[]; + + /** ElectionParams bulletinBoardClientParams */ + bulletinBoardClientParams?: meerkat.IBulletinBoardClientParams; + } + + /** Represents an ElectionParams. */ + class ElectionParams { + + /** + * Constructs a new ElectionParams. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.IElectionParams); + + /** ElectionParams trusteeVerificationKeys. */ + public trusteeVerificationKeys: meerkat.ISignatureVerificationKey[]; + + /** ElectionParams trusteeSignatureThreshold. */ + public trusteeSignatureThreshold: number; + + /** ElectionParams ballotEncryptionKey. */ + public ballotEncryptionKey?: (meerkat.IEncryptionPublicKey|null); + + /** ElectionParams mixerVerificationKeys. */ + public mixerVerificationKeys: meerkat.ISignatureVerificationKey[]; + + /** ElectionParams mixerThreshold. */ + public mixerThreshold: number; + + /** ElectionParams channelChoiceQuestions. */ + public channelChoiceQuestions: meerkat.IBallotQuestion[]; + + /** ElectionParams selectionData. */ + public selectionData?: (meerkat.ISimpleCategoriesSelectionData|null); + + /** ElectionParams raceQuestions. */ + public raceQuestions: meerkat.IBallotQuestion[]; + + /** ElectionParams bulletinBoardClientParams. */ + public bulletinBoardClientParams?: (meerkat.IBulletinBoardClientParams|null); + + /** + * Creates a new ElectionParams instance using the specified properties. + * @param [properties] Properties to set + * @returns ElectionParams instance + */ + public static create(properties?: meerkat.IElectionParams): meerkat.ElectionParams; + + /** + * Encodes the specified ElectionParams message. Does not implicitly {@link meerkat.ElectionParams.verify|verify} messages. + * @param message ElectionParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.IElectionParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ElectionParams message, length delimited. Does not implicitly {@link meerkat.ElectionParams.verify|verify} messages. + * @param message ElectionParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.IElectionParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ElectionParams message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ElectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.ElectionParams; + + /** + * Decodes an ElectionParams message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ElectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.ElectionParams; + + /** + * Verifies an ElectionParams message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an ElectionParams message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ElectionParams + */ + public static fromObject(object: { [k: string]: any }): meerkat.ElectionParams; + + /** + * Creates a plain object from an ElectionParams message. Also converts values to other types if specified. + * @param message ElectionParams + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.ElectionParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ElectionParams to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Category. */ + interface ICategory { + + /** Category questionIndex */ + questionIndex?: number[]; + } + + /** Represents a Category. */ + class Category { + + /** + * Constructs a new Category. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.ICategory); + + /** Category questionIndex. */ + public questionIndex: number[]; + + /** + * Creates a new Category instance using the specified properties. + * @param [properties] Properties to set + * @returns Category instance + */ + public static create(properties?: meerkat.ICategory): meerkat.Category; + + /** + * Encodes the specified Category message. Does not implicitly {@link meerkat.Category.verify|verify} messages. + * @param message Category message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.ICategory, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Category message, length delimited. Does not implicitly {@link meerkat.Category.verify|verify} messages. + * @param message Category message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.ICategory, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Category message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Category + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.Category; + + /** + * Decodes a Category message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Category + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.Category; + + /** + * Verifies a Category message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Category message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Category + */ + public static fromObject(object: { [k: string]: any }): meerkat.Category; + + /** + * Creates a plain object from a Category message. Also converts values to other types if specified. + * @param message Category + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.Category, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Category to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a CategoryChooser. */ + interface ICategoryChooser { + + /** CategoryChooser category */ + category?: meerkat.ICategory[]; + } + + /** Represents a CategoryChooser. */ + class CategoryChooser { + + /** + * Constructs a new CategoryChooser. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.ICategoryChooser); + + /** CategoryChooser category. */ + public category: meerkat.ICategory[]; + + /** + * Creates a new CategoryChooser instance using the specified properties. + * @param [properties] Properties to set + * @returns CategoryChooser instance + */ + public static create(properties?: meerkat.ICategoryChooser): meerkat.CategoryChooser; + + /** + * Encodes the specified CategoryChooser message. Does not implicitly {@link meerkat.CategoryChooser.verify|verify} messages. + * @param message CategoryChooser message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.ICategoryChooser, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CategoryChooser message, length delimited. Does not implicitly {@link meerkat.CategoryChooser.verify|verify} messages. + * @param message CategoryChooser message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.ICategoryChooser, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CategoryChooser message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CategoryChooser + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.CategoryChooser; + + /** + * Decodes a CategoryChooser message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CategoryChooser + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.CategoryChooser; + + /** + * Verifies a CategoryChooser message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CategoryChooser message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CategoryChooser + */ + public static fromObject(object: { [k: string]: any }): meerkat.CategoryChooser; + + /** + * Creates a plain object from a CategoryChooser message. Also converts values to other types if specified. + * @param message CategoryChooser + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.CategoryChooser, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CategoryChooser to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a SimpleCategoriesSelectionData. */ + interface ISimpleCategoriesSelectionData { + + /** SimpleCategoriesSelectionData sharedDefaults */ + sharedDefaults?: meerkat.ICategory; + + /** SimpleCategoriesSelectionData categoryChooser */ + categoryChooser?: meerkat.ICategoryChooser[]; + } + + /** Represents a SimpleCategoriesSelectionData. */ + class SimpleCategoriesSelectionData { + + /** + * Constructs a new SimpleCategoriesSelectionData. + * @param [properties] Properties to set + */ + constructor(properties?: meerkat.ISimpleCategoriesSelectionData); + + /** SimpleCategoriesSelectionData sharedDefaults. */ + public sharedDefaults?: (meerkat.ICategory|null); + + /** SimpleCategoriesSelectionData categoryChooser. */ + public categoryChooser: meerkat.ICategoryChooser[]; + + /** + * Creates a new SimpleCategoriesSelectionData instance using the specified properties. + * @param [properties] Properties to set + * @returns SimpleCategoriesSelectionData instance + */ + public static create(properties?: meerkat.ISimpleCategoriesSelectionData): meerkat.SimpleCategoriesSelectionData; + + /** + * Encodes the specified SimpleCategoriesSelectionData message. Does not implicitly {@link meerkat.SimpleCategoriesSelectionData.verify|verify} messages. + * @param message SimpleCategoriesSelectionData message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: meerkat.ISimpleCategoriesSelectionData, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SimpleCategoriesSelectionData message, length delimited. Does not implicitly {@link meerkat.SimpleCategoriesSelectionData.verify|verify} messages. + * @param message SimpleCategoriesSelectionData message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: meerkat.ISimpleCategoriesSelectionData, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SimpleCategoriesSelectionData message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SimpleCategoriesSelectionData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.SimpleCategoriesSelectionData; + + /** + * Decodes a SimpleCategoriesSelectionData message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SimpleCategoriesSelectionData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.SimpleCategoriesSelectionData; + + /** + * Verifies a SimpleCategoriesSelectionData message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SimpleCategoriesSelectionData message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SimpleCategoriesSelectionData + */ + public static fromObject(object: { [k: string]: any }): meerkat.SimpleCategoriesSelectionData; + + /** + * Creates a plain object from a SimpleCategoriesSelectionData message. Also converts values to other types if specified. + * @param message SimpleCategoriesSelectionData + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: meerkat.SimpleCategoriesSelectionData, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SimpleCategoriesSelectionData to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } +} + +/** Namespace google. */ +export namespace google { + + /** Namespace protobuf. */ + namespace protobuf { + + /** Properties of a Timestamp. */ + interface ITimestamp { + + /** Timestamp seconds */ + seconds?: (number|Long); + + /** Timestamp nanos */ + nanos?: number; + } + + /** Represents a Timestamp. */ + class Timestamp { + + /** + * Constructs a new Timestamp. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.ITimestamp); + + /** Timestamp seconds. */ + public seconds: (number|Long); + + /** Timestamp nanos. */ + public nanos: number; + + /** + * Creates a new Timestamp instance using the specified properties. + * @param [properties] Properties to set + * @returns Timestamp instance + */ + public static create(properties?: google.protobuf.ITimestamp): google.protobuf.Timestamp; + + /** + * Encodes the specified Timestamp message. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. + * @param message Timestamp message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Timestamp message, length delimited. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. + * @param message Timestamp message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Timestamp message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Timestamp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Timestamp; + + /** + * Decodes a Timestamp message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Timestamp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Timestamp; + + /** + * Verifies a Timestamp message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Timestamp message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Timestamp + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.Timestamp; + + /** + * Creates a plain object from a Timestamp message. Also converts values to other types if specified. + * @param message Timestamp + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.Timestamp, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Timestamp to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } +} diff --git a/bulletin-board-server-frontend/src/app/bundle.js b/bulletin-board-server-frontend/src/app/bundle.js new file mode 100644 index 0000000..3de0349 --- /dev/null +++ b/bulletin-board-server-frontend/src/app/bundle.js @@ -0,0 +1,17755 @@ +/*eslint-disable block-scoped-var, no-redeclare, no-control-regex, no-prototype-builtins*/ +"use strict"; + +var $protobuf = require("protobufjs/minimal"); + +// Common aliases +var $Reader = $protobuf.Reader, $Writer = $protobuf.Writer, $util = $protobuf.util; + +// Exported root namespace +var $root = $protobuf.roots["default"] || ($protobuf.roots["default"] = {}); + +$root.meerkat = (function() { + + /** + * Namespace meerkat. + * @exports meerkat + * @namespace + */ + var meerkat = {}; + + meerkat.UIAnswer = (function() { + + /** + * Properties of a UIAnswer. + * @memberof meerkat + * @interface IUIAnswer + * @property {Uint8Array} [answer] UIAnswer answer + * @property {string} [description] UIAnswer description + */ + + /** + * Constructs a new UIAnswer. + * @memberof meerkat + * @classdesc Represents a UIAnswer. + * @constructor + * @param {meerkat.IUIAnswer=} [properties] Properties to set + */ + function UIAnswer(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * UIAnswer answer. + * @member {Uint8Array}answer + * @memberof meerkat.UIAnswer + * @instance + */ + UIAnswer.prototype.answer = $util.newBuffer([]); + + /** + * UIAnswer description. + * @member {string}description + * @memberof meerkat.UIAnswer + * @instance + */ + UIAnswer.prototype.description = ""; + + /** + * Creates a new UIAnswer instance using the specified properties. + * @function create + * @memberof meerkat.UIAnswer + * @static + * @param {meerkat.IUIAnswer=} [properties] Properties to set + * @returns {meerkat.UIAnswer} UIAnswer instance + */ + UIAnswer.create = function create(properties) { + return new UIAnswer(properties); + }; + + /** + * Encodes the specified UIAnswer message. Does not implicitly {@link meerkat.UIAnswer.verify|verify} messages. + * @function encode + * @memberof meerkat.UIAnswer + * @static + * @param {meerkat.IUIAnswer} message UIAnswer message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UIAnswer.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.answer != null && message.hasOwnProperty("answer")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.answer); + if (message.description != null && message.hasOwnProperty("description")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.description); + return writer; + }; + + /** + * Encodes the specified UIAnswer message, length delimited. Does not implicitly {@link meerkat.UIAnswer.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.UIAnswer + * @static + * @param {meerkat.IUIAnswer} message UIAnswer message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UIAnswer.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a UIAnswer message from the specified reader or buffer. + * @function decode + * @memberof meerkat.UIAnswer + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.UIAnswer} UIAnswer + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UIAnswer.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.UIAnswer(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.answer = reader.bytes(); + break; + case 2: + message.description = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a UIAnswer message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.UIAnswer + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.UIAnswer} UIAnswer + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UIAnswer.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a UIAnswer message. + * @function verify + * @memberof meerkat.UIAnswer + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + UIAnswer.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.answer != null && message.hasOwnProperty("answer")) + if (!(message.answer && typeof message.answer.length === "number" || $util.isString(message.answer))) + return "answer: buffer expected"; + if (message.description != null && message.hasOwnProperty("description")) + if (!$util.isString(message.description)) + return "description: string expected"; + return null; + }; + + /** + * Creates a UIAnswer message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.UIAnswer + * @static + * @param {Object.} object Plain object + * @returns {meerkat.UIAnswer} UIAnswer + */ + UIAnswer.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.UIAnswer) + return object; + var message = new $root.meerkat.UIAnswer(); + if (object.answer != null) + if (typeof object.answer === "string") + $util.base64.decode(object.answer, message.answer = $util.newBuffer($util.base64.length(object.answer)), 0); + else if (object.answer.length) + message.answer = object.answer; + if (object.description != null) + message.description = String(object.description); + return message; + }; + + /** + * Creates a plain object from a UIAnswer message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.UIAnswer + * @static + * @param {meerkat.UIAnswer} message UIAnswer + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + UIAnswer.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.answer = options.bytes === String ? "" : []; + object.description = ""; + } + if (message.answer != null && message.hasOwnProperty("answer")) + object.answer = options.bytes === String ? $util.base64.encode(message.answer, 0, message.answer.length) : options.bytes === Array ? Array.prototype.slice.call(message.answer) : message.answer; + if (message.description != null && message.hasOwnProperty("description")) + object.description = message.description; + return object; + }; + + /** + * Converts this UIAnswer to JSON. + * @function toJSON + * @memberof meerkat.UIAnswer + * @instance + * @returns {Object.} JSON object + */ + UIAnswer.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return UIAnswer; + })(); + + meerkat.ListOfAnswers = (function() { + + /** + * Properties of a ListOfAnswers. + * @memberof meerkat + * @interface IListOfAnswers + * @property {Array.} [answers] ListOfAnswers answers + */ + + /** + * Constructs a new ListOfAnswers. + * @memberof meerkat + * @classdesc Represents a ListOfAnswers. + * @constructor + * @param {meerkat.IListOfAnswers=} [properties] Properties to set + */ + function ListOfAnswers(properties) { + this.answers = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListOfAnswers answers. + * @member {Array.}answers + * @memberof meerkat.ListOfAnswers + * @instance + */ + ListOfAnswers.prototype.answers = $util.emptyArray; + + /** + * Creates a new ListOfAnswers instance using the specified properties. + * @function create + * @memberof meerkat.ListOfAnswers + * @static + * @param {meerkat.IListOfAnswers=} [properties] Properties to set + * @returns {meerkat.ListOfAnswers} ListOfAnswers instance + */ + ListOfAnswers.create = function create(properties) { + return new ListOfAnswers(properties); + }; + + /** + * Encodes the specified ListOfAnswers message. Does not implicitly {@link meerkat.ListOfAnswers.verify|verify} messages. + * @function encode + * @memberof meerkat.ListOfAnswers + * @static + * @param {meerkat.IListOfAnswers} message ListOfAnswers message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListOfAnswers.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.answers != null && message.answers.length) + for (var i = 0; i < message.answers.length; ++i) + $root.meerkat.UIAnswer.encode(message.answers[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ListOfAnswers message, length delimited. Does not implicitly {@link meerkat.ListOfAnswers.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.ListOfAnswers + * @static + * @param {meerkat.IListOfAnswers} message ListOfAnswers message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListOfAnswers.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListOfAnswers message from the specified reader or buffer. + * @function decode + * @memberof meerkat.ListOfAnswers + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.ListOfAnswers} ListOfAnswers + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListOfAnswers.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.ListOfAnswers(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.answers && message.answers.length)) + message.answers = []; + message.answers.push($root.meerkat.UIAnswer.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListOfAnswers message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.ListOfAnswers + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.ListOfAnswers} ListOfAnswers + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListOfAnswers.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListOfAnswers message. + * @function verify + * @memberof meerkat.ListOfAnswers + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListOfAnswers.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.answers != null && message.hasOwnProperty("answers")) { + if (!Array.isArray(message.answers)) + return "answers: array expected"; + for (var i = 0; i < message.answers.length; ++i) { + var error = $root.meerkat.UIAnswer.verify(message.answers[i]); + if (error) + return "answers." + error; + } + } + return null; + }; + + /** + * Creates a ListOfAnswers message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.ListOfAnswers + * @static + * @param {Object.} object Plain object + * @returns {meerkat.ListOfAnswers} ListOfAnswers + */ + ListOfAnswers.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.ListOfAnswers) + return object; + var message = new $root.meerkat.ListOfAnswers(); + if (object.answers) { + if (!Array.isArray(object.answers)) + throw TypeError(".meerkat.ListOfAnswers.answers: array expected"); + message.answers = []; + for (var i = 0; i < object.answers.length; ++i) { + if (typeof object.answers[i] !== "object") + throw TypeError(".meerkat.ListOfAnswers.answers: object expected"); + message.answers[i] = $root.meerkat.UIAnswer.fromObject(object.answers[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a ListOfAnswers message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.ListOfAnswers + * @static + * @param {meerkat.ListOfAnswers} message ListOfAnswers + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListOfAnswers.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.answers = []; + if (message.answers && message.answers.length) { + object.answers = []; + for (var j = 0; j < message.answers.length; ++j) + object.answers[j] = $root.meerkat.UIAnswer.toObject(message.answers[j], options); + } + return object; + }; + + /** + * Converts this ListOfAnswers to JSON. + * @function toJSON + * @memberof meerkat.ListOfAnswers + * @instance + * @returns {Object.} JSON object + */ + ListOfAnswers.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ListOfAnswers; + })(); + + meerkat.UIAnswers = (function() { + + /** + * Properties of a UIAnswers. + * @memberof meerkat + * @interface IUIAnswers + * @property {number} [AnswersType] UIAnswers AnswersType + * @property {meerkat.IListOfAnswers} [answers] UIAnswers answers + */ + + /** + * Constructs a new UIAnswers. + * @memberof meerkat + * @classdesc Represents a UIAnswers. + * @constructor + * @param {meerkat.IUIAnswers=} [properties] Properties to set + */ + function UIAnswers(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * UIAnswers AnswersType. + * @member {number}AnswersType + * @memberof meerkat.UIAnswers + * @instance + */ + UIAnswers.prototype.AnswersType = 0; + + /** + * UIAnswers answers. + * @member {(meerkat.IListOfAnswers|null|undefined)}answers + * @memberof meerkat.UIAnswers + * @instance + */ + UIAnswers.prototype.answers = null; + + /** + * Creates a new UIAnswers instance using the specified properties. + * @function create + * @memberof meerkat.UIAnswers + * @static + * @param {meerkat.IUIAnswers=} [properties] Properties to set + * @returns {meerkat.UIAnswers} UIAnswers instance + */ + UIAnswers.create = function create(properties) { + return new UIAnswers(properties); + }; + + /** + * Encodes the specified UIAnswers message. Does not implicitly {@link meerkat.UIAnswers.verify|verify} messages. + * @function encode + * @memberof meerkat.UIAnswers + * @static + * @param {meerkat.IUIAnswers} message UIAnswers message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UIAnswers.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.AnswersType != null && message.hasOwnProperty("AnswersType")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.AnswersType); + if (message.answers != null && message.hasOwnProperty("answers")) + $root.meerkat.ListOfAnswers.encode(message.answers, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified UIAnswers message, length delimited. Does not implicitly {@link meerkat.UIAnswers.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.UIAnswers + * @static + * @param {meerkat.IUIAnswers} message UIAnswers message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UIAnswers.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a UIAnswers message from the specified reader or buffer. + * @function decode + * @memberof meerkat.UIAnswers + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.UIAnswers} UIAnswers + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UIAnswers.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.UIAnswers(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.AnswersType = reader.int32(); + break; + case 2: + message.answers = $root.meerkat.ListOfAnswers.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a UIAnswers message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.UIAnswers + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.UIAnswers} UIAnswers + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UIAnswers.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a UIAnswers message. + * @function verify + * @memberof meerkat.UIAnswers + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + UIAnswers.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.AnswersType != null && message.hasOwnProperty("AnswersType")) + if (!$util.isInteger(message.AnswersType)) + return "AnswersType: integer expected"; + if (message.answers != null && message.hasOwnProperty("answers")) { + var error = $root.meerkat.ListOfAnswers.verify(message.answers); + if (error) + return "answers." + error; + } + return null; + }; + + /** + * Creates a UIAnswers message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.UIAnswers + * @static + * @param {Object.} object Plain object + * @returns {meerkat.UIAnswers} UIAnswers + */ + UIAnswers.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.UIAnswers) + return object; + var message = new $root.meerkat.UIAnswers(); + if (object.AnswersType != null) + message.AnswersType = object.AnswersType | 0; + if (object.answers != null) { + if (typeof object.answers !== "object") + throw TypeError(".meerkat.UIAnswers.answers: object expected"); + message.answers = $root.meerkat.ListOfAnswers.fromObject(object.answers); + } + return message; + }; + + /** + * Creates a plain object from a UIAnswers message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.UIAnswers + * @static + * @param {meerkat.UIAnswers} message UIAnswers + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + UIAnswers.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.AnswersType = 0; + object.answers = null; + } + if (message.AnswersType != null && message.hasOwnProperty("AnswersType")) + object.AnswersType = message.AnswersType; + if (message.answers != null && message.hasOwnProperty("answers")) + object.answers = $root.meerkat.ListOfAnswers.toObject(message.answers, options); + return object; + }; + + /** + * Converts this UIAnswers to JSON. + * @function toJSON + * @memberof meerkat.UIAnswers + * @instance + * @returns {Object.} JSON object + */ + UIAnswers.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return UIAnswers; + })(); + + meerkat.Question = (function() { + + /** + * Properties of a Question. + * @memberof meerkat + * @interface IQuestion + * @property {Uint8Array} [question] Question question + */ + + /** + * Constructs a new Question. + * @memberof meerkat + * @classdesc Represents a Question. + * @constructor + * @param {meerkat.IQuestion=} [properties] Properties to set + */ + function Question(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Question question. + * @member {Uint8Array}question + * @memberof meerkat.Question + * @instance + */ + Question.prototype.question = $util.newBuffer([]); + + /** + * Creates a new Question instance using the specified properties. + * @function create + * @memberof meerkat.Question + * @static + * @param {meerkat.IQuestion=} [properties] Properties to set + * @returns {meerkat.Question} Question instance + */ + Question.create = function create(properties) { + return new Question(properties); + }; + + /** + * Encodes the specified Question message. Does not implicitly {@link meerkat.Question.verify|verify} messages. + * @function encode + * @memberof meerkat.Question + * @static + * @param {meerkat.IQuestion} message Question message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Question.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.question != null && message.hasOwnProperty("question")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.question); + return writer; + }; + + /** + * Encodes the specified Question message, length delimited. Does not implicitly {@link meerkat.Question.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.Question + * @static + * @param {meerkat.IQuestion} message Question message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Question.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Question message from the specified reader or buffer. + * @function decode + * @memberof meerkat.Question + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.Question} Question + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Question.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.Question(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.question = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Question message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.Question + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.Question} Question + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Question.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Question message. + * @function verify + * @memberof meerkat.Question + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Question.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.question != null && message.hasOwnProperty("question")) + if (!(message.question && typeof message.question.length === "number" || $util.isString(message.question))) + return "question: buffer expected"; + return null; + }; + + /** + * Creates a Question message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.Question + * @static + * @param {Object.} object Plain object + * @returns {meerkat.Question} Question + */ + Question.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.Question) + return object; + var message = new $root.meerkat.Question(); + if (object.question != null) + if (typeof object.question === "string") + $util.base64.decode(object.question, message.question = $util.newBuffer($util.base64.length(object.question)), 0); + else if (object.question.length) + message.question = object.question; + return message; + }; + + /** + * Creates a plain object from a Question message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.Question + * @static + * @param {meerkat.Question} message Question + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Question.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.question = options.bytes === String ? "" : []; + if (message.question != null && message.hasOwnProperty("question")) + object.question = options.bytes === String ? $util.base64.encode(message.question, 0, message.question.length) : options.bytes === Array ? Array.prototype.slice.call(message.question) : message.question; + return object; + }; + + /** + * Converts this Question to JSON. + * @function toJSON + * @memberof meerkat.Question + * @instance + * @returns {Object.} JSON object + */ + Question.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Question; + })(); + + meerkat.UIQuestion = (function() { + + /** + * Properties of a UIQuestion. + * @memberof meerkat + * @interface IUIQuestion + * @property {number} [QuestionType] UIQuestion QuestionType + * @property {meerkat.IQuestion} [question] UIQuestion question + */ + + /** + * Constructs a new UIQuestion. + * @memberof meerkat + * @classdesc Represents a UIQuestion. + * @constructor + * @param {meerkat.IUIQuestion=} [properties] Properties to set + */ + function UIQuestion(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * UIQuestion QuestionType. + * @member {number}QuestionType + * @memberof meerkat.UIQuestion + * @instance + */ + UIQuestion.prototype.QuestionType = 0; + + /** + * UIQuestion question. + * @member {(meerkat.IQuestion|null|undefined)}question + * @memberof meerkat.UIQuestion + * @instance + */ + UIQuestion.prototype.question = null; + + /** + * Creates a new UIQuestion instance using the specified properties. + * @function create + * @memberof meerkat.UIQuestion + * @static + * @param {meerkat.IUIQuestion=} [properties] Properties to set + * @returns {meerkat.UIQuestion} UIQuestion instance + */ + UIQuestion.create = function create(properties) { + return new UIQuestion(properties); + }; + + /** + * Encodes the specified UIQuestion message. Does not implicitly {@link meerkat.UIQuestion.verify|verify} messages. + * @function encode + * @memberof meerkat.UIQuestion + * @static + * @param {meerkat.IUIQuestion} message UIQuestion message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UIQuestion.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.QuestionType != null && message.hasOwnProperty("QuestionType")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.QuestionType); + if (message.question != null && message.hasOwnProperty("question")) + $root.meerkat.Question.encode(message.question, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified UIQuestion message, length delimited. Does not implicitly {@link meerkat.UIQuestion.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.UIQuestion + * @static + * @param {meerkat.IUIQuestion} message UIQuestion message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UIQuestion.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a UIQuestion message from the specified reader or buffer. + * @function decode + * @memberof meerkat.UIQuestion + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.UIQuestion} UIQuestion + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UIQuestion.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.UIQuestion(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.QuestionType = reader.int32(); + break; + case 2: + message.question = $root.meerkat.Question.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a UIQuestion message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.UIQuestion + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.UIQuestion} UIQuestion + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UIQuestion.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a UIQuestion message. + * @function verify + * @memberof meerkat.UIQuestion + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + UIQuestion.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.QuestionType != null && message.hasOwnProperty("QuestionType")) + if (!$util.isInteger(message.QuestionType)) + return "QuestionType: integer expected"; + if (message.question != null && message.hasOwnProperty("question")) { + var error = $root.meerkat.Question.verify(message.question); + if (error) + return "question." + error; + } + return null; + }; + + /** + * Creates a UIQuestion message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.UIQuestion + * @static + * @param {Object.} object Plain object + * @returns {meerkat.UIQuestion} UIQuestion + */ + UIQuestion.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.UIQuestion) + return object; + var message = new $root.meerkat.UIQuestion(); + if (object.QuestionType != null) + message.QuestionType = object.QuestionType | 0; + if (object.question != null) { + if (typeof object.question !== "object") + throw TypeError(".meerkat.UIQuestion.question: object expected"); + message.question = $root.meerkat.Question.fromObject(object.question); + } + return message; + }; + + /** + * Creates a plain object from a UIQuestion message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.UIQuestion + * @static + * @param {meerkat.UIQuestion} message UIQuestion + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + UIQuestion.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.QuestionType = 0; + object.question = null; + } + if (message.QuestionType != null && message.hasOwnProperty("QuestionType")) + object.QuestionType = message.QuestionType; + if (message.question != null && message.hasOwnProperty("question")) + object.question = $root.meerkat.Question.toObject(message.question, options); + return object; + }; + + /** + * Converts this UIQuestion to JSON. + * @function toJSON + * @memberof meerkat.UIQuestion + * @instance + * @returns {Object.} JSON object + */ + UIQuestion.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return UIQuestion; + })(); + + meerkat.BallotQuestionUIElement = (function() { + + /** + * Properties of a BallotQuestionUIElement. + * @memberof meerkat + * @interface IBallotQuestionUIElement + * @property {meerkat.IUIAnswers} [answers] BallotQuestionUIElement answers + * @property {boolean} [RandomizeListOrder] BallotQuestionUIElement RandomizeListOrder + * @property {meerkat.IUIQuestion} [question] BallotQuestionUIElement question + */ + + /** + * Constructs a new BallotQuestionUIElement. + * @memberof meerkat + * @classdesc Represents a BallotQuestionUIElement. + * @constructor + * @param {meerkat.IBallotQuestionUIElement=} [properties] Properties to set + */ + function BallotQuestionUIElement(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BallotQuestionUIElement answers. + * @member {(meerkat.IUIAnswers|null|undefined)}answers + * @memberof meerkat.BallotQuestionUIElement + * @instance + */ + BallotQuestionUIElement.prototype.answers = null; + + /** + * BallotQuestionUIElement RandomizeListOrder. + * @member {boolean}RandomizeListOrder + * @memberof meerkat.BallotQuestionUIElement + * @instance + */ + BallotQuestionUIElement.prototype.RandomizeListOrder = false; + + /** + * BallotQuestionUIElement question. + * @member {(meerkat.IUIQuestion|null|undefined)}question + * @memberof meerkat.BallotQuestionUIElement + * @instance + */ + BallotQuestionUIElement.prototype.question = null; + + /** + * Creates a new BallotQuestionUIElement instance using the specified properties. + * @function create + * @memberof meerkat.BallotQuestionUIElement + * @static + * @param {meerkat.IBallotQuestionUIElement=} [properties] Properties to set + * @returns {meerkat.BallotQuestionUIElement} BallotQuestionUIElement instance + */ + BallotQuestionUIElement.create = function create(properties) { + return new BallotQuestionUIElement(properties); + }; + + /** + * Encodes the specified BallotQuestionUIElement message. Does not implicitly {@link meerkat.BallotQuestionUIElement.verify|verify} messages. + * @function encode + * @memberof meerkat.BallotQuestionUIElement + * @static + * @param {meerkat.IBallotQuestionUIElement} message BallotQuestionUIElement message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BallotQuestionUIElement.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.answers != null && message.hasOwnProperty("answers")) + $root.meerkat.UIAnswers.encode(message.answers, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.RandomizeListOrder != null && message.hasOwnProperty("RandomizeListOrder")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.RandomizeListOrder); + if (message.question != null && message.hasOwnProperty("question")) + $root.meerkat.UIQuestion.encode(message.question, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified BallotQuestionUIElement message, length delimited. Does not implicitly {@link meerkat.BallotQuestionUIElement.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.BallotQuestionUIElement + * @static + * @param {meerkat.IBallotQuestionUIElement} message BallotQuestionUIElement message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BallotQuestionUIElement.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BallotQuestionUIElement message from the specified reader or buffer. + * @function decode + * @memberof meerkat.BallotQuestionUIElement + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.BallotQuestionUIElement} BallotQuestionUIElement + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BallotQuestionUIElement.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.BallotQuestionUIElement(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.answers = $root.meerkat.UIAnswers.decode(reader, reader.uint32()); + break; + case 2: + message.RandomizeListOrder = reader.bool(); + break; + case 3: + message.question = $root.meerkat.UIQuestion.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BallotQuestionUIElement message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.BallotQuestionUIElement + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.BallotQuestionUIElement} BallotQuestionUIElement + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BallotQuestionUIElement.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BallotQuestionUIElement message. + * @function verify + * @memberof meerkat.BallotQuestionUIElement + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BallotQuestionUIElement.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.answers != null && message.hasOwnProperty("answers")) { + var error = $root.meerkat.UIAnswers.verify(message.answers); + if (error) + return "answers." + error; + } + if (message.RandomizeListOrder != null && message.hasOwnProperty("RandomizeListOrder")) + if (typeof message.RandomizeListOrder !== "boolean") + return "RandomizeListOrder: boolean expected"; + if (message.question != null && message.hasOwnProperty("question")) { + error = $root.meerkat.UIQuestion.verify(message.question); + if (error) + return "question." + error; + } + return null; + }; + + /** + * Creates a BallotQuestionUIElement message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.BallotQuestionUIElement + * @static + * @param {Object.} object Plain object + * @returns {meerkat.BallotQuestionUIElement} BallotQuestionUIElement + */ + BallotQuestionUIElement.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.BallotQuestionUIElement) + return object; + var message = new $root.meerkat.BallotQuestionUIElement(); + if (object.answers != null) { + if (typeof object.answers !== "object") + throw TypeError(".meerkat.BallotQuestionUIElement.answers: object expected"); + message.answers = $root.meerkat.UIAnswers.fromObject(object.answers); + } + if (object.RandomizeListOrder != null) + message.RandomizeListOrder = Boolean(object.RandomizeListOrder); + if (object.question != null) { + if (typeof object.question !== "object") + throw TypeError(".meerkat.BallotQuestionUIElement.question: object expected"); + message.question = $root.meerkat.UIQuestion.fromObject(object.question); + } + return message; + }; + + /** + * Creates a plain object from a BallotQuestionUIElement message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.BallotQuestionUIElement + * @static + * @param {meerkat.BallotQuestionUIElement} message BallotQuestionUIElement + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BallotQuestionUIElement.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.answers = null; + object.RandomizeListOrder = false; + object.question = null; + } + if (message.answers != null && message.hasOwnProperty("answers")) + object.answers = $root.meerkat.UIAnswers.toObject(message.answers, options); + if (message.RandomizeListOrder != null && message.hasOwnProperty("RandomizeListOrder")) + object.RandomizeListOrder = message.RandomizeListOrder; + if (message.question != null && message.hasOwnProperty("question")) + object.question = $root.meerkat.UIQuestion.toObject(message.question, options); + return object; + }; + + /** + * Converts this BallotQuestionUIElement to JSON. + * @function toJSON + * @memberof meerkat.BallotQuestionUIElement + * @instance + * @returns {Object.} JSON object + */ + BallotQuestionUIElement.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BallotQuestionUIElement; + })(); + + meerkat.BallotQuestionsUIElements = (function() { + + /** + * Properties of a BallotQuestionsUIElements. + * @memberof meerkat + * @interface IBallotQuestionsUIElements + * @property {Array.} [questions] BallotQuestionsUIElements questions + */ + + /** + * Constructs a new BallotQuestionsUIElements. + * @memberof meerkat + * @classdesc Represents a BallotQuestionsUIElements. + * @constructor + * @param {meerkat.IBallotQuestionsUIElements=} [properties] Properties to set + */ + function BallotQuestionsUIElements(properties) { + this.questions = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BallotQuestionsUIElements questions. + * @member {Array.}questions + * @memberof meerkat.BallotQuestionsUIElements + * @instance + */ + BallotQuestionsUIElements.prototype.questions = $util.emptyArray; + + /** + * Creates a new BallotQuestionsUIElements instance using the specified properties. + * @function create + * @memberof meerkat.BallotQuestionsUIElements + * @static + * @param {meerkat.IBallotQuestionsUIElements=} [properties] Properties to set + * @returns {meerkat.BallotQuestionsUIElements} BallotQuestionsUIElements instance + */ + BallotQuestionsUIElements.create = function create(properties) { + return new BallotQuestionsUIElements(properties); + }; + + /** + * Encodes the specified BallotQuestionsUIElements message. Does not implicitly {@link meerkat.BallotQuestionsUIElements.verify|verify} messages. + * @function encode + * @memberof meerkat.BallotQuestionsUIElements + * @static + * @param {meerkat.IBallotQuestionsUIElements} message BallotQuestionsUIElements message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BallotQuestionsUIElements.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.questions != null && message.questions.length) + for (var i = 0; i < message.questions.length; ++i) + $root.meerkat.BallotQuestionUIElement.encode(message.questions[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified BallotQuestionsUIElements message, length delimited. Does not implicitly {@link meerkat.BallotQuestionsUIElements.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.BallotQuestionsUIElements + * @static + * @param {meerkat.IBallotQuestionsUIElements} message BallotQuestionsUIElements message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BallotQuestionsUIElements.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BallotQuestionsUIElements message from the specified reader or buffer. + * @function decode + * @memberof meerkat.BallotQuestionsUIElements + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.BallotQuestionsUIElements} BallotQuestionsUIElements + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BallotQuestionsUIElements.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.BallotQuestionsUIElements(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.questions && message.questions.length)) + message.questions = []; + message.questions.push($root.meerkat.BallotQuestionUIElement.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BallotQuestionsUIElements message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.BallotQuestionsUIElements + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.BallotQuestionsUIElements} BallotQuestionsUIElements + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BallotQuestionsUIElements.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BallotQuestionsUIElements message. + * @function verify + * @memberof meerkat.BallotQuestionsUIElements + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BallotQuestionsUIElements.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.questions != null && message.hasOwnProperty("questions")) { + if (!Array.isArray(message.questions)) + return "questions: array expected"; + for (var i = 0; i < message.questions.length; ++i) { + var error = $root.meerkat.BallotQuestionUIElement.verify(message.questions[i]); + if (error) + return "questions." + error; + } + } + return null; + }; + + /** + * Creates a BallotQuestionsUIElements message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.BallotQuestionsUIElements + * @static + * @param {Object.} object Plain object + * @returns {meerkat.BallotQuestionsUIElements} BallotQuestionsUIElements + */ + BallotQuestionsUIElements.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.BallotQuestionsUIElements) + return object; + var message = new $root.meerkat.BallotQuestionsUIElements(); + if (object.questions) { + if (!Array.isArray(object.questions)) + throw TypeError(".meerkat.BallotQuestionsUIElements.questions: array expected"); + message.questions = []; + for (var i = 0; i < object.questions.length; ++i) { + if (typeof object.questions[i] !== "object") + throw TypeError(".meerkat.BallotQuestionsUIElements.questions: object expected"); + message.questions[i] = $root.meerkat.BallotQuestionUIElement.fromObject(object.questions[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a BallotQuestionsUIElements message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.BallotQuestionsUIElements + * @static + * @param {meerkat.BallotQuestionsUIElements} message BallotQuestionsUIElements + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BallotQuestionsUIElements.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.questions = []; + if (message.questions && message.questions.length) { + object.questions = []; + for (var j = 0; j < message.questions.length; ++j) + object.questions[j] = $root.meerkat.BallotQuestionUIElement.toObject(message.questions[j], options); + } + return object; + }; + + /** + * Converts this BallotQuestionsUIElements to JSON. + * @function toJSON + * @memberof meerkat.BallotQuestionsUIElements + * @instance + * @returns {Object.} JSON object + */ + BallotQuestionsUIElements.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BallotQuestionsUIElements; + })(); + + /** + * ValueType enum. + * @enum {string} + * @property {number} TEXT_TYPE=0 TEXT_TYPE value + * @property {number} AUDIO_TYPE=1 AUDIO_TYPE value + * @property {number} IMAGE_TYPE=2 IMAGE_TYPE value + */ + meerkat.ValueType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "TEXT_TYPE"] = 0; + values[valuesById[1] = "AUDIO_TYPE"] = 1; + values[valuesById[2] = "IMAGE_TYPE"] = 2; + return values; + })(); + + meerkat.BoolMsg = (function() { + + /** + * Properties of a BoolMsg. + * @memberof meerkat + * @interface IBoolMsg + * @property {boolean} [value] BoolMsg value + */ + + /** + * Constructs a new BoolMsg. + * @memberof meerkat + * @classdesc Represents a BoolMsg. + * @constructor + * @param {meerkat.IBoolMsg=} [properties] Properties to set + */ + function BoolMsg(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BoolMsg value. + * @member {boolean}value + * @memberof meerkat.BoolMsg + * @instance + */ + BoolMsg.prototype.value = false; + + /** + * Creates a new BoolMsg instance using the specified properties. + * @function create + * @memberof meerkat.BoolMsg + * @static + * @param {meerkat.IBoolMsg=} [properties] Properties to set + * @returns {meerkat.BoolMsg} BoolMsg instance + */ + BoolMsg.create = function create(properties) { + return new BoolMsg(properties); + }; + + /** + * Encodes the specified BoolMsg message. Does not implicitly {@link meerkat.BoolMsg.verify|verify} messages. + * @function encode + * @memberof meerkat.BoolMsg + * @static + * @param {meerkat.IBoolMsg} message BoolMsg message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BoolMsg.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.value != null && message.hasOwnProperty("value")) + writer.uint32(/* id 1, wireType 0 =*/8).bool(message.value); + return writer; + }; + + /** + * Encodes the specified BoolMsg message, length delimited. Does not implicitly {@link meerkat.BoolMsg.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.BoolMsg + * @static + * @param {meerkat.IBoolMsg} message BoolMsg message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BoolMsg.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BoolMsg message from the specified reader or buffer. + * @function decode + * @memberof meerkat.BoolMsg + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.BoolMsg} BoolMsg + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BoolMsg.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.BoolMsg(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.value = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BoolMsg message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.BoolMsg + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.BoolMsg} BoolMsg + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BoolMsg.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BoolMsg message. + * @function verify + * @memberof meerkat.BoolMsg + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BoolMsg.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (typeof message.value !== "boolean") + return "value: boolean expected"; + return null; + }; + + /** + * Creates a BoolMsg message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.BoolMsg + * @static + * @param {Object.} object Plain object + * @returns {meerkat.BoolMsg} BoolMsg + */ + BoolMsg.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.BoolMsg) + return object; + var message = new $root.meerkat.BoolMsg(); + if (object.value != null) + message.value = Boolean(object.value); + return message; + }; + + /** + * Creates a plain object from a BoolMsg message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.BoolMsg + * @static + * @param {meerkat.BoolMsg} message BoolMsg + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BoolMsg.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.value = false; + if (message.value != null && message.hasOwnProperty("value")) + object.value = message.value; + return object; + }; + + /** + * Converts this BoolMsg to JSON. + * @function toJSON + * @memberof meerkat.BoolMsg + * @instance + * @returns {Object.} JSON object + */ + BoolMsg.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BoolMsg; + })(); + + meerkat.IntMsg = (function() { + + /** + * Properties of an IntMsg. + * @memberof meerkat + * @interface IIntMsg + * @property {number} [value] IntMsg value + */ + + /** + * Constructs a new IntMsg. + * @memberof meerkat + * @classdesc Represents an IntMsg. + * @constructor + * @param {meerkat.IIntMsg=} [properties] Properties to set + */ + function IntMsg(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * IntMsg value. + * @member {number}value + * @memberof meerkat.IntMsg + * @instance + */ + IntMsg.prototype.value = 0; + + /** + * Creates a new IntMsg instance using the specified properties. + * @function create + * @memberof meerkat.IntMsg + * @static + * @param {meerkat.IIntMsg=} [properties] Properties to set + * @returns {meerkat.IntMsg} IntMsg instance + */ + IntMsg.create = function create(properties) { + return new IntMsg(properties); + }; + + /** + * Encodes the specified IntMsg message. Does not implicitly {@link meerkat.IntMsg.verify|verify} messages. + * @function encode + * @memberof meerkat.IntMsg + * @static + * @param {meerkat.IIntMsg} message IntMsg message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + IntMsg.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.value != null && message.hasOwnProperty("value")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.value); + return writer; + }; + + /** + * Encodes the specified IntMsg message, length delimited. Does not implicitly {@link meerkat.IntMsg.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.IntMsg + * @static + * @param {meerkat.IIntMsg} message IntMsg message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + IntMsg.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an IntMsg message from the specified reader or buffer. + * @function decode + * @memberof meerkat.IntMsg + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.IntMsg} IntMsg + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + IntMsg.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.IntMsg(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.value = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an IntMsg message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.IntMsg + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.IntMsg} IntMsg + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + IntMsg.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an IntMsg message. + * @function verify + * @memberof meerkat.IntMsg + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + IntMsg.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (!$util.isInteger(message.value)) + return "value: integer expected"; + return null; + }; + + /** + * Creates an IntMsg message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.IntMsg + * @static + * @param {Object.} object Plain object + * @returns {meerkat.IntMsg} IntMsg + */ + IntMsg.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.IntMsg) + return object; + var message = new $root.meerkat.IntMsg(); + if (object.value != null) + message.value = object.value | 0; + return message; + }; + + /** + * Creates a plain object from an IntMsg message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.IntMsg + * @static + * @param {meerkat.IntMsg} message IntMsg + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + IntMsg.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.value = 0; + if (message.value != null && message.hasOwnProperty("value")) + object.value = message.value; + return object; + }; + + /** + * Converts this IntMsg to JSON. + * @function toJSON + * @memberof meerkat.IntMsg + * @instance + * @returns {Object.} JSON object + */ + IntMsg.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return IntMsg; + })(); + + meerkat.MessageID = (function() { + + /** + * Properties of a MessageID. + * @memberof meerkat + * @interface IMessageID + * @property {Uint8Array} [ID] MessageID ID + */ + + /** + * Constructs a new MessageID. + * @memberof meerkat + * @classdesc Represents a MessageID. + * @constructor + * @param {meerkat.IMessageID=} [properties] Properties to set + */ + function MessageID(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * MessageID ID. + * @member {Uint8Array}ID + * @memberof meerkat.MessageID + * @instance + */ + MessageID.prototype.ID = $util.newBuffer([]); + + /** + * Creates a new MessageID instance using the specified properties. + * @function create + * @memberof meerkat.MessageID + * @static + * @param {meerkat.IMessageID=} [properties] Properties to set + * @returns {meerkat.MessageID} MessageID instance + */ + MessageID.create = function create(properties) { + return new MessageID(properties); + }; + + /** + * Encodes the specified MessageID message. Does not implicitly {@link meerkat.MessageID.verify|verify} messages. + * @function encode + * @memberof meerkat.MessageID + * @static + * @param {meerkat.IMessageID} message MessageID message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MessageID.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.ID != null && message.hasOwnProperty("ID")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.ID); + return writer; + }; + + /** + * Encodes the specified MessageID message, length delimited. Does not implicitly {@link meerkat.MessageID.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.MessageID + * @static + * @param {meerkat.IMessageID} message MessageID message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MessageID.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a MessageID message from the specified reader or buffer. + * @function decode + * @memberof meerkat.MessageID + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.MessageID} MessageID + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MessageID.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.MessageID(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.ID = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a MessageID message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.MessageID + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.MessageID} MessageID + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MessageID.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a MessageID message. + * @function verify + * @memberof meerkat.MessageID + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + MessageID.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.ID != null && message.hasOwnProperty("ID")) + if (!(message.ID && typeof message.ID.length === "number" || $util.isString(message.ID))) + return "ID: buffer expected"; + return null; + }; + + /** + * Creates a MessageID message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.MessageID + * @static + * @param {Object.} object Plain object + * @returns {meerkat.MessageID} MessageID + */ + MessageID.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.MessageID) + return object; + var message = new $root.meerkat.MessageID(); + if (object.ID != null) + if (typeof object.ID === "string") + $util.base64.decode(object.ID, message.ID = $util.newBuffer($util.base64.length(object.ID)), 0); + else if (object.ID.length) + message.ID = object.ID; + return message; + }; + + /** + * Creates a plain object from a MessageID message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.MessageID + * @static + * @param {meerkat.MessageID} message MessageID + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + MessageID.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.ID = options.bytes === String ? "" : []; + if (message.ID != null && message.hasOwnProperty("ID")) + object.ID = options.bytes === String ? $util.base64.encode(message.ID, 0, message.ID.length) : options.bytes === Array ? Array.prototype.slice.call(message.ID) : message.ID; + return object; + }; + + /** + * Converts this MessageID to JSON. + * @function toJSON + * @memberof meerkat.MessageID + * @instance + * @returns {Object.} JSON object + */ + MessageID.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return MessageID; + })(); + + meerkat.UnsignedBulletinBoardMessage = (function() { + + /** + * Properties of an UnsignedBulletinBoardMessage. + * @memberof meerkat + * @interface IUnsignedBulletinBoardMessage + * @property {Array.} [tag] UnsignedBulletinBoardMessage tag + * @property {google.protobuf.ITimestamp} [timestamp] UnsignedBulletinBoardMessage timestamp + * @property {Uint8Array} [msgId] UnsignedBulletinBoardMessage msgId + * @property {Uint8Array} [data] UnsignedBulletinBoardMessage data + */ + + /** + * Constructs a new UnsignedBulletinBoardMessage. + * @memberof meerkat + * @classdesc Represents an UnsignedBulletinBoardMessage. + * @constructor + * @param {meerkat.IUnsignedBulletinBoardMessage=} [properties] Properties to set + */ + function UnsignedBulletinBoardMessage(properties) { + this.tag = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * UnsignedBulletinBoardMessage tag. + * @member {Array.}tag + * @memberof meerkat.UnsignedBulletinBoardMessage + * @instance + */ + UnsignedBulletinBoardMessage.prototype.tag = $util.emptyArray; + + /** + * UnsignedBulletinBoardMessage timestamp. + * @member {(google.protobuf.ITimestamp|null|undefined)}timestamp + * @memberof meerkat.UnsignedBulletinBoardMessage + * @instance + */ + UnsignedBulletinBoardMessage.prototype.timestamp = null; + + /** + * UnsignedBulletinBoardMessage msgId. + * @member {Uint8Array}msgId + * @memberof meerkat.UnsignedBulletinBoardMessage + * @instance + */ + UnsignedBulletinBoardMessage.prototype.msgId = $util.newBuffer([]); + + /** + * UnsignedBulletinBoardMessage data. + * @member {Uint8Array}data + * @memberof meerkat.UnsignedBulletinBoardMessage + * @instance + */ + UnsignedBulletinBoardMessage.prototype.data = $util.newBuffer([]); + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * UnsignedBulletinBoardMessage dataType. + * @member {string|undefined} dataType + * @memberof meerkat.UnsignedBulletinBoardMessage + * @instance + */ + Object.defineProperty(UnsignedBulletinBoardMessage.prototype, "dataType", { + get: $util.oneOfGetter($oneOfFields = ["msgId", "data"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new UnsignedBulletinBoardMessage instance using the specified properties. + * @function create + * @memberof meerkat.UnsignedBulletinBoardMessage + * @static + * @param {meerkat.IUnsignedBulletinBoardMessage=} [properties] Properties to set + * @returns {meerkat.UnsignedBulletinBoardMessage} UnsignedBulletinBoardMessage instance + */ + UnsignedBulletinBoardMessage.create = function create(properties) { + return new UnsignedBulletinBoardMessage(properties); + }; + + /** + * Encodes the specified UnsignedBulletinBoardMessage message. Does not implicitly {@link meerkat.UnsignedBulletinBoardMessage.verify|verify} messages. + * @function encode + * @memberof meerkat.UnsignedBulletinBoardMessage + * @static + * @param {meerkat.IUnsignedBulletinBoardMessage} message UnsignedBulletinBoardMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UnsignedBulletinBoardMessage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.tag != null && message.tag.length) + for (var i = 0; i < message.tag.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.tag[i]); + if (message.timestamp != null && message.hasOwnProperty("timestamp")) + $root.google.protobuf.Timestamp.encode(message.timestamp, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.msgId != null && message.hasOwnProperty("msgId")) + writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.msgId); + if (message.data != null && message.hasOwnProperty("data")) + writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.data); + return writer; + }; + + /** + * Encodes the specified UnsignedBulletinBoardMessage message, length delimited. Does not implicitly {@link meerkat.UnsignedBulletinBoardMessage.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.UnsignedBulletinBoardMessage + * @static + * @param {meerkat.IUnsignedBulletinBoardMessage} message UnsignedBulletinBoardMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UnsignedBulletinBoardMessage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an UnsignedBulletinBoardMessage message from the specified reader or buffer. + * @function decode + * @memberof meerkat.UnsignedBulletinBoardMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.UnsignedBulletinBoardMessage} UnsignedBulletinBoardMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UnsignedBulletinBoardMessage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.UnsignedBulletinBoardMessage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.tag && message.tag.length)) + message.tag = []; + message.tag.push(reader.string()); + break; + case 2: + message.timestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + case 3: + message.msgId = reader.bytes(); + break; + case 4: + message.data = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an UnsignedBulletinBoardMessage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.UnsignedBulletinBoardMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.UnsignedBulletinBoardMessage} UnsignedBulletinBoardMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UnsignedBulletinBoardMessage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an UnsignedBulletinBoardMessage message. + * @function verify + * @memberof meerkat.UnsignedBulletinBoardMessage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + UnsignedBulletinBoardMessage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.tag != null && message.hasOwnProperty("tag")) { + if (!Array.isArray(message.tag)) + return "tag: array expected"; + for (var i = 0; i < message.tag.length; ++i) + if (!$util.isString(message.tag[i])) + return "tag: string[] expected"; + } + if (message.timestamp != null && message.hasOwnProperty("timestamp")) { + var error = $root.google.protobuf.Timestamp.verify(message.timestamp); + if (error) + return "timestamp." + error; + } + if (message.msgId != null && message.hasOwnProperty("msgId")) { + properties.dataType = 1; + if (!(message.msgId && typeof message.msgId.length === "number" || $util.isString(message.msgId))) + return "msgId: buffer expected"; + } + if (message.data != null && message.hasOwnProperty("data")) { + if (properties.dataType === 1) + return "dataType: multiple values"; + properties.dataType = 1; + if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) + return "data: buffer expected"; + } + return null; + }; + + /** + * Creates an UnsignedBulletinBoardMessage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.UnsignedBulletinBoardMessage + * @static + * @param {Object.} object Plain object + * @returns {meerkat.UnsignedBulletinBoardMessage} UnsignedBulletinBoardMessage + */ + UnsignedBulletinBoardMessage.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.UnsignedBulletinBoardMessage) + return object; + var message = new $root.meerkat.UnsignedBulletinBoardMessage(); + if (object.tag) { + if (!Array.isArray(object.tag)) + throw TypeError(".meerkat.UnsignedBulletinBoardMessage.tag: array expected"); + message.tag = []; + for (var i = 0; i < object.tag.length; ++i) + message.tag[i] = String(object.tag[i]); + } + if (object.timestamp != null) { + if (typeof object.timestamp !== "object") + throw TypeError(".meerkat.UnsignedBulletinBoardMessage.timestamp: object expected"); + message.timestamp = $root.google.protobuf.Timestamp.fromObject(object.timestamp); + } + if (object.msgId != null) + if (typeof object.msgId === "string") + $util.base64.decode(object.msgId, message.msgId = $util.newBuffer($util.base64.length(object.msgId)), 0); + else if (object.msgId.length) + message.msgId = object.msgId; + if (object.data != null) + if (typeof object.data === "string") + $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); + else if (object.data.length) + message.data = object.data; + return message; + }; + + /** + * Creates a plain object from an UnsignedBulletinBoardMessage message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.UnsignedBulletinBoardMessage + * @static + * @param {meerkat.UnsignedBulletinBoardMessage} message UnsignedBulletinBoardMessage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + UnsignedBulletinBoardMessage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.tag = []; + if (options.defaults) + object.timestamp = null; + if (message.tag && message.tag.length) { + object.tag = []; + for (var j = 0; j < message.tag.length; ++j) + object.tag[j] = message.tag[j]; + } + if (message.timestamp != null && message.hasOwnProperty("timestamp")) + object.timestamp = $root.google.protobuf.Timestamp.toObject(message.timestamp, options); + if (message.msgId != null && message.hasOwnProperty("msgId")) { + object.msgId = options.bytes === String ? $util.base64.encode(message.msgId, 0, message.msgId.length) : options.bytes === Array ? Array.prototype.slice.call(message.msgId) : message.msgId; + if (options.oneofs) + object.dataType = "msgId"; + } + if (message.data != null && message.hasOwnProperty("data")) { + object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; + if (options.oneofs) + object.dataType = "data"; + } + return object; + }; + + /** + * Converts this UnsignedBulletinBoardMessage to JSON. + * @function toJSON + * @memberof meerkat.UnsignedBulletinBoardMessage + * @instance + * @returns {Object.} JSON object + */ + UnsignedBulletinBoardMessage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return UnsignedBulletinBoardMessage; + })(); + + meerkat.BulletinBoardMessage = (function() { + + /** + * Properties of a BulletinBoardMessage. + * @memberof meerkat + * @interface IBulletinBoardMessage + * @property {number|Long} [entryNum] BulletinBoardMessage entryNum + * @property {meerkat.IUnsignedBulletinBoardMessage} [msg] BulletinBoardMessage msg + * @property {Array.} [sig] BulletinBoardMessage sig + */ + + /** + * Constructs a new BulletinBoardMessage. + * @memberof meerkat + * @classdesc Represents a BulletinBoardMessage. + * @constructor + * @param {meerkat.IBulletinBoardMessage=} [properties] Properties to set + */ + function BulletinBoardMessage(properties) { + this.sig = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BulletinBoardMessage entryNum. + * @member {number|Long}entryNum + * @memberof meerkat.BulletinBoardMessage + * @instance + */ + BulletinBoardMessage.prototype.entryNum = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * BulletinBoardMessage msg. + * @member {(meerkat.IUnsignedBulletinBoardMessage|null|undefined)}msg + * @memberof meerkat.BulletinBoardMessage + * @instance + */ + BulletinBoardMessage.prototype.msg = null; + + /** + * BulletinBoardMessage sig. + * @member {Array.}sig + * @memberof meerkat.BulletinBoardMessage + * @instance + */ + BulletinBoardMessage.prototype.sig = $util.emptyArray; + + /** + * Creates a new BulletinBoardMessage instance using the specified properties. + * @function create + * @memberof meerkat.BulletinBoardMessage + * @static + * @param {meerkat.IBulletinBoardMessage=} [properties] Properties to set + * @returns {meerkat.BulletinBoardMessage} BulletinBoardMessage instance + */ + BulletinBoardMessage.create = function create(properties) { + return new BulletinBoardMessage(properties); + }; + + /** + * Encodes the specified BulletinBoardMessage message. Does not implicitly {@link meerkat.BulletinBoardMessage.verify|verify} messages. + * @function encode + * @memberof meerkat.BulletinBoardMessage + * @static + * @param {meerkat.IBulletinBoardMessage} message BulletinBoardMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BulletinBoardMessage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.entryNum != null && message.hasOwnProperty("entryNum")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.entryNum); + if (message.msg != null && message.hasOwnProperty("msg")) + $root.meerkat.UnsignedBulletinBoardMessage.encode(message.msg, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.sig != null && message.sig.length) + for (var i = 0; i < message.sig.length; ++i) + $root.meerkat.Signature.encode(message.sig[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified BulletinBoardMessage message, length delimited. Does not implicitly {@link meerkat.BulletinBoardMessage.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.BulletinBoardMessage + * @static + * @param {meerkat.IBulletinBoardMessage} message BulletinBoardMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BulletinBoardMessage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BulletinBoardMessage message from the specified reader or buffer. + * @function decode + * @memberof meerkat.BulletinBoardMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.BulletinBoardMessage} BulletinBoardMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BulletinBoardMessage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.BulletinBoardMessage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.entryNum = reader.int64(); + break; + case 2: + message.msg = $root.meerkat.UnsignedBulletinBoardMessage.decode(reader, reader.uint32()); + break; + case 3: + if (!(message.sig && message.sig.length)) + message.sig = []; + message.sig.push($root.meerkat.Signature.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BulletinBoardMessage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.BulletinBoardMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.BulletinBoardMessage} BulletinBoardMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BulletinBoardMessage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BulletinBoardMessage message. + * @function verify + * @memberof meerkat.BulletinBoardMessage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BulletinBoardMessage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.entryNum != null && message.hasOwnProperty("entryNum")) + if (!$util.isInteger(message.entryNum) && !(message.entryNum && $util.isInteger(message.entryNum.low) && $util.isInteger(message.entryNum.high))) + return "entryNum: integer|Long expected"; + if (message.msg != null && message.hasOwnProperty("msg")) { + var error = $root.meerkat.UnsignedBulletinBoardMessage.verify(message.msg); + if (error) + return "msg." + error; + } + if (message.sig != null && message.hasOwnProperty("sig")) { + if (!Array.isArray(message.sig)) + return "sig: array expected"; + for (var i = 0; i < message.sig.length; ++i) { + error = $root.meerkat.Signature.verify(message.sig[i]); + if (error) + return "sig." + error; + } + } + return null; + }; + + /** + * Creates a BulletinBoardMessage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.BulletinBoardMessage + * @static + * @param {Object.} object Plain object + * @returns {meerkat.BulletinBoardMessage} BulletinBoardMessage + */ + BulletinBoardMessage.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.BulletinBoardMessage) + return object; + var message = new $root.meerkat.BulletinBoardMessage(); + if (object.entryNum != null) + if ($util.Long) + (message.entryNum = $util.Long.fromValue(object.entryNum)).unsigned = false; + else if (typeof object.entryNum === "string") + message.entryNum = parseInt(object.entryNum, 10); + else if (typeof object.entryNum === "number") + message.entryNum = object.entryNum; + else if (typeof object.entryNum === "object") + message.entryNum = new $util.LongBits(object.entryNum.low >>> 0, object.entryNum.high >>> 0).toNumber(); + if (object.msg != null) { + if (typeof object.msg !== "object") + throw TypeError(".meerkat.BulletinBoardMessage.msg: object expected"); + message.msg = $root.meerkat.UnsignedBulletinBoardMessage.fromObject(object.msg); + } + if (object.sig) { + if (!Array.isArray(object.sig)) + throw TypeError(".meerkat.BulletinBoardMessage.sig: array expected"); + message.sig = []; + for (var i = 0; i < object.sig.length; ++i) { + if (typeof object.sig[i] !== "object") + throw TypeError(".meerkat.BulletinBoardMessage.sig: object expected"); + message.sig[i] = $root.meerkat.Signature.fromObject(object.sig[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a BulletinBoardMessage message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.BulletinBoardMessage + * @static + * @param {meerkat.BulletinBoardMessage} message BulletinBoardMessage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BulletinBoardMessage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.sig = []; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.entryNum = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.entryNum = options.longs === String ? "0" : 0; + object.msg = null; + } + if (message.entryNum != null && message.hasOwnProperty("entryNum")) + if (typeof message.entryNum === "number") + object.entryNum = options.longs === String ? String(message.entryNum) : message.entryNum; + else + object.entryNum = options.longs === String ? $util.Long.prototype.toString.call(message.entryNum) : options.longs === Number ? new $util.LongBits(message.entryNum.low >>> 0, message.entryNum.high >>> 0).toNumber() : message.entryNum; + if (message.msg != null && message.hasOwnProperty("msg")) + object.msg = $root.meerkat.UnsignedBulletinBoardMessage.toObject(message.msg, options); + if (message.sig && message.sig.length) { + object.sig = []; + for (var j = 0; j < message.sig.length; ++j) + object.sig[j] = $root.meerkat.Signature.toObject(message.sig[j], options); + } + return object; + }; + + /** + * Converts this BulletinBoardMessage to JSON. + * @function toJSON + * @memberof meerkat.BulletinBoardMessage + * @instance + * @returns {Object.} JSON object + */ + BulletinBoardMessage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BulletinBoardMessage; + })(); + + meerkat.BulletinBoardMessageList = (function() { + + /** + * Properties of a BulletinBoardMessageList. + * @memberof meerkat + * @interface IBulletinBoardMessageList + * @property {Array.} [message] BulletinBoardMessageList message + */ + + /** + * Constructs a new BulletinBoardMessageList. + * @memberof meerkat + * @classdesc Represents a BulletinBoardMessageList. + * @constructor + * @param {meerkat.IBulletinBoardMessageList=} [properties] Properties to set + */ + function BulletinBoardMessageList(properties) { + this.message = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BulletinBoardMessageList message. + * @member {Array.}message + * @memberof meerkat.BulletinBoardMessageList + * @instance + */ + BulletinBoardMessageList.prototype.message = $util.emptyArray; + + /** + * Creates a new BulletinBoardMessageList instance using the specified properties. + * @function create + * @memberof meerkat.BulletinBoardMessageList + * @static + * @param {meerkat.IBulletinBoardMessageList=} [properties] Properties to set + * @returns {meerkat.BulletinBoardMessageList} BulletinBoardMessageList instance + */ + BulletinBoardMessageList.create = function create(properties) { + return new BulletinBoardMessageList(properties); + }; + + /** + * Encodes the specified BulletinBoardMessageList message. Does not implicitly {@link meerkat.BulletinBoardMessageList.verify|verify} messages. + * @function encode + * @memberof meerkat.BulletinBoardMessageList + * @static + * @param {meerkat.IBulletinBoardMessageList} message BulletinBoardMessageList message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BulletinBoardMessageList.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.message != null && message.message.length) + for (var i = 0; i < message.message.length; ++i) + $root.meerkat.BulletinBoardMessage.encode(message.message[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified BulletinBoardMessageList message, length delimited. Does not implicitly {@link meerkat.BulletinBoardMessageList.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.BulletinBoardMessageList + * @static + * @param {meerkat.IBulletinBoardMessageList} message BulletinBoardMessageList message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BulletinBoardMessageList.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BulletinBoardMessageList message from the specified reader or buffer. + * @function decode + * @memberof meerkat.BulletinBoardMessageList + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.BulletinBoardMessageList} BulletinBoardMessageList + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BulletinBoardMessageList.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.BulletinBoardMessageList(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.message && message.message.length)) + message.message = []; + message.message.push($root.meerkat.BulletinBoardMessage.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BulletinBoardMessageList message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.BulletinBoardMessageList + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.BulletinBoardMessageList} BulletinBoardMessageList + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BulletinBoardMessageList.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BulletinBoardMessageList message. + * @function verify + * @memberof meerkat.BulletinBoardMessageList + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BulletinBoardMessageList.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.message != null && message.hasOwnProperty("message")) { + if (!Array.isArray(message.message)) + return "message: array expected"; + for (var i = 0; i < message.message.length; ++i) { + var error = $root.meerkat.BulletinBoardMessage.verify(message.message[i]); + if (error) + return "message." + error; + } + } + return null; + }; + + /** + * Creates a BulletinBoardMessageList message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.BulletinBoardMessageList + * @static + * @param {Object.} object Plain object + * @returns {meerkat.BulletinBoardMessageList} BulletinBoardMessageList + */ + BulletinBoardMessageList.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.BulletinBoardMessageList) + return object; + var message = new $root.meerkat.BulletinBoardMessageList(); + if (object.message) { + if (!Array.isArray(object.message)) + throw TypeError(".meerkat.BulletinBoardMessageList.message: array expected"); + message.message = []; + for (var i = 0; i < object.message.length; ++i) { + if (typeof object.message[i] !== "object") + throw TypeError(".meerkat.BulletinBoardMessageList.message: object expected"); + message.message[i] = $root.meerkat.BulletinBoardMessage.fromObject(object.message[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a BulletinBoardMessageList message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.BulletinBoardMessageList + * @static + * @param {meerkat.BulletinBoardMessageList} message BulletinBoardMessageList + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BulletinBoardMessageList.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.message = []; + if (message.message && message.message.length) { + object.message = []; + for (var j = 0; j < message.message.length; ++j) + object.message[j] = $root.meerkat.BulletinBoardMessage.toObject(message.message[j], options); + } + return object; + }; + + /** + * Converts this BulletinBoardMessageList to JSON. + * @function toJSON + * @memberof meerkat.BulletinBoardMessageList + * @instance + * @returns {Object.} JSON object + */ + BulletinBoardMessageList.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BulletinBoardMessageList; + })(); + + /** + * FilterType enum. + * @enum {string} + * @property {number} MSG_ID=0 MSG_ID value + * @property {number} EXACT_ENTRY=1 EXACT_ENTRY value + * @property {number} MAX_ENTRY=2 MAX_ENTRY value + * @property {number} MIN_ENTRY=3 MIN_ENTRY value + * @property {number} SIGNER_ID=4 SIGNER_ID value + * @property {number} TAG=5 TAG value + * @property {number} AFTER_TIME=6 AFTER_TIME value + * @property {number} BEFORE_TIME=7 BEFORE_TIME value + * @property {number} MAX_MESSAGES=8 MAX_MESSAGES value + */ + meerkat.FilterType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "MSG_ID"] = 0; + values[valuesById[1] = "EXACT_ENTRY"] = 1; + values[valuesById[2] = "MAX_ENTRY"] = 2; + values[valuesById[3] = "MIN_ENTRY"] = 3; + values[valuesById[4] = "SIGNER_ID"] = 4; + values[valuesById[5] = "TAG"] = 5; + values[valuesById[6] = "AFTER_TIME"] = 6; + values[valuesById[7] = "BEFORE_TIME"] = 7; + values[valuesById[8] = "MAX_MESSAGES"] = 8; + return values; + })(); + + meerkat.MessageFilter = (function() { + + /** + * Properties of a MessageFilter. + * @memberof meerkat + * @interface IMessageFilter + * @property {meerkat.FilterType} [type] MessageFilter type + * @property {Uint8Array} [id] MessageFilter id + * @property {number|Long} [entry] MessageFilter entry + * @property {string} [tag] MessageFilter tag + * @property {number|Long} [maxMessages] MessageFilter maxMessages + * @property {google.protobuf.ITimestamp} [timestamp] MessageFilter timestamp + */ + + /** + * Constructs a new MessageFilter. + * @memberof meerkat + * @classdesc Represents a MessageFilter. + * @constructor + * @param {meerkat.IMessageFilter=} [properties] Properties to set + */ + function MessageFilter(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * MessageFilter type. + * @member {meerkat.FilterType}type + * @memberof meerkat.MessageFilter + * @instance + */ + MessageFilter.prototype.type = 0; + + /** + * MessageFilter id. + * @member {Uint8Array}id + * @memberof meerkat.MessageFilter + * @instance + */ + MessageFilter.prototype.id = $util.newBuffer([]); + + /** + * MessageFilter entry. + * @member {number|Long}entry + * @memberof meerkat.MessageFilter + * @instance + */ + MessageFilter.prototype.entry = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * MessageFilter tag. + * @member {string}tag + * @memberof meerkat.MessageFilter + * @instance + */ + MessageFilter.prototype.tag = ""; + + /** + * MessageFilter maxMessages. + * @member {number|Long}maxMessages + * @memberof meerkat.MessageFilter + * @instance + */ + MessageFilter.prototype.maxMessages = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * MessageFilter timestamp. + * @member {(google.protobuf.ITimestamp|null|undefined)}timestamp + * @memberof meerkat.MessageFilter + * @instance + */ + MessageFilter.prototype.timestamp = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * MessageFilter filter. + * @member {string|undefined} filter + * @memberof meerkat.MessageFilter + * @instance + */ + Object.defineProperty(MessageFilter.prototype, "filter", { + get: $util.oneOfGetter($oneOfFields = ["id", "entry", "tag", "maxMessages", "timestamp"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new MessageFilter instance using the specified properties. + * @function create + * @memberof meerkat.MessageFilter + * @static + * @param {meerkat.IMessageFilter=} [properties] Properties to set + * @returns {meerkat.MessageFilter} MessageFilter instance + */ + MessageFilter.create = function create(properties) { + return new MessageFilter(properties); + }; + + /** + * Encodes the specified MessageFilter message. Does not implicitly {@link meerkat.MessageFilter.verify|verify} messages. + * @function encode + * @memberof meerkat.MessageFilter + * @static + * @param {meerkat.IMessageFilter} message MessageFilter message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MessageFilter.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); + if (message.id != null && message.hasOwnProperty("id")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.id); + if (message.entry != null && message.hasOwnProperty("entry")) + writer.uint32(/* id 3, wireType 0 =*/24).int64(message.entry); + if (message.tag != null && message.hasOwnProperty("tag")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.tag); + if (message.maxMessages != null && message.hasOwnProperty("maxMessages")) + writer.uint32(/* id 5, wireType 0 =*/40).int64(message.maxMessages); + if (message.timestamp != null && message.hasOwnProperty("timestamp")) + $root.google.protobuf.Timestamp.encode(message.timestamp, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified MessageFilter message, length delimited. Does not implicitly {@link meerkat.MessageFilter.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.MessageFilter + * @static + * @param {meerkat.IMessageFilter} message MessageFilter message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MessageFilter.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a MessageFilter message from the specified reader or buffer. + * @function decode + * @memberof meerkat.MessageFilter + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.MessageFilter} MessageFilter + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MessageFilter.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.MessageFilter(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.type = reader.int32(); + break; + case 2: + message.id = reader.bytes(); + break; + case 3: + message.entry = reader.int64(); + break; + case 4: + message.tag = reader.string(); + break; + case 5: + message.maxMessages = reader.int64(); + break; + case 6: + message.timestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a MessageFilter message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.MessageFilter + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.MessageFilter} MessageFilter + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MessageFilter.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a MessageFilter message. + * @function verify + * @memberof meerkat.MessageFilter + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + MessageFilter.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.type != null && message.hasOwnProperty("type")) + switch (message.type) { + default: + return "type: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + break; + } + if (message.id != null && message.hasOwnProperty("id")) { + properties.filter = 1; + if (!(message.id && typeof message.id.length === "number" || $util.isString(message.id))) + return "id: buffer expected"; + } + if (message.entry != null && message.hasOwnProperty("entry")) { + if (properties.filter === 1) + return "filter: multiple values"; + properties.filter = 1; + if (!$util.isInteger(message.entry) && !(message.entry && $util.isInteger(message.entry.low) && $util.isInteger(message.entry.high))) + return "entry: integer|Long expected"; + } + if (message.tag != null && message.hasOwnProperty("tag")) { + if (properties.filter === 1) + return "filter: multiple values"; + properties.filter = 1; + if (!$util.isString(message.tag)) + return "tag: string expected"; + } + if (message.maxMessages != null && message.hasOwnProperty("maxMessages")) { + if (properties.filter === 1) + return "filter: multiple values"; + properties.filter = 1; + if (!$util.isInteger(message.maxMessages) && !(message.maxMessages && $util.isInteger(message.maxMessages.low) && $util.isInteger(message.maxMessages.high))) + return "maxMessages: integer|Long expected"; + } + if (message.timestamp != null && message.hasOwnProperty("timestamp")) { + if (properties.filter === 1) + return "filter: multiple values"; + properties.filter = 1; + var error = $root.google.protobuf.Timestamp.verify(message.timestamp); + if (error) + return "timestamp." + error; + } + return null; + }; + + /** + * Creates a MessageFilter message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.MessageFilter + * @static + * @param {Object.} object Plain object + * @returns {meerkat.MessageFilter} MessageFilter + */ + MessageFilter.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.MessageFilter) + return object; + var message = new $root.meerkat.MessageFilter(); + switch (object.type) { + case "MSG_ID": + case 0: + message.type = 0; + break; + case "EXACT_ENTRY": + case 1: + message.type = 1; + break; + case "MAX_ENTRY": + case 2: + message.type = 2; + break; + case "MIN_ENTRY": + case 3: + message.type = 3; + break; + case "SIGNER_ID": + case 4: + message.type = 4; + break; + case "TAG": + case 5: + message.type = 5; + break; + case "AFTER_TIME": + case 6: + message.type = 6; + break; + case "BEFORE_TIME": + case 7: + message.type = 7; + break; + case "MAX_MESSAGES": + case 8: + message.type = 8; + break; + } + if (object.id != null) + if (typeof object.id === "string") + $util.base64.decode(object.id, message.id = $util.newBuffer($util.base64.length(object.id)), 0); + else if (object.id.length) + message.id = object.id; + if (object.entry != null) + if ($util.Long) + (message.entry = $util.Long.fromValue(object.entry)).unsigned = false; + else if (typeof object.entry === "string") + message.entry = parseInt(object.entry, 10); + else if (typeof object.entry === "number") + message.entry = object.entry; + else if (typeof object.entry === "object") + message.entry = new $util.LongBits(object.entry.low >>> 0, object.entry.high >>> 0).toNumber(); + if (object.tag != null) + message.tag = String(object.tag); + if (object.maxMessages != null) + if ($util.Long) + (message.maxMessages = $util.Long.fromValue(object.maxMessages)).unsigned = false; + else if (typeof object.maxMessages === "string") + message.maxMessages = parseInt(object.maxMessages, 10); + else if (typeof object.maxMessages === "number") + message.maxMessages = object.maxMessages; + else if (typeof object.maxMessages === "object") + message.maxMessages = new $util.LongBits(object.maxMessages.low >>> 0, object.maxMessages.high >>> 0).toNumber(); + if (object.timestamp != null) { + if (typeof object.timestamp !== "object") + throw TypeError(".meerkat.MessageFilter.timestamp: object expected"); + message.timestamp = $root.google.protobuf.Timestamp.fromObject(object.timestamp); + } + return message; + }; + + /** + * Creates a plain object from a MessageFilter message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.MessageFilter + * @static + * @param {meerkat.MessageFilter} message MessageFilter + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + MessageFilter.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.type = options.enums === String ? "MSG_ID" : 0; + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.meerkat.FilterType[message.type] : message.type; + if (message.id != null && message.hasOwnProperty("id")) { + object.id = options.bytes === String ? $util.base64.encode(message.id, 0, message.id.length) : options.bytes === Array ? Array.prototype.slice.call(message.id) : message.id; + if (options.oneofs) + object.filter = "id"; + } + if (message.entry != null && message.hasOwnProperty("entry")) { + if (typeof message.entry === "number") + object.entry = options.longs === String ? String(message.entry) : message.entry; + else + object.entry = options.longs === String ? $util.Long.prototype.toString.call(message.entry) : options.longs === Number ? new $util.LongBits(message.entry.low >>> 0, message.entry.high >>> 0).toNumber() : message.entry; + if (options.oneofs) + object.filter = "entry"; + } + if (message.tag != null && message.hasOwnProperty("tag")) { + object.tag = message.tag; + if (options.oneofs) + object.filter = "tag"; + } + if (message.maxMessages != null && message.hasOwnProperty("maxMessages")) { + if (typeof message.maxMessages === "number") + object.maxMessages = options.longs === String ? String(message.maxMessages) : message.maxMessages; + else + object.maxMessages = options.longs === String ? $util.Long.prototype.toString.call(message.maxMessages) : options.longs === Number ? new $util.LongBits(message.maxMessages.low >>> 0, message.maxMessages.high >>> 0).toNumber() : message.maxMessages; + if (options.oneofs) + object.filter = "maxMessages"; + } + if (message.timestamp != null && message.hasOwnProperty("timestamp")) { + object.timestamp = $root.google.protobuf.Timestamp.toObject(message.timestamp, options); + if (options.oneofs) + object.filter = "timestamp"; + } + return object; + }; + + /** + * Converts this MessageFilter to JSON. + * @function toJSON + * @memberof meerkat.MessageFilter + * @instance + * @returns {Object.} JSON object + */ + MessageFilter.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return MessageFilter; + })(); + + meerkat.MessageFilterList = (function() { + + /** + * Properties of a MessageFilterList. + * @memberof meerkat + * @interface IMessageFilterList + * @property {Array.} [filter] MessageFilterList filter + */ + + /** + * Constructs a new MessageFilterList. + * @memberof meerkat + * @classdesc Represents a MessageFilterList. + * @constructor + * @param {meerkat.IMessageFilterList=} [properties] Properties to set + */ + function MessageFilterList(properties) { + this.filter = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * MessageFilterList filter. + * @member {Array.}filter + * @memberof meerkat.MessageFilterList + * @instance + */ + MessageFilterList.prototype.filter = $util.emptyArray; + + /** + * Creates a new MessageFilterList instance using the specified properties. + * @function create + * @memberof meerkat.MessageFilterList + * @static + * @param {meerkat.IMessageFilterList=} [properties] Properties to set + * @returns {meerkat.MessageFilterList} MessageFilterList instance + */ + MessageFilterList.create = function create(properties) { + return new MessageFilterList(properties); + }; + + /** + * Encodes the specified MessageFilterList message. Does not implicitly {@link meerkat.MessageFilterList.verify|verify} messages. + * @function encode + * @memberof meerkat.MessageFilterList + * @static + * @param {meerkat.IMessageFilterList} message MessageFilterList message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MessageFilterList.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.filter != null && message.filter.length) + for (var i = 0; i < message.filter.length; ++i) + $root.meerkat.MessageFilter.encode(message.filter[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified MessageFilterList message, length delimited. Does not implicitly {@link meerkat.MessageFilterList.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.MessageFilterList + * @static + * @param {meerkat.IMessageFilterList} message MessageFilterList message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MessageFilterList.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a MessageFilterList message from the specified reader or buffer. + * @function decode + * @memberof meerkat.MessageFilterList + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.MessageFilterList} MessageFilterList + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MessageFilterList.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.MessageFilterList(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.filter && message.filter.length)) + message.filter = []; + message.filter.push($root.meerkat.MessageFilter.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a MessageFilterList message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.MessageFilterList + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.MessageFilterList} MessageFilterList + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MessageFilterList.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a MessageFilterList message. + * @function verify + * @memberof meerkat.MessageFilterList + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + MessageFilterList.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.filter != null && message.hasOwnProperty("filter")) { + if (!Array.isArray(message.filter)) + return "filter: array expected"; + for (var i = 0; i < message.filter.length; ++i) { + var error = $root.meerkat.MessageFilter.verify(message.filter[i]); + if (error) + return "filter." + error; + } + } + return null; + }; + + /** + * Creates a MessageFilterList message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.MessageFilterList + * @static + * @param {Object.} object Plain object + * @returns {meerkat.MessageFilterList} MessageFilterList + */ + MessageFilterList.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.MessageFilterList) + return object; + var message = new $root.meerkat.MessageFilterList(); + if (object.filter) { + if (!Array.isArray(object.filter)) + throw TypeError(".meerkat.MessageFilterList.filter: array expected"); + message.filter = []; + for (var i = 0; i < object.filter.length; ++i) { + if (typeof object.filter[i] !== "object") + throw TypeError(".meerkat.MessageFilterList.filter: object expected"); + message.filter[i] = $root.meerkat.MessageFilter.fromObject(object.filter[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a MessageFilterList message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.MessageFilterList + * @static + * @param {meerkat.MessageFilterList} message MessageFilterList + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + MessageFilterList.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.filter = []; + if (message.filter && message.filter.length) { + object.filter = []; + for (var j = 0; j < message.filter.length; ++j) + object.filter[j] = $root.meerkat.MessageFilter.toObject(message.filter[j], options); + } + return object; + }; + + /** + * Converts this MessageFilterList to JSON. + * @function toJSON + * @memberof meerkat.MessageFilterList + * @instance + * @returns {Object.} JSON object + */ + MessageFilterList.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return MessageFilterList; + })(); + + meerkat.BeginBatchMessage = (function() { + + /** + * Properties of a BeginBatchMessage. + * @memberof meerkat + * @interface IBeginBatchMessage + * @property {Array.} [tag] BeginBatchMessage tag + */ + + /** + * Constructs a new BeginBatchMessage. + * @memberof meerkat + * @classdesc Represents a BeginBatchMessage. + * @constructor + * @param {meerkat.IBeginBatchMessage=} [properties] Properties to set + */ + function BeginBatchMessage(properties) { + this.tag = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BeginBatchMessage tag. + * @member {Array.}tag + * @memberof meerkat.BeginBatchMessage + * @instance + */ + BeginBatchMessage.prototype.tag = $util.emptyArray; + + /** + * Creates a new BeginBatchMessage instance using the specified properties. + * @function create + * @memberof meerkat.BeginBatchMessage + * @static + * @param {meerkat.IBeginBatchMessage=} [properties] Properties to set + * @returns {meerkat.BeginBatchMessage} BeginBatchMessage instance + */ + BeginBatchMessage.create = function create(properties) { + return new BeginBatchMessage(properties); + }; + + /** + * Encodes the specified BeginBatchMessage message. Does not implicitly {@link meerkat.BeginBatchMessage.verify|verify} messages. + * @function encode + * @memberof meerkat.BeginBatchMessage + * @static + * @param {meerkat.IBeginBatchMessage} message BeginBatchMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BeginBatchMessage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.tag != null && message.tag.length) + for (var i = 0; i < message.tag.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.tag[i]); + return writer; + }; + + /** + * Encodes the specified BeginBatchMessage message, length delimited. Does not implicitly {@link meerkat.BeginBatchMessage.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.BeginBatchMessage + * @static + * @param {meerkat.IBeginBatchMessage} message BeginBatchMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BeginBatchMessage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BeginBatchMessage message from the specified reader or buffer. + * @function decode + * @memberof meerkat.BeginBatchMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.BeginBatchMessage} BeginBatchMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BeginBatchMessage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.BeginBatchMessage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.tag && message.tag.length)) + message.tag = []; + message.tag.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BeginBatchMessage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.BeginBatchMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.BeginBatchMessage} BeginBatchMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BeginBatchMessage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BeginBatchMessage message. + * @function verify + * @memberof meerkat.BeginBatchMessage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BeginBatchMessage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.tag != null && message.hasOwnProperty("tag")) { + if (!Array.isArray(message.tag)) + return "tag: array expected"; + for (var i = 0; i < message.tag.length; ++i) + if (!$util.isString(message.tag[i])) + return "tag: string[] expected"; + } + return null; + }; + + /** + * Creates a BeginBatchMessage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.BeginBatchMessage + * @static + * @param {Object.} object Plain object + * @returns {meerkat.BeginBatchMessage} BeginBatchMessage + */ + BeginBatchMessage.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.BeginBatchMessage) + return object; + var message = new $root.meerkat.BeginBatchMessage(); + if (object.tag) { + if (!Array.isArray(object.tag)) + throw TypeError(".meerkat.BeginBatchMessage.tag: array expected"); + message.tag = []; + for (var i = 0; i < object.tag.length; ++i) + message.tag[i] = String(object.tag[i]); + } + return message; + }; + + /** + * Creates a plain object from a BeginBatchMessage message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.BeginBatchMessage + * @static + * @param {meerkat.BeginBatchMessage} message BeginBatchMessage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BeginBatchMessage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.tag = []; + if (message.tag && message.tag.length) { + object.tag = []; + for (var j = 0; j < message.tag.length; ++j) + object.tag[j] = message.tag[j]; + } + return object; + }; + + /** + * Converts this BeginBatchMessage to JSON. + * @function toJSON + * @memberof meerkat.BeginBatchMessage + * @instance + * @returns {Object.} JSON object + */ + BeginBatchMessage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BeginBatchMessage; + })(); + + meerkat.CloseBatchMessage = (function() { + + /** + * Properties of a CloseBatchMessage. + * @memberof meerkat + * @interface ICloseBatchMessage + * @property {number|Long} [batchId] CloseBatchMessage batchId + * @property {number} [batchLength] CloseBatchMessage batchLength + * @property {google.protobuf.ITimestamp} [timestamp] CloseBatchMessage timestamp + * @property {Array.} [sig] CloseBatchMessage sig + */ + + /** + * Constructs a new CloseBatchMessage. + * @memberof meerkat + * @classdesc Represents a CloseBatchMessage. + * @constructor + * @param {meerkat.ICloseBatchMessage=} [properties] Properties to set + */ + function CloseBatchMessage(properties) { + this.sig = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CloseBatchMessage batchId. + * @member {number|Long}batchId + * @memberof meerkat.CloseBatchMessage + * @instance + */ + CloseBatchMessage.prototype.batchId = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * CloseBatchMessage batchLength. + * @member {number}batchLength + * @memberof meerkat.CloseBatchMessage + * @instance + */ + CloseBatchMessage.prototype.batchLength = 0; + + /** + * CloseBatchMessage timestamp. + * @member {(google.protobuf.ITimestamp|null|undefined)}timestamp + * @memberof meerkat.CloseBatchMessage + * @instance + */ + CloseBatchMessage.prototype.timestamp = null; + + /** + * CloseBatchMessage sig. + * @member {Array.}sig + * @memberof meerkat.CloseBatchMessage + * @instance + */ + CloseBatchMessage.prototype.sig = $util.emptyArray; + + /** + * Creates a new CloseBatchMessage instance using the specified properties. + * @function create + * @memberof meerkat.CloseBatchMessage + * @static + * @param {meerkat.ICloseBatchMessage=} [properties] Properties to set + * @returns {meerkat.CloseBatchMessage} CloseBatchMessage instance + */ + CloseBatchMessage.create = function create(properties) { + return new CloseBatchMessage(properties); + }; + + /** + * Encodes the specified CloseBatchMessage message. Does not implicitly {@link meerkat.CloseBatchMessage.verify|verify} messages. + * @function encode + * @memberof meerkat.CloseBatchMessage + * @static + * @param {meerkat.ICloseBatchMessage} message CloseBatchMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CloseBatchMessage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.batchId != null && message.hasOwnProperty("batchId")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.batchId); + if (message.batchLength != null && message.hasOwnProperty("batchLength")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.batchLength); + if (message.timestamp != null && message.hasOwnProperty("timestamp")) + $root.google.protobuf.Timestamp.encode(message.timestamp, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.sig != null && message.sig.length) + for (var i = 0; i < message.sig.length; ++i) + $root.meerkat.Signature.encode(message.sig[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified CloseBatchMessage message, length delimited. Does not implicitly {@link meerkat.CloseBatchMessage.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.CloseBatchMessage + * @static + * @param {meerkat.ICloseBatchMessage} message CloseBatchMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CloseBatchMessage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CloseBatchMessage message from the specified reader or buffer. + * @function decode + * @memberof meerkat.CloseBatchMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.CloseBatchMessage} CloseBatchMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CloseBatchMessage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.CloseBatchMessage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.batchId = reader.int64(); + break; + case 2: + message.batchLength = reader.int32(); + break; + case 3: + message.timestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + case 4: + if (!(message.sig && message.sig.length)) + message.sig = []; + message.sig.push($root.meerkat.Signature.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CloseBatchMessage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.CloseBatchMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.CloseBatchMessage} CloseBatchMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CloseBatchMessage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CloseBatchMessage message. + * @function verify + * @memberof meerkat.CloseBatchMessage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CloseBatchMessage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.batchId != null && message.hasOwnProperty("batchId")) + if (!$util.isInteger(message.batchId) && !(message.batchId && $util.isInteger(message.batchId.low) && $util.isInteger(message.batchId.high))) + return "batchId: integer|Long expected"; + if (message.batchLength != null && message.hasOwnProperty("batchLength")) + if (!$util.isInteger(message.batchLength)) + return "batchLength: integer expected"; + if (message.timestamp != null && message.hasOwnProperty("timestamp")) { + var error = $root.google.protobuf.Timestamp.verify(message.timestamp); + if (error) + return "timestamp." + error; + } + if (message.sig != null && message.hasOwnProperty("sig")) { + if (!Array.isArray(message.sig)) + return "sig: array expected"; + for (var i = 0; i < message.sig.length; ++i) { + error = $root.meerkat.Signature.verify(message.sig[i]); + if (error) + return "sig." + error; + } + } + return null; + }; + + /** + * Creates a CloseBatchMessage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.CloseBatchMessage + * @static + * @param {Object.} object Plain object + * @returns {meerkat.CloseBatchMessage} CloseBatchMessage + */ + CloseBatchMessage.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.CloseBatchMessage) + return object; + var message = new $root.meerkat.CloseBatchMessage(); + if (object.batchId != null) + if ($util.Long) + (message.batchId = $util.Long.fromValue(object.batchId)).unsigned = false; + else if (typeof object.batchId === "string") + message.batchId = parseInt(object.batchId, 10); + else if (typeof object.batchId === "number") + message.batchId = object.batchId; + else if (typeof object.batchId === "object") + message.batchId = new $util.LongBits(object.batchId.low >>> 0, object.batchId.high >>> 0).toNumber(); + if (object.batchLength != null) + message.batchLength = object.batchLength | 0; + if (object.timestamp != null) { + if (typeof object.timestamp !== "object") + throw TypeError(".meerkat.CloseBatchMessage.timestamp: object expected"); + message.timestamp = $root.google.protobuf.Timestamp.fromObject(object.timestamp); + } + if (object.sig) { + if (!Array.isArray(object.sig)) + throw TypeError(".meerkat.CloseBatchMessage.sig: array expected"); + message.sig = []; + for (var i = 0; i < object.sig.length; ++i) { + if (typeof object.sig[i] !== "object") + throw TypeError(".meerkat.CloseBatchMessage.sig: object expected"); + message.sig[i] = $root.meerkat.Signature.fromObject(object.sig[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a CloseBatchMessage message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.CloseBatchMessage + * @static + * @param {meerkat.CloseBatchMessage} message CloseBatchMessage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CloseBatchMessage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.sig = []; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.batchId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.batchId = options.longs === String ? "0" : 0; + object.batchLength = 0; + object.timestamp = null; + } + if (message.batchId != null && message.hasOwnProperty("batchId")) + if (typeof message.batchId === "number") + object.batchId = options.longs === String ? String(message.batchId) : message.batchId; + else + object.batchId = options.longs === String ? $util.Long.prototype.toString.call(message.batchId) : options.longs === Number ? new $util.LongBits(message.batchId.low >>> 0, message.batchId.high >>> 0).toNumber() : message.batchId; + if (message.batchLength != null && message.hasOwnProperty("batchLength")) + object.batchLength = message.batchLength; + if (message.timestamp != null && message.hasOwnProperty("timestamp")) + object.timestamp = $root.google.protobuf.Timestamp.toObject(message.timestamp, options); + if (message.sig && message.sig.length) { + object.sig = []; + for (var j = 0; j < message.sig.length; ++j) + object.sig[j] = $root.meerkat.Signature.toObject(message.sig[j], options); + } + return object; + }; + + /** + * Converts this CloseBatchMessage to JSON. + * @function toJSON + * @memberof meerkat.CloseBatchMessage + * @instance + * @returns {Object.} JSON object + */ + CloseBatchMessage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CloseBatchMessage; + })(); + + meerkat.BatchChunk = (function() { + + /** + * Properties of a BatchChunk. + * @memberof meerkat + * @interface IBatchChunk + * @property {Uint8Array} [data] BatchChunk data + */ + + /** + * Constructs a new BatchChunk. + * @memberof meerkat + * @classdesc Represents a BatchChunk. + * @constructor + * @param {meerkat.IBatchChunk=} [properties] Properties to set + */ + function BatchChunk(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BatchChunk data. + * @member {Uint8Array}data + * @memberof meerkat.BatchChunk + * @instance + */ + BatchChunk.prototype.data = $util.newBuffer([]); + + /** + * Creates a new BatchChunk instance using the specified properties. + * @function create + * @memberof meerkat.BatchChunk + * @static + * @param {meerkat.IBatchChunk=} [properties] Properties to set + * @returns {meerkat.BatchChunk} BatchChunk instance + */ + BatchChunk.create = function create(properties) { + return new BatchChunk(properties); + }; + + /** + * Encodes the specified BatchChunk message. Does not implicitly {@link meerkat.BatchChunk.verify|verify} messages. + * @function encode + * @memberof meerkat.BatchChunk + * @static + * @param {meerkat.IBatchChunk} message BatchChunk message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchChunk.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.data != null && message.hasOwnProperty("data")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.data); + return writer; + }; + + /** + * Encodes the specified BatchChunk message, length delimited. Does not implicitly {@link meerkat.BatchChunk.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.BatchChunk + * @static + * @param {meerkat.IBatchChunk} message BatchChunk message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchChunk.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BatchChunk message from the specified reader or buffer. + * @function decode + * @memberof meerkat.BatchChunk + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.BatchChunk} BatchChunk + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchChunk.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.BatchChunk(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.data = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BatchChunk message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.BatchChunk + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.BatchChunk} BatchChunk + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchChunk.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BatchChunk message. + * @function verify + * @memberof meerkat.BatchChunk + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BatchChunk.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.data != null && message.hasOwnProperty("data")) + if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) + return "data: buffer expected"; + return null; + }; + + /** + * Creates a BatchChunk message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.BatchChunk + * @static + * @param {Object.} object Plain object + * @returns {meerkat.BatchChunk} BatchChunk + */ + BatchChunk.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.BatchChunk) + return object; + var message = new $root.meerkat.BatchChunk(); + if (object.data != null) + if (typeof object.data === "string") + $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); + else if (object.data.length) + message.data = object.data; + return message; + }; + + /** + * Creates a plain object from a BatchChunk message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.BatchChunk + * @static + * @param {meerkat.BatchChunk} message BatchChunk + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BatchChunk.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.data = options.bytes === String ? "" : []; + if (message.data != null && message.hasOwnProperty("data")) + object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; + return object; + }; + + /** + * Converts this BatchChunk to JSON. + * @function toJSON + * @memberof meerkat.BatchChunk + * @instance + * @returns {Object.} JSON object + */ + BatchChunk.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BatchChunk; + })(); + + meerkat.BatchChunkList = (function() { + + /** + * Properties of a BatchChunkList. + * @memberof meerkat + * @interface IBatchChunkList + * @property {Array.} [data] BatchChunkList data + */ + + /** + * Constructs a new BatchChunkList. + * @memberof meerkat + * @classdesc Represents a BatchChunkList. + * @constructor + * @param {meerkat.IBatchChunkList=} [properties] Properties to set + */ + function BatchChunkList(properties) { + this.data = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BatchChunkList data. + * @member {Array.}data + * @memberof meerkat.BatchChunkList + * @instance + */ + BatchChunkList.prototype.data = $util.emptyArray; + + /** + * Creates a new BatchChunkList instance using the specified properties. + * @function create + * @memberof meerkat.BatchChunkList + * @static + * @param {meerkat.IBatchChunkList=} [properties] Properties to set + * @returns {meerkat.BatchChunkList} BatchChunkList instance + */ + BatchChunkList.create = function create(properties) { + return new BatchChunkList(properties); + }; + + /** + * Encodes the specified BatchChunkList message. Does not implicitly {@link meerkat.BatchChunkList.verify|verify} messages. + * @function encode + * @memberof meerkat.BatchChunkList + * @static + * @param {meerkat.IBatchChunkList} message BatchChunkList message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchChunkList.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.data != null && message.data.length) + for (var i = 0; i < message.data.length; ++i) + $root.meerkat.BatchChunk.encode(message.data[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified BatchChunkList message, length delimited. Does not implicitly {@link meerkat.BatchChunkList.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.BatchChunkList + * @static + * @param {meerkat.IBatchChunkList} message BatchChunkList message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchChunkList.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BatchChunkList message from the specified reader or buffer. + * @function decode + * @memberof meerkat.BatchChunkList + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.BatchChunkList} BatchChunkList + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchChunkList.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.BatchChunkList(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.data && message.data.length)) + message.data = []; + message.data.push($root.meerkat.BatchChunk.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BatchChunkList message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.BatchChunkList + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.BatchChunkList} BatchChunkList + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchChunkList.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BatchChunkList message. + * @function verify + * @memberof meerkat.BatchChunkList + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BatchChunkList.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.data != null && message.hasOwnProperty("data")) { + if (!Array.isArray(message.data)) + return "data: array expected"; + for (var i = 0; i < message.data.length; ++i) { + var error = $root.meerkat.BatchChunk.verify(message.data[i]); + if (error) + return "data." + error; + } + } + return null; + }; + + /** + * Creates a BatchChunkList message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.BatchChunkList + * @static + * @param {Object.} object Plain object + * @returns {meerkat.BatchChunkList} BatchChunkList + */ + BatchChunkList.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.BatchChunkList) + return object; + var message = new $root.meerkat.BatchChunkList(); + if (object.data) { + if (!Array.isArray(object.data)) + throw TypeError(".meerkat.BatchChunkList.data: array expected"); + message.data = []; + for (var i = 0; i < object.data.length; ++i) { + if (typeof object.data[i] !== "object") + throw TypeError(".meerkat.BatchChunkList.data: object expected"); + message.data[i] = $root.meerkat.BatchChunk.fromObject(object.data[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a BatchChunkList message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.BatchChunkList + * @static + * @param {meerkat.BatchChunkList} message BatchChunkList + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BatchChunkList.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.data = []; + if (message.data && message.data.length) { + object.data = []; + for (var j = 0; j < message.data.length; ++j) + object.data[j] = $root.meerkat.BatchChunk.toObject(message.data[j], options); + } + return object; + }; + + /** + * Converts this BatchChunkList to JSON. + * @function toJSON + * @memberof meerkat.BatchChunkList + * @instance + * @returns {Object.} JSON object + */ + BatchChunkList.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BatchChunkList; + })(); + + meerkat.BatchMessage = (function() { + + /** + * Properties of a BatchMessage. + * @memberof meerkat + * @interface IBatchMessage + * @property {number|Long} [batchId] BatchMessage batchId + * @property {number} [serialNum] BatchMessage serialNum + * @property {meerkat.IBatchChunk} [data] BatchMessage data + */ + + /** + * Constructs a new BatchMessage. + * @memberof meerkat + * @classdesc Represents a BatchMessage. + * @constructor + * @param {meerkat.IBatchMessage=} [properties] Properties to set + */ + function BatchMessage(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BatchMessage batchId. + * @member {number|Long}batchId + * @memberof meerkat.BatchMessage + * @instance + */ + BatchMessage.prototype.batchId = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * BatchMessage serialNum. + * @member {number}serialNum + * @memberof meerkat.BatchMessage + * @instance + */ + BatchMessage.prototype.serialNum = 0; + + /** + * BatchMessage data. + * @member {(meerkat.IBatchChunk|null|undefined)}data + * @memberof meerkat.BatchMessage + * @instance + */ + BatchMessage.prototype.data = null; + + /** + * Creates a new BatchMessage instance using the specified properties. + * @function create + * @memberof meerkat.BatchMessage + * @static + * @param {meerkat.IBatchMessage=} [properties] Properties to set + * @returns {meerkat.BatchMessage} BatchMessage instance + */ + BatchMessage.create = function create(properties) { + return new BatchMessage(properties); + }; + + /** + * Encodes the specified BatchMessage message. Does not implicitly {@link meerkat.BatchMessage.verify|verify} messages. + * @function encode + * @memberof meerkat.BatchMessage + * @static + * @param {meerkat.IBatchMessage} message BatchMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchMessage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.batchId != null && message.hasOwnProperty("batchId")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.batchId); + if (message.serialNum != null && message.hasOwnProperty("serialNum")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.serialNum); + if (message.data != null && message.hasOwnProperty("data")) + $root.meerkat.BatchChunk.encode(message.data, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified BatchMessage message, length delimited. Does not implicitly {@link meerkat.BatchMessage.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.BatchMessage + * @static + * @param {meerkat.IBatchMessage} message BatchMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchMessage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BatchMessage message from the specified reader or buffer. + * @function decode + * @memberof meerkat.BatchMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.BatchMessage} BatchMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchMessage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.BatchMessage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.batchId = reader.int64(); + break; + case 2: + message.serialNum = reader.int32(); + break; + case 3: + message.data = $root.meerkat.BatchChunk.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BatchMessage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.BatchMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.BatchMessage} BatchMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchMessage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BatchMessage message. + * @function verify + * @memberof meerkat.BatchMessage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BatchMessage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.batchId != null && message.hasOwnProperty("batchId")) + if (!$util.isInteger(message.batchId) && !(message.batchId && $util.isInteger(message.batchId.low) && $util.isInteger(message.batchId.high))) + return "batchId: integer|Long expected"; + if (message.serialNum != null && message.hasOwnProperty("serialNum")) + if (!$util.isInteger(message.serialNum)) + return "serialNum: integer expected"; + if (message.data != null && message.hasOwnProperty("data")) { + var error = $root.meerkat.BatchChunk.verify(message.data); + if (error) + return "data." + error; + } + return null; + }; + + /** + * Creates a BatchMessage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.BatchMessage + * @static + * @param {Object.} object Plain object + * @returns {meerkat.BatchMessage} BatchMessage + */ + BatchMessage.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.BatchMessage) + return object; + var message = new $root.meerkat.BatchMessage(); + if (object.batchId != null) + if ($util.Long) + (message.batchId = $util.Long.fromValue(object.batchId)).unsigned = false; + else if (typeof object.batchId === "string") + message.batchId = parseInt(object.batchId, 10); + else if (typeof object.batchId === "number") + message.batchId = object.batchId; + else if (typeof object.batchId === "object") + message.batchId = new $util.LongBits(object.batchId.low >>> 0, object.batchId.high >>> 0).toNumber(); + if (object.serialNum != null) + message.serialNum = object.serialNum | 0; + if (object.data != null) { + if (typeof object.data !== "object") + throw TypeError(".meerkat.BatchMessage.data: object expected"); + message.data = $root.meerkat.BatchChunk.fromObject(object.data); + } + return message; + }; + + /** + * Creates a plain object from a BatchMessage message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.BatchMessage + * @static + * @param {meerkat.BatchMessage} message BatchMessage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BatchMessage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.batchId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.batchId = options.longs === String ? "0" : 0; + object.serialNum = 0; + object.data = null; + } + if (message.batchId != null && message.hasOwnProperty("batchId")) + if (typeof message.batchId === "number") + object.batchId = options.longs === String ? String(message.batchId) : message.batchId; + else + object.batchId = options.longs === String ? $util.Long.prototype.toString.call(message.batchId) : options.longs === Number ? new $util.LongBits(message.batchId.low >>> 0, message.batchId.high >>> 0).toNumber() : message.batchId; + if (message.serialNum != null && message.hasOwnProperty("serialNum")) + object.serialNum = message.serialNum; + if (message.data != null && message.hasOwnProperty("data")) + object.data = $root.meerkat.BatchChunk.toObject(message.data, options); + return object; + }; + + /** + * Converts this BatchMessage to JSON. + * @function toJSON + * @memberof meerkat.BatchMessage + * @instance + * @returns {Object.} JSON object + */ + BatchMessage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BatchMessage; + })(); + + meerkat.SingleSyncQuery = (function() { + + /** + * Properties of a SingleSyncQuery. + * @memberof meerkat + * @interface ISingleSyncQuery + * @property {google.protobuf.ITimestamp} [timeOfSync] SingleSyncQuery timeOfSync + * @property {number|Long} [checksum] SingleSyncQuery checksum + */ + + /** + * Constructs a new SingleSyncQuery. + * @memberof meerkat + * @classdesc Represents a SingleSyncQuery. + * @constructor + * @param {meerkat.ISingleSyncQuery=} [properties] Properties to set + */ + function SingleSyncQuery(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SingleSyncQuery timeOfSync. + * @member {(google.protobuf.ITimestamp|null|undefined)}timeOfSync + * @memberof meerkat.SingleSyncQuery + * @instance + */ + SingleSyncQuery.prototype.timeOfSync = null; + + /** + * SingleSyncQuery checksum. + * @member {number|Long}checksum + * @memberof meerkat.SingleSyncQuery + * @instance + */ + SingleSyncQuery.prototype.checksum = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Creates a new SingleSyncQuery instance using the specified properties. + * @function create + * @memberof meerkat.SingleSyncQuery + * @static + * @param {meerkat.ISingleSyncQuery=} [properties] Properties to set + * @returns {meerkat.SingleSyncQuery} SingleSyncQuery instance + */ + SingleSyncQuery.create = function create(properties) { + return new SingleSyncQuery(properties); + }; + + /** + * Encodes the specified SingleSyncQuery message. Does not implicitly {@link meerkat.SingleSyncQuery.verify|verify} messages. + * @function encode + * @memberof meerkat.SingleSyncQuery + * @static + * @param {meerkat.ISingleSyncQuery} message SingleSyncQuery message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SingleSyncQuery.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.timeOfSync != null && message.hasOwnProperty("timeOfSync")) + $root.google.protobuf.Timestamp.encode(message.timeOfSync, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.checksum != null && message.hasOwnProperty("checksum")) + writer.uint32(/* id 2, wireType 0 =*/16).int64(message.checksum); + return writer; + }; + + /** + * Encodes the specified SingleSyncQuery message, length delimited. Does not implicitly {@link meerkat.SingleSyncQuery.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.SingleSyncQuery + * @static + * @param {meerkat.ISingleSyncQuery} message SingleSyncQuery message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SingleSyncQuery.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SingleSyncQuery message from the specified reader or buffer. + * @function decode + * @memberof meerkat.SingleSyncQuery + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.SingleSyncQuery} SingleSyncQuery + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SingleSyncQuery.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.SingleSyncQuery(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.timeOfSync = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + case 2: + message.checksum = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SingleSyncQuery message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.SingleSyncQuery + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.SingleSyncQuery} SingleSyncQuery + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SingleSyncQuery.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SingleSyncQuery message. + * @function verify + * @memberof meerkat.SingleSyncQuery + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SingleSyncQuery.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.timeOfSync != null && message.hasOwnProperty("timeOfSync")) { + var error = $root.google.protobuf.Timestamp.verify(message.timeOfSync); + if (error) + return "timeOfSync." + error; + } + if (message.checksum != null && message.hasOwnProperty("checksum")) + if (!$util.isInteger(message.checksum) && !(message.checksum && $util.isInteger(message.checksum.low) && $util.isInteger(message.checksum.high))) + return "checksum: integer|Long expected"; + return null; + }; + + /** + * Creates a SingleSyncQuery message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.SingleSyncQuery + * @static + * @param {Object.} object Plain object + * @returns {meerkat.SingleSyncQuery} SingleSyncQuery + */ + SingleSyncQuery.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.SingleSyncQuery) + return object; + var message = new $root.meerkat.SingleSyncQuery(); + if (object.timeOfSync != null) { + if (typeof object.timeOfSync !== "object") + throw TypeError(".meerkat.SingleSyncQuery.timeOfSync: object expected"); + message.timeOfSync = $root.google.protobuf.Timestamp.fromObject(object.timeOfSync); + } + if (object.checksum != null) + if ($util.Long) + (message.checksum = $util.Long.fromValue(object.checksum)).unsigned = false; + else if (typeof object.checksum === "string") + message.checksum = parseInt(object.checksum, 10); + else if (typeof object.checksum === "number") + message.checksum = object.checksum; + else if (typeof object.checksum === "object") + message.checksum = new $util.LongBits(object.checksum.low >>> 0, object.checksum.high >>> 0).toNumber(); + return message; + }; + + /** + * Creates a plain object from a SingleSyncQuery message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.SingleSyncQuery + * @static + * @param {meerkat.SingleSyncQuery} message SingleSyncQuery + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SingleSyncQuery.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.timeOfSync = null; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.checksum = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.checksum = options.longs === String ? "0" : 0; + } + if (message.timeOfSync != null && message.hasOwnProperty("timeOfSync")) + object.timeOfSync = $root.google.protobuf.Timestamp.toObject(message.timeOfSync, options); + if (message.checksum != null && message.hasOwnProperty("checksum")) + if (typeof message.checksum === "number") + object.checksum = options.longs === String ? String(message.checksum) : message.checksum; + else + object.checksum = options.longs === String ? $util.Long.prototype.toString.call(message.checksum) : options.longs === Number ? new $util.LongBits(message.checksum.low >>> 0, message.checksum.high >>> 0).toNumber() : message.checksum; + return object; + }; + + /** + * Converts this SingleSyncQuery to JSON. + * @function toJSON + * @memberof meerkat.SingleSyncQuery + * @instance + * @returns {Object.} JSON object + */ + SingleSyncQuery.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return SingleSyncQuery; + })(); + + meerkat.SyncQuery = (function() { + + /** + * Properties of a SyncQuery. + * @memberof meerkat + * @interface ISyncQuery + * @property {meerkat.IMessageFilterList} [filterList] SyncQuery filterList + * @property {Array.} [query] SyncQuery query + */ + + /** + * Constructs a new SyncQuery. + * @memberof meerkat + * @classdesc Represents a SyncQuery. + * @constructor + * @param {meerkat.ISyncQuery=} [properties] Properties to set + */ + function SyncQuery(properties) { + this.query = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SyncQuery filterList. + * @member {(meerkat.IMessageFilterList|null|undefined)}filterList + * @memberof meerkat.SyncQuery + * @instance + */ + SyncQuery.prototype.filterList = null; + + /** + * SyncQuery query. + * @member {Array.}query + * @memberof meerkat.SyncQuery + * @instance + */ + SyncQuery.prototype.query = $util.emptyArray; + + /** + * Creates a new SyncQuery instance using the specified properties. + * @function create + * @memberof meerkat.SyncQuery + * @static + * @param {meerkat.ISyncQuery=} [properties] Properties to set + * @returns {meerkat.SyncQuery} SyncQuery instance + */ + SyncQuery.create = function create(properties) { + return new SyncQuery(properties); + }; + + /** + * Encodes the specified SyncQuery message. Does not implicitly {@link meerkat.SyncQuery.verify|verify} messages. + * @function encode + * @memberof meerkat.SyncQuery + * @static + * @param {meerkat.ISyncQuery} message SyncQuery message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SyncQuery.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.filterList != null && message.hasOwnProperty("filterList")) + $root.meerkat.MessageFilterList.encode(message.filterList, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.query != null && message.query.length) + for (var i = 0; i < message.query.length; ++i) + $root.meerkat.SingleSyncQuery.encode(message.query[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified SyncQuery message, length delimited. Does not implicitly {@link meerkat.SyncQuery.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.SyncQuery + * @static + * @param {meerkat.ISyncQuery} message SyncQuery message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SyncQuery.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SyncQuery message from the specified reader or buffer. + * @function decode + * @memberof meerkat.SyncQuery + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.SyncQuery} SyncQuery + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SyncQuery.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.SyncQuery(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.filterList = $root.meerkat.MessageFilterList.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.query && message.query.length)) + message.query = []; + message.query.push($root.meerkat.SingleSyncQuery.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SyncQuery message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.SyncQuery + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.SyncQuery} SyncQuery + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SyncQuery.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SyncQuery message. + * @function verify + * @memberof meerkat.SyncQuery + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SyncQuery.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.filterList != null && message.hasOwnProperty("filterList")) { + var error = $root.meerkat.MessageFilterList.verify(message.filterList); + if (error) + return "filterList." + error; + } + if (message.query != null && message.hasOwnProperty("query")) { + if (!Array.isArray(message.query)) + return "query: array expected"; + for (var i = 0; i < message.query.length; ++i) { + error = $root.meerkat.SingleSyncQuery.verify(message.query[i]); + if (error) + return "query." + error; + } + } + return null; + }; + + /** + * Creates a SyncQuery message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.SyncQuery + * @static + * @param {Object.} object Plain object + * @returns {meerkat.SyncQuery} SyncQuery + */ + SyncQuery.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.SyncQuery) + return object; + var message = new $root.meerkat.SyncQuery(); + if (object.filterList != null) { + if (typeof object.filterList !== "object") + throw TypeError(".meerkat.SyncQuery.filterList: object expected"); + message.filterList = $root.meerkat.MessageFilterList.fromObject(object.filterList); + } + if (object.query) { + if (!Array.isArray(object.query)) + throw TypeError(".meerkat.SyncQuery.query: array expected"); + message.query = []; + for (var i = 0; i < object.query.length; ++i) { + if (typeof object.query[i] !== "object") + throw TypeError(".meerkat.SyncQuery.query: object expected"); + message.query[i] = $root.meerkat.SingleSyncQuery.fromObject(object.query[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a SyncQuery message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.SyncQuery + * @static + * @param {meerkat.SyncQuery} message SyncQuery + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SyncQuery.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.query = []; + if (options.defaults) + object.filterList = null; + if (message.filterList != null && message.hasOwnProperty("filterList")) + object.filterList = $root.meerkat.MessageFilterList.toObject(message.filterList, options); + if (message.query && message.query.length) { + object.query = []; + for (var j = 0; j < message.query.length; ++j) + object.query[j] = $root.meerkat.SingleSyncQuery.toObject(message.query[j], options); + } + return object; + }; + + /** + * Converts this SyncQuery to JSON. + * @function toJSON + * @memberof meerkat.SyncQuery + * @instance + * @returns {Object.} JSON object + */ + SyncQuery.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return SyncQuery; + })(); + + meerkat.GenerateSyncQueryParams = (function() { + + /** + * Properties of a GenerateSyncQueryParams. + * @memberof meerkat + * @interface IGenerateSyncQueryParams + * @property {meerkat.IMessageFilterList} [filterList] GenerateSyncQueryParams filterList + * @property {Array.} [breakpointList] GenerateSyncQueryParams breakpointList + */ + + /** + * Constructs a new GenerateSyncQueryParams. + * @memberof meerkat + * @classdesc Represents a GenerateSyncQueryParams. + * @constructor + * @param {meerkat.IGenerateSyncQueryParams=} [properties] Properties to set + */ + function GenerateSyncQueryParams(properties) { + this.breakpointList = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GenerateSyncQueryParams filterList. + * @member {(meerkat.IMessageFilterList|null|undefined)}filterList + * @memberof meerkat.GenerateSyncQueryParams + * @instance + */ + GenerateSyncQueryParams.prototype.filterList = null; + + /** + * GenerateSyncQueryParams breakpointList. + * @member {Array.}breakpointList + * @memberof meerkat.GenerateSyncQueryParams + * @instance + */ + GenerateSyncQueryParams.prototype.breakpointList = $util.emptyArray; + + /** + * Creates a new GenerateSyncQueryParams instance using the specified properties. + * @function create + * @memberof meerkat.GenerateSyncQueryParams + * @static + * @param {meerkat.IGenerateSyncQueryParams=} [properties] Properties to set + * @returns {meerkat.GenerateSyncQueryParams} GenerateSyncQueryParams instance + */ + GenerateSyncQueryParams.create = function create(properties) { + return new GenerateSyncQueryParams(properties); + }; + + /** + * Encodes the specified GenerateSyncQueryParams message. Does not implicitly {@link meerkat.GenerateSyncQueryParams.verify|verify} messages. + * @function encode + * @memberof meerkat.GenerateSyncQueryParams + * @static + * @param {meerkat.IGenerateSyncQueryParams} message GenerateSyncQueryParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GenerateSyncQueryParams.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.filterList != null && message.hasOwnProperty("filterList")) + $root.meerkat.MessageFilterList.encode(message.filterList, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.breakpointList != null && message.breakpointList.length) { + writer.uint32(/* id 2, wireType 2 =*/18).fork(); + for (var i = 0; i < message.breakpointList.length; ++i) + writer.float(message.breakpointList[i]); + writer.ldelim(); + } + return writer; + }; + + /** + * Encodes the specified GenerateSyncQueryParams message, length delimited. Does not implicitly {@link meerkat.GenerateSyncQueryParams.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.GenerateSyncQueryParams + * @static + * @param {meerkat.IGenerateSyncQueryParams} message GenerateSyncQueryParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GenerateSyncQueryParams.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GenerateSyncQueryParams message from the specified reader or buffer. + * @function decode + * @memberof meerkat.GenerateSyncQueryParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.GenerateSyncQueryParams} GenerateSyncQueryParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GenerateSyncQueryParams.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.GenerateSyncQueryParams(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.filterList = $root.meerkat.MessageFilterList.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.breakpointList && message.breakpointList.length)) + message.breakpointList = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.breakpointList.push(reader.float()); + } else + message.breakpointList.push(reader.float()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GenerateSyncQueryParams message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.GenerateSyncQueryParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.GenerateSyncQueryParams} GenerateSyncQueryParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GenerateSyncQueryParams.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GenerateSyncQueryParams message. + * @function verify + * @memberof meerkat.GenerateSyncQueryParams + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GenerateSyncQueryParams.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.filterList != null && message.hasOwnProperty("filterList")) { + var error = $root.meerkat.MessageFilterList.verify(message.filterList); + if (error) + return "filterList." + error; + } + if (message.breakpointList != null && message.hasOwnProperty("breakpointList")) { + if (!Array.isArray(message.breakpointList)) + return "breakpointList: array expected"; + for (var i = 0; i < message.breakpointList.length; ++i) + if (typeof message.breakpointList[i] !== "number") + return "breakpointList: number[] expected"; + } + return null; + }; + + /** + * Creates a GenerateSyncQueryParams message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.GenerateSyncQueryParams + * @static + * @param {Object.} object Plain object + * @returns {meerkat.GenerateSyncQueryParams} GenerateSyncQueryParams + */ + GenerateSyncQueryParams.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.GenerateSyncQueryParams) + return object; + var message = new $root.meerkat.GenerateSyncQueryParams(); + if (object.filterList != null) { + if (typeof object.filterList !== "object") + throw TypeError(".meerkat.GenerateSyncQueryParams.filterList: object expected"); + message.filterList = $root.meerkat.MessageFilterList.fromObject(object.filterList); + } + if (object.breakpointList) { + if (!Array.isArray(object.breakpointList)) + throw TypeError(".meerkat.GenerateSyncQueryParams.breakpointList: array expected"); + message.breakpointList = []; + for (var i = 0; i < object.breakpointList.length; ++i) + message.breakpointList[i] = Number(object.breakpointList[i]); + } + return message; + }; + + /** + * Creates a plain object from a GenerateSyncQueryParams message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.GenerateSyncQueryParams + * @static + * @param {meerkat.GenerateSyncQueryParams} message GenerateSyncQueryParams + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GenerateSyncQueryParams.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.breakpointList = []; + if (options.defaults) + object.filterList = null; + if (message.filterList != null && message.hasOwnProperty("filterList")) + object.filterList = $root.meerkat.MessageFilterList.toObject(message.filterList, options); + if (message.breakpointList && message.breakpointList.length) { + object.breakpointList = []; + for (var j = 0; j < message.breakpointList.length; ++j) + object.breakpointList[j] = options.json && !isFinite(message.breakpointList[j]) ? String(message.breakpointList[j]) : message.breakpointList[j]; + } + return object; + }; + + /** + * Converts this GenerateSyncQueryParams to JSON. + * @function toJSON + * @memberof meerkat.GenerateSyncQueryParams + * @instance + * @returns {Object.} JSON object + */ + GenerateSyncQueryParams.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GenerateSyncQueryParams; + })(); + + meerkat.SyncQueryResponse = (function() { + + /** + * Properties of a SyncQueryResponse. + * @memberof meerkat + * @interface ISyncQueryResponse + * @property {number|Long} [lastEntryNum] SyncQueryResponse lastEntryNum + * @property {google.protobuf.ITimestamp} [lastTimeOfSync] SyncQueryResponse lastTimeOfSync + */ + + /** + * Constructs a new SyncQueryResponse. + * @memberof meerkat + * @classdesc Represents a SyncQueryResponse. + * @constructor + * @param {meerkat.ISyncQueryResponse=} [properties] Properties to set + */ + function SyncQueryResponse(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SyncQueryResponse lastEntryNum. + * @member {number|Long}lastEntryNum + * @memberof meerkat.SyncQueryResponse + * @instance + */ + SyncQueryResponse.prototype.lastEntryNum = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * SyncQueryResponse lastTimeOfSync. + * @member {(google.protobuf.ITimestamp|null|undefined)}lastTimeOfSync + * @memberof meerkat.SyncQueryResponse + * @instance + */ + SyncQueryResponse.prototype.lastTimeOfSync = null; + + /** + * Creates a new SyncQueryResponse instance using the specified properties. + * @function create + * @memberof meerkat.SyncQueryResponse + * @static + * @param {meerkat.ISyncQueryResponse=} [properties] Properties to set + * @returns {meerkat.SyncQueryResponse} SyncQueryResponse instance + */ + SyncQueryResponse.create = function create(properties) { + return new SyncQueryResponse(properties); + }; + + /** + * Encodes the specified SyncQueryResponse message. Does not implicitly {@link meerkat.SyncQueryResponse.verify|verify} messages. + * @function encode + * @memberof meerkat.SyncQueryResponse + * @static + * @param {meerkat.ISyncQueryResponse} message SyncQueryResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SyncQueryResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.lastEntryNum != null && message.hasOwnProperty("lastEntryNum")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.lastEntryNum); + if (message.lastTimeOfSync != null && message.hasOwnProperty("lastTimeOfSync")) + $root.google.protobuf.Timestamp.encode(message.lastTimeOfSync, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified SyncQueryResponse message, length delimited. Does not implicitly {@link meerkat.SyncQueryResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.SyncQueryResponse + * @static + * @param {meerkat.ISyncQueryResponse} message SyncQueryResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SyncQueryResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SyncQueryResponse message from the specified reader or buffer. + * @function decode + * @memberof meerkat.SyncQueryResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.SyncQueryResponse} SyncQueryResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SyncQueryResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.SyncQueryResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.lastEntryNum = reader.int64(); + break; + case 2: + message.lastTimeOfSync = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SyncQueryResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.SyncQueryResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.SyncQueryResponse} SyncQueryResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SyncQueryResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SyncQueryResponse message. + * @function verify + * @memberof meerkat.SyncQueryResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SyncQueryResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.lastEntryNum != null && message.hasOwnProperty("lastEntryNum")) + if (!$util.isInteger(message.lastEntryNum) && !(message.lastEntryNum && $util.isInteger(message.lastEntryNum.low) && $util.isInteger(message.lastEntryNum.high))) + return "lastEntryNum: integer|Long expected"; + if (message.lastTimeOfSync != null && message.hasOwnProperty("lastTimeOfSync")) { + var error = $root.google.protobuf.Timestamp.verify(message.lastTimeOfSync); + if (error) + return "lastTimeOfSync." + error; + } + return null; + }; + + /** + * Creates a SyncQueryResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.SyncQueryResponse + * @static + * @param {Object.} object Plain object + * @returns {meerkat.SyncQueryResponse} SyncQueryResponse + */ + SyncQueryResponse.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.SyncQueryResponse) + return object; + var message = new $root.meerkat.SyncQueryResponse(); + if (object.lastEntryNum != null) + if ($util.Long) + (message.lastEntryNum = $util.Long.fromValue(object.lastEntryNum)).unsigned = false; + else if (typeof object.lastEntryNum === "string") + message.lastEntryNum = parseInt(object.lastEntryNum, 10); + else if (typeof object.lastEntryNum === "number") + message.lastEntryNum = object.lastEntryNum; + else if (typeof object.lastEntryNum === "object") + message.lastEntryNum = new $util.LongBits(object.lastEntryNum.low >>> 0, object.lastEntryNum.high >>> 0).toNumber(); + if (object.lastTimeOfSync != null) { + if (typeof object.lastTimeOfSync !== "object") + throw TypeError(".meerkat.SyncQueryResponse.lastTimeOfSync: object expected"); + message.lastTimeOfSync = $root.google.protobuf.Timestamp.fromObject(object.lastTimeOfSync); + } + return message; + }; + + /** + * Creates a plain object from a SyncQueryResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.SyncQueryResponse + * @static + * @param {meerkat.SyncQueryResponse} message SyncQueryResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SyncQueryResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.lastEntryNum = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.lastEntryNum = options.longs === String ? "0" : 0; + object.lastTimeOfSync = null; + } + if (message.lastEntryNum != null && message.hasOwnProperty("lastEntryNum")) + if (typeof message.lastEntryNum === "number") + object.lastEntryNum = options.longs === String ? String(message.lastEntryNum) : message.lastEntryNum; + else + object.lastEntryNum = options.longs === String ? $util.Long.prototype.toString.call(message.lastEntryNum) : options.longs === Number ? new $util.LongBits(message.lastEntryNum.low >>> 0, message.lastEntryNum.high >>> 0).toNumber() : message.lastEntryNum; + if (message.lastTimeOfSync != null && message.hasOwnProperty("lastTimeOfSync")) + object.lastTimeOfSync = $root.google.protobuf.Timestamp.toObject(message.lastTimeOfSync, options); + return object; + }; + + /** + * Converts this SyncQueryResponse to JSON. + * @function toJSON + * @memberof meerkat.SyncQueryResponse + * @instance + * @returns {Object.} JSON object + */ + SyncQueryResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return SyncQueryResponse; + })(); + + meerkat.BatchQuery = (function() { + + /** + * Properties of a BatchQuery. + * @memberof meerkat + * @interface IBatchQuery + * @property {meerkat.IMessageID} [msgID] BatchQuery msgID + * @property {number} [startPosition] BatchQuery startPosition + */ + + /** + * Constructs a new BatchQuery. + * @memberof meerkat + * @classdesc Represents a BatchQuery. + * @constructor + * @param {meerkat.IBatchQuery=} [properties] Properties to set + */ + function BatchQuery(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BatchQuery msgID. + * @member {(meerkat.IMessageID|null|undefined)}msgID + * @memberof meerkat.BatchQuery + * @instance + */ + BatchQuery.prototype.msgID = null; + + /** + * BatchQuery startPosition. + * @member {number}startPosition + * @memberof meerkat.BatchQuery + * @instance + */ + BatchQuery.prototype.startPosition = 0; + + /** + * Creates a new BatchQuery instance using the specified properties. + * @function create + * @memberof meerkat.BatchQuery + * @static + * @param {meerkat.IBatchQuery=} [properties] Properties to set + * @returns {meerkat.BatchQuery} BatchQuery instance + */ + BatchQuery.create = function create(properties) { + return new BatchQuery(properties); + }; + + /** + * Encodes the specified BatchQuery message. Does not implicitly {@link meerkat.BatchQuery.verify|verify} messages. + * @function encode + * @memberof meerkat.BatchQuery + * @static + * @param {meerkat.IBatchQuery} message BatchQuery message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchQuery.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.msgID != null && message.hasOwnProperty("msgID")) + $root.meerkat.MessageID.encode(message.msgID, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.startPosition != null && message.hasOwnProperty("startPosition")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.startPosition); + return writer; + }; + + /** + * Encodes the specified BatchQuery message, length delimited. Does not implicitly {@link meerkat.BatchQuery.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.BatchQuery + * @static + * @param {meerkat.IBatchQuery} message BatchQuery message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchQuery.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BatchQuery message from the specified reader or buffer. + * @function decode + * @memberof meerkat.BatchQuery + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.BatchQuery} BatchQuery + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchQuery.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.BatchQuery(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.msgID = $root.meerkat.MessageID.decode(reader, reader.uint32()); + break; + case 2: + message.startPosition = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BatchQuery message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.BatchQuery + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.BatchQuery} BatchQuery + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchQuery.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BatchQuery message. + * @function verify + * @memberof meerkat.BatchQuery + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BatchQuery.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.msgID != null && message.hasOwnProperty("msgID")) { + var error = $root.meerkat.MessageID.verify(message.msgID); + if (error) + return "msgID." + error; + } + if (message.startPosition != null && message.hasOwnProperty("startPosition")) + if (!$util.isInteger(message.startPosition)) + return "startPosition: integer expected"; + return null; + }; + + /** + * Creates a BatchQuery message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.BatchQuery + * @static + * @param {Object.} object Plain object + * @returns {meerkat.BatchQuery} BatchQuery + */ + BatchQuery.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.BatchQuery) + return object; + var message = new $root.meerkat.BatchQuery(); + if (object.msgID != null) { + if (typeof object.msgID !== "object") + throw TypeError(".meerkat.BatchQuery.msgID: object expected"); + message.msgID = $root.meerkat.MessageID.fromObject(object.msgID); + } + if (object.startPosition != null) + message.startPosition = object.startPosition | 0; + return message; + }; + + /** + * Creates a plain object from a BatchQuery message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.BatchQuery + * @static + * @param {meerkat.BatchQuery} message BatchQuery + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BatchQuery.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.msgID = null; + object.startPosition = 0; + } + if (message.msgID != null && message.hasOwnProperty("msgID")) + object.msgID = $root.meerkat.MessageID.toObject(message.msgID, options); + if (message.startPosition != null && message.hasOwnProperty("startPosition")) + object.startPosition = message.startPosition; + return object; + }; + + /** + * Converts this BatchQuery to JSON. + * @function toJSON + * @memberof meerkat.BatchQuery + * @instance + * @returns {Object.} JSON object + */ + BatchQuery.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BatchQuery; + })(); + + meerkat.ServerStatus = (function() { + + /** + * Properties of a ServerStatus. + * @memberof meerkat + * @interface IServerStatus + * @property {meerkat.ServerStatus.Mode} [mode] ServerStatus mode + * @property {string} [name] ServerStatus name + * @property {meerkat.ISignatureVerificationKey} [pk] ServerStatus pk + */ + + /** + * Constructs a new ServerStatus. + * @memberof meerkat + * @classdesc Represents a ServerStatus. + * @constructor + * @param {meerkat.IServerStatus=} [properties] Properties to set + */ + function ServerStatus(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ServerStatus mode. + * @member {meerkat.ServerStatus.Mode}mode + * @memberof meerkat.ServerStatus + * @instance + */ + ServerStatus.prototype.mode = 0; + + /** + * ServerStatus name. + * @member {string}name + * @memberof meerkat.ServerStatus + * @instance + */ + ServerStatus.prototype.name = ""; + + /** + * ServerStatus pk. + * @member {(meerkat.ISignatureVerificationKey|null|undefined)}pk + * @memberof meerkat.ServerStatus + * @instance + */ + ServerStatus.prototype.pk = null; + + /** + * Creates a new ServerStatus instance using the specified properties. + * @function create + * @memberof meerkat.ServerStatus + * @static + * @param {meerkat.IServerStatus=} [properties] Properties to set + * @returns {meerkat.ServerStatus} ServerStatus instance + */ + ServerStatus.create = function create(properties) { + return new ServerStatus(properties); + }; + + /** + * Encodes the specified ServerStatus message. Does not implicitly {@link meerkat.ServerStatus.verify|verify} messages. + * @function encode + * @memberof meerkat.ServerStatus + * @static + * @param {meerkat.IServerStatus} message ServerStatus message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ServerStatus.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.mode != null && message.hasOwnProperty("mode")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.mode); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.name); + if (message.pk != null && message.hasOwnProperty("pk")) + $root.meerkat.SignatureVerificationKey.encode(message.pk, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ServerStatus message, length delimited. Does not implicitly {@link meerkat.ServerStatus.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.ServerStatus + * @static + * @param {meerkat.IServerStatus} message ServerStatus message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ServerStatus.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ServerStatus message from the specified reader or buffer. + * @function decode + * @memberof meerkat.ServerStatus + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.ServerStatus} ServerStatus + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ServerStatus.decode = function decode(reader, length) { + console.log("Decoding", reader); + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + + console.log("Len", reader.len); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.ServerStatus(); + + while (reader.pos < end) { + + + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.mode = reader.int32(); + break; + case 2: + message.name = reader.string(); + break; + case 3: + message.pk = $root.meerkat.SignatureVerificationKey.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ServerStatus message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.ServerStatus + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.ServerStatus} ServerStatus + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ServerStatus.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ServerStatus message. + * @function verify + * @memberof meerkat.ServerStatus + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ServerStatus.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.mode != null && message.hasOwnProperty("mode")) + switch (message.mode) { + default: + return "mode: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.pk != null && message.hasOwnProperty("pk")) { + var error = $root.meerkat.SignatureVerificationKey.verify(message.pk); + if (error) + return "pk." + error; + } + return null; + }; + + /** + * Creates a ServerStatus message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.ServerStatus + * @static + * @param {Object.} object Plain object + * @returns {meerkat.ServerStatus} ServerStatus + */ + ServerStatus.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.ServerStatus) + return object; + var message = new $root.meerkat.ServerStatus(); + switch (object.mode) { + case "MODE_SETUP_AUTH": + case 0: + message.mode = 0; + break; + case "MODE_SETUP_DB": + case 1: + message.mode = 1; + break; + case "MODE_RUNNING": + case 2: + message.mode = 2; + break; + } + if (object.name != null) + message.name = String(object.name); + if (object.pk != null) { + if (typeof object.pk !== "object") + throw TypeError(".meerkat.ServerStatus.pk: object expected"); + message.pk = $root.meerkat.SignatureVerificationKey.fromObject(object.pk); + } + return message; + }; + + /** + * Creates a plain object from a ServerStatus message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.ServerStatus + * @static + * @param {meerkat.ServerStatus} message ServerStatus + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ServerStatus.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.mode = options.enums === String ? "MODE_SETUP_AUTH" : 0; + object.name = ""; + object.pk = null; + } + if (message.mode != null && message.hasOwnProperty("mode")) + object.mode = options.enums === String ? $root.meerkat.ServerStatus.Mode[message.mode] : message.mode; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.pk != null && message.hasOwnProperty("pk")) + object.pk = $root.meerkat.SignatureVerificationKey.toObject(message.pk, options); + return object; + }; + + /** + * Converts this ServerStatus to JSON. + * @function toJSON + * @memberof meerkat.ServerStatus + * @instance + * @returns {Object.} JSON object + */ + ServerStatus.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Mode enum. + * @enum {string} + * @property {number} MODE_SETUP_AUTH=0 MODE_SETUP_AUTH value + * @property {number} MODE_SETUP_DB=1 MODE_SETUP_DB value + * @property {number} MODE_RUNNING=2 MODE_RUNNING value + */ + ServerStatus.Mode = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "MODE_SETUP_AUTH"] = 0; + values[valuesById[1] = "MODE_SETUP_DB"] = 1; + values[valuesById[2] = "MODE_RUNNING"] = 2; + return values; + })(); + + return ServerStatus; + })(); + + meerkat.BroadcastMessage = (function() { + + /** + * Properties of a BroadcastMessage. + * @memberof meerkat + * @interface IBroadcastMessage + * @property {number} [sender] BroadcastMessage sender + * @property {number} [destination] BroadcastMessage destination + * @property {boolean} [isPrivate] BroadcastMessage isPrivate + * @property {Uint8Array} [payload] BroadcastMessage payload + */ + + /** + * Constructs a new BroadcastMessage. + * @memberof meerkat + * @classdesc Represents a BroadcastMessage. + * @constructor + * @param {meerkat.IBroadcastMessage=} [properties] Properties to set + */ + function BroadcastMessage(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BroadcastMessage sender. + * @member {number}sender + * @memberof meerkat.BroadcastMessage + * @instance + */ + BroadcastMessage.prototype.sender = 0; + + /** + * BroadcastMessage destination. + * @member {number}destination + * @memberof meerkat.BroadcastMessage + * @instance + */ + BroadcastMessage.prototype.destination = 0; + + /** + * BroadcastMessage isPrivate. + * @member {boolean}isPrivate + * @memberof meerkat.BroadcastMessage + * @instance + */ + BroadcastMessage.prototype.isPrivate = false; + + /** + * BroadcastMessage payload. + * @member {Uint8Array}payload + * @memberof meerkat.BroadcastMessage + * @instance + */ + BroadcastMessage.prototype.payload = $util.newBuffer([]); + + /** + * Creates a new BroadcastMessage instance using the specified properties. + * @function create + * @memberof meerkat.BroadcastMessage + * @static + * @param {meerkat.IBroadcastMessage=} [properties] Properties to set + * @returns {meerkat.BroadcastMessage} BroadcastMessage instance + */ + BroadcastMessage.create = function create(properties) { + return new BroadcastMessage(properties); + }; + + /** + * Encodes the specified BroadcastMessage message. Does not implicitly {@link meerkat.BroadcastMessage.verify|verify} messages. + * @function encode + * @memberof meerkat.BroadcastMessage + * @static + * @param {meerkat.IBroadcastMessage} message BroadcastMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BroadcastMessage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.sender != null && message.hasOwnProperty("sender")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.sender); + if (message.destination != null && message.hasOwnProperty("destination")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.destination); + if (message.isPrivate != null && message.hasOwnProperty("isPrivate")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.isPrivate); + if (message.payload != null && message.hasOwnProperty("payload")) + writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.payload); + return writer; + }; + + /** + * Encodes the specified BroadcastMessage message, length delimited. Does not implicitly {@link meerkat.BroadcastMessage.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.BroadcastMessage + * @static + * @param {meerkat.IBroadcastMessage} message BroadcastMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BroadcastMessage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BroadcastMessage message from the specified reader or buffer. + * @function decode + * @memberof meerkat.BroadcastMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.BroadcastMessage} BroadcastMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BroadcastMessage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.BroadcastMessage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.int32(); + break; + case 2: + message.destination = reader.int32(); + break; + case 3: + message.isPrivate = reader.bool(); + break; + case 5: + message.payload = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BroadcastMessage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.BroadcastMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.BroadcastMessage} BroadcastMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BroadcastMessage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BroadcastMessage message. + * @function verify + * @memberof meerkat.BroadcastMessage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BroadcastMessage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.sender != null && message.hasOwnProperty("sender")) + if (!$util.isInteger(message.sender)) + return "sender: integer expected"; + if (message.destination != null && message.hasOwnProperty("destination")) + if (!$util.isInteger(message.destination)) + return "destination: integer expected"; + if (message.isPrivate != null && message.hasOwnProperty("isPrivate")) + if (typeof message.isPrivate !== "boolean") + return "isPrivate: boolean expected"; + if (message.payload != null && message.hasOwnProperty("payload")) + if (!(message.payload && typeof message.payload.length === "number" || $util.isString(message.payload))) + return "payload: buffer expected"; + return null; + }; + + /** + * Creates a BroadcastMessage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.BroadcastMessage + * @static + * @param {Object.} object Plain object + * @returns {meerkat.BroadcastMessage} BroadcastMessage + */ + BroadcastMessage.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.BroadcastMessage) + return object; + var message = new $root.meerkat.BroadcastMessage(); + if (object.sender != null) + message.sender = object.sender | 0; + if (object.destination != null) + message.destination = object.destination | 0; + if (object.isPrivate != null) + message.isPrivate = Boolean(object.isPrivate); + if (object.payload != null) + if (typeof object.payload === "string") + $util.base64.decode(object.payload, message.payload = $util.newBuffer($util.base64.length(object.payload)), 0); + else if (object.payload.length) + message.payload = object.payload; + return message; + }; + + /** + * Creates a plain object from a BroadcastMessage message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.BroadcastMessage + * @static + * @param {meerkat.BroadcastMessage} message BroadcastMessage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BroadcastMessage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.sender = 0; + object.destination = 0; + object.isPrivate = false; + object.payload = options.bytes === String ? "" : []; + } + if (message.sender != null && message.hasOwnProperty("sender")) + object.sender = message.sender; + if (message.destination != null && message.hasOwnProperty("destination")) + object.destination = message.destination; + if (message.isPrivate != null && message.hasOwnProperty("isPrivate")) + object.isPrivate = message.isPrivate; + if (message.payload != null && message.hasOwnProperty("payload")) + object.payload = options.bytes === String ? $util.base64.encode(message.payload, 0, message.payload.length) : options.bytes === Array ? Array.prototype.slice.call(message.payload) : message.payload; + return object; + }; + + /** + * Converts this BroadcastMessage to JSON. + * @function toJSON + * @memberof meerkat.BroadcastMessage + * @instance + * @returns {Object.} JSON object + */ + BroadcastMessage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BroadcastMessage; + })(); + + meerkat.ElGamalPublicKey = (function() { + + /** + * Properties of an ElGamalPublicKey. + * @memberof meerkat + * @interface IElGamalPublicKey + * @property {Uint8Array} [subjectPublicKeyInfo] ElGamalPublicKey subjectPublicKeyInfo + */ + + /** + * Constructs a new ElGamalPublicKey. + * @memberof meerkat + * @classdesc Represents an ElGamalPublicKey. + * @constructor + * @param {meerkat.IElGamalPublicKey=} [properties] Properties to set + */ + function ElGamalPublicKey(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ElGamalPublicKey subjectPublicKeyInfo. + * @member {Uint8Array}subjectPublicKeyInfo + * @memberof meerkat.ElGamalPublicKey + * @instance + */ + ElGamalPublicKey.prototype.subjectPublicKeyInfo = $util.newBuffer([]); + + /** + * Creates a new ElGamalPublicKey instance using the specified properties. + * @function create + * @memberof meerkat.ElGamalPublicKey + * @static + * @param {meerkat.IElGamalPublicKey=} [properties] Properties to set + * @returns {meerkat.ElGamalPublicKey} ElGamalPublicKey instance + */ + ElGamalPublicKey.create = function create(properties) { + return new ElGamalPublicKey(properties); + }; + + /** + * Encodes the specified ElGamalPublicKey message. Does not implicitly {@link meerkat.ElGamalPublicKey.verify|verify} messages. + * @function encode + * @memberof meerkat.ElGamalPublicKey + * @static + * @param {meerkat.IElGamalPublicKey} message ElGamalPublicKey message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ElGamalPublicKey.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.subjectPublicKeyInfo != null && message.hasOwnProperty("subjectPublicKeyInfo")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.subjectPublicKeyInfo); + return writer; + }; + + /** + * Encodes the specified ElGamalPublicKey message, length delimited. Does not implicitly {@link meerkat.ElGamalPublicKey.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.ElGamalPublicKey + * @static + * @param {meerkat.IElGamalPublicKey} message ElGamalPublicKey message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ElGamalPublicKey.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ElGamalPublicKey message from the specified reader or buffer. + * @function decode + * @memberof meerkat.ElGamalPublicKey + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.ElGamalPublicKey} ElGamalPublicKey + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ElGamalPublicKey.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.ElGamalPublicKey(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.subjectPublicKeyInfo = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ElGamalPublicKey message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.ElGamalPublicKey + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.ElGamalPublicKey} ElGamalPublicKey + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ElGamalPublicKey.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ElGamalPublicKey message. + * @function verify + * @memberof meerkat.ElGamalPublicKey + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ElGamalPublicKey.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.subjectPublicKeyInfo != null && message.hasOwnProperty("subjectPublicKeyInfo")) + if (!(message.subjectPublicKeyInfo && typeof message.subjectPublicKeyInfo.length === "number" || $util.isString(message.subjectPublicKeyInfo))) + return "subjectPublicKeyInfo: buffer expected"; + return null; + }; + + /** + * Creates an ElGamalPublicKey message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.ElGamalPublicKey + * @static + * @param {Object.} object Plain object + * @returns {meerkat.ElGamalPublicKey} ElGamalPublicKey + */ + ElGamalPublicKey.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.ElGamalPublicKey) + return object; + var message = new $root.meerkat.ElGamalPublicKey(); + if (object.subjectPublicKeyInfo != null) + if (typeof object.subjectPublicKeyInfo === "string") + $util.base64.decode(object.subjectPublicKeyInfo, message.subjectPublicKeyInfo = $util.newBuffer($util.base64.length(object.subjectPublicKeyInfo)), 0); + else if (object.subjectPublicKeyInfo.length) + message.subjectPublicKeyInfo = object.subjectPublicKeyInfo; + return message; + }; + + /** + * Creates a plain object from an ElGamalPublicKey message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.ElGamalPublicKey + * @static + * @param {meerkat.ElGamalPublicKey} message ElGamalPublicKey + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ElGamalPublicKey.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.subjectPublicKeyInfo = options.bytes === String ? "" : []; + if (message.subjectPublicKeyInfo != null && message.hasOwnProperty("subjectPublicKeyInfo")) + object.subjectPublicKeyInfo = options.bytes === String ? $util.base64.encode(message.subjectPublicKeyInfo, 0, message.subjectPublicKeyInfo.length) : options.bytes === Array ? Array.prototype.slice.call(message.subjectPublicKeyInfo) : message.subjectPublicKeyInfo; + return object; + }; + + /** + * Converts this ElGamalPublicKey to JSON. + * @function toJSON + * @memberof meerkat.ElGamalPublicKey + * @instance + * @returns {Object.} JSON object + */ + ElGamalPublicKey.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ElGamalPublicKey; + })(); + + meerkat.GroupElement = (function() { + + /** + * Properties of a GroupElement. + * @memberof meerkat + * @interface IGroupElement + * @property {Uint8Array} [data] GroupElement data + */ + + /** + * Constructs a new GroupElement. + * @memberof meerkat + * @classdesc Represents a GroupElement. + * @constructor + * @param {meerkat.IGroupElement=} [properties] Properties to set + */ + function GroupElement(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GroupElement data. + * @member {Uint8Array}data + * @memberof meerkat.GroupElement + * @instance + */ + GroupElement.prototype.data = $util.newBuffer([]); + + /** + * Creates a new GroupElement instance using the specified properties. + * @function create + * @memberof meerkat.GroupElement + * @static + * @param {meerkat.IGroupElement=} [properties] Properties to set + * @returns {meerkat.GroupElement} GroupElement instance + */ + GroupElement.create = function create(properties) { + return new GroupElement(properties); + }; + + /** + * Encodes the specified GroupElement message. Does not implicitly {@link meerkat.GroupElement.verify|verify} messages. + * @function encode + * @memberof meerkat.GroupElement + * @static + * @param {meerkat.IGroupElement} message GroupElement message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GroupElement.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.data != null && message.hasOwnProperty("data")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.data); + return writer; + }; + + /** + * Encodes the specified GroupElement message, length delimited. Does not implicitly {@link meerkat.GroupElement.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.GroupElement + * @static + * @param {meerkat.IGroupElement} message GroupElement message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GroupElement.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GroupElement message from the specified reader or buffer. + * @function decode + * @memberof meerkat.GroupElement + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.GroupElement} GroupElement + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GroupElement.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.GroupElement(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.data = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GroupElement message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.GroupElement + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.GroupElement} GroupElement + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GroupElement.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GroupElement message. + * @function verify + * @memberof meerkat.GroupElement + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GroupElement.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.data != null && message.hasOwnProperty("data")) + if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) + return "data: buffer expected"; + return null; + }; + + /** + * Creates a GroupElement message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.GroupElement + * @static + * @param {Object.} object Plain object + * @returns {meerkat.GroupElement} GroupElement + */ + GroupElement.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.GroupElement) + return object; + var message = new $root.meerkat.GroupElement(); + if (object.data != null) + if (typeof object.data === "string") + $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); + else if (object.data.length) + message.data = object.data; + return message; + }; + + /** + * Creates a plain object from a GroupElement message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.GroupElement + * @static + * @param {meerkat.GroupElement} message GroupElement + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GroupElement.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.data = options.bytes === String ? "" : []; + if (message.data != null && message.hasOwnProperty("data")) + object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; + return object; + }; + + /** + * Converts this GroupElement to JSON. + * @function toJSON + * @memberof meerkat.GroupElement + * @instance + * @returns {Object.} JSON object + */ + GroupElement.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GroupElement; + })(); + + meerkat.ElGamalCiphertext = (function() { + + /** + * Properties of an ElGamalCiphertext. + * @memberof meerkat + * @interface IElGamalCiphertext + * @property {meerkat.IGroupElement} [c1] ElGamalCiphertext c1 + * @property {meerkat.IGroupElement} [c2] ElGamalCiphertext c2 + */ + + /** + * Constructs a new ElGamalCiphertext. + * @memberof meerkat + * @classdesc Represents an ElGamalCiphertext. + * @constructor + * @param {meerkat.IElGamalCiphertext=} [properties] Properties to set + */ + function ElGamalCiphertext(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ElGamalCiphertext c1. + * @member {(meerkat.IGroupElement|null|undefined)}c1 + * @memberof meerkat.ElGamalCiphertext + * @instance + */ + ElGamalCiphertext.prototype.c1 = null; + + /** + * ElGamalCiphertext c2. + * @member {(meerkat.IGroupElement|null|undefined)}c2 + * @memberof meerkat.ElGamalCiphertext + * @instance + */ + ElGamalCiphertext.prototype.c2 = null; + + /** + * Creates a new ElGamalCiphertext instance using the specified properties. + * @function create + * @memberof meerkat.ElGamalCiphertext + * @static + * @param {meerkat.IElGamalCiphertext=} [properties] Properties to set + * @returns {meerkat.ElGamalCiphertext} ElGamalCiphertext instance + */ + ElGamalCiphertext.create = function create(properties) { + return new ElGamalCiphertext(properties); + }; + + /** + * Encodes the specified ElGamalCiphertext message. Does not implicitly {@link meerkat.ElGamalCiphertext.verify|verify} messages. + * @function encode + * @memberof meerkat.ElGamalCiphertext + * @static + * @param {meerkat.IElGamalCiphertext} message ElGamalCiphertext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ElGamalCiphertext.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.c1 != null && message.hasOwnProperty("c1")) + $root.meerkat.GroupElement.encode(message.c1, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.c2 != null && message.hasOwnProperty("c2")) + $root.meerkat.GroupElement.encode(message.c2, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ElGamalCiphertext message, length delimited. Does not implicitly {@link meerkat.ElGamalCiphertext.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.ElGamalCiphertext + * @static + * @param {meerkat.IElGamalCiphertext} message ElGamalCiphertext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ElGamalCiphertext.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ElGamalCiphertext message from the specified reader or buffer. + * @function decode + * @memberof meerkat.ElGamalCiphertext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.ElGamalCiphertext} ElGamalCiphertext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ElGamalCiphertext.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.ElGamalCiphertext(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.c1 = $root.meerkat.GroupElement.decode(reader, reader.uint32()); + break; + case 2: + message.c2 = $root.meerkat.GroupElement.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ElGamalCiphertext message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.ElGamalCiphertext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.ElGamalCiphertext} ElGamalCiphertext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ElGamalCiphertext.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ElGamalCiphertext message. + * @function verify + * @memberof meerkat.ElGamalCiphertext + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ElGamalCiphertext.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.c1 != null && message.hasOwnProperty("c1")) { + var error = $root.meerkat.GroupElement.verify(message.c1); + if (error) + return "c1." + error; + } + if (message.c2 != null && message.hasOwnProperty("c2")) { + error = $root.meerkat.GroupElement.verify(message.c2); + if (error) + return "c2." + error; + } + return null; + }; + + /** + * Creates an ElGamalCiphertext message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.ElGamalCiphertext + * @static + * @param {Object.} object Plain object + * @returns {meerkat.ElGamalCiphertext} ElGamalCiphertext + */ + ElGamalCiphertext.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.ElGamalCiphertext) + return object; + var message = new $root.meerkat.ElGamalCiphertext(); + if (object.c1 != null) { + if (typeof object.c1 !== "object") + throw TypeError(".meerkat.ElGamalCiphertext.c1: object expected"); + message.c1 = $root.meerkat.GroupElement.fromObject(object.c1); + } + if (object.c2 != null) { + if (typeof object.c2 !== "object") + throw TypeError(".meerkat.ElGamalCiphertext.c2: object expected"); + message.c2 = $root.meerkat.GroupElement.fromObject(object.c2); + } + return message; + }; + + /** + * Creates a plain object from an ElGamalCiphertext message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.ElGamalCiphertext + * @static + * @param {meerkat.ElGamalCiphertext} message ElGamalCiphertext + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ElGamalCiphertext.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.c1 = null; + object.c2 = null; + } + if (message.c1 != null && message.hasOwnProperty("c1")) + object.c1 = $root.meerkat.GroupElement.toObject(message.c1, options); + if (message.c2 != null && message.hasOwnProperty("c2")) + object.c2 = $root.meerkat.GroupElement.toObject(message.c2, options); + return object; + }; + + /** + * Converts this ElGamalCiphertext to JSON. + * @function toJSON + * @memberof meerkat.ElGamalCiphertext + * @instance + * @returns {Object.} JSON object + */ + ElGamalCiphertext.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ElGamalCiphertext; + })(); + + /** + * SignatureType enum. + * @enum {string} + * @property {number} ECDSA=0 ECDSA value + * @property {number} DSA=1 DSA value + * @property {number} RSA=2 RSA value + */ + meerkat.SignatureType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "ECDSA"] = 0; + values[valuesById[1] = "DSA"] = 1; + values[valuesById[2] = "RSA"] = 2; + return values; + })(); + + meerkat.BigInteger = (function() { + + /** + * Properties of a BigInteger. + * @memberof meerkat + * @interface IBigInteger + * @property {Uint8Array} [data] BigInteger data + */ + + /** + * Constructs a new BigInteger. + * @memberof meerkat + * @classdesc Represents a BigInteger. + * @constructor + * @param {meerkat.IBigInteger=} [properties] Properties to set + */ + function BigInteger(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BigInteger data. + * @member {Uint8Array}data + * @memberof meerkat.BigInteger + * @instance + */ + BigInteger.prototype.data = $util.newBuffer([]); + + /** + * Creates a new BigInteger instance using the specified properties. + * @function create + * @memberof meerkat.BigInteger + * @static + * @param {meerkat.IBigInteger=} [properties] Properties to set + * @returns {meerkat.BigInteger} BigInteger instance + */ + BigInteger.create = function create(properties) { + return new BigInteger(properties); + }; + + /** + * Encodes the specified BigInteger message. Does not implicitly {@link meerkat.BigInteger.verify|verify} messages. + * @function encode + * @memberof meerkat.BigInteger + * @static + * @param {meerkat.IBigInteger} message BigInteger message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BigInteger.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.data != null && message.hasOwnProperty("data")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.data); + return writer; + }; + + /** + * Encodes the specified BigInteger message, length delimited. Does not implicitly {@link meerkat.BigInteger.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.BigInteger + * @static + * @param {meerkat.IBigInteger} message BigInteger message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BigInteger.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BigInteger message from the specified reader or buffer. + * @function decode + * @memberof meerkat.BigInteger + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.BigInteger} BigInteger + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BigInteger.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.BigInteger(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.data = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BigInteger message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.BigInteger + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.BigInteger} BigInteger + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BigInteger.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BigInteger message. + * @function verify + * @memberof meerkat.BigInteger + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BigInteger.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.data != null && message.hasOwnProperty("data")) + if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) + return "data: buffer expected"; + return null; + }; + + /** + * Creates a BigInteger message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.BigInteger + * @static + * @param {Object.} object Plain object + * @returns {meerkat.BigInteger} BigInteger + */ + BigInteger.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.BigInteger) + return object; + var message = new $root.meerkat.BigInteger(); + if (object.data != null) + if (typeof object.data === "string") + $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); + else if (object.data.length) + message.data = object.data; + return message; + }; + + /** + * Creates a plain object from a BigInteger message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.BigInteger + * @static + * @param {meerkat.BigInteger} message BigInteger + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BigInteger.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.data = options.bytes === String ? "" : []; + if (message.data != null && message.hasOwnProperty("data")) + object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; + return object; + }; + + /** + * Converts this BigInteger to JSON. + * @function toJSON + * @memberof meerkat.BigInteger + * @instance + * @returns {Object.} JSON object + */ + BigInteger.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BigInteger; + })(); + + meerkat.Signature = (function() { + + /** + * Properties of a Signature. + * @memberof meerkat + * @interface ISignature + * @property {meerkat.SignatureType} [type] Signature type + * @property {Uint8Array} [data] Signature data + * @property {Uint8Array} [signerId] Signature signerId + */ + + /** + * Constructs a new Signature. + * @memberof meerkat + * @classdesc Represents a Signature. + * @constructor + * @param {meerkat.ISignature=} [properties] Properties to set + */ + function Signature(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Signature type. + * @member {meerkat.SignatureType}type + * @memberof meerkat.Signature + * @instance + */ + Signature.prototype.type = 0; + + /** + * Signature data. + * @member {Uint8Array}data + * @memberof meerkat.Signature + * @instance + */ + Signature.prototype.data = $util.newBuffer([]); + + /** + * Signature signerId. + * @member {Uint8Array}signerId + * @memberof meerkat.Signature + * @instance + */ + Signature.prototype.signerId = $util.newBuffer([]); + + /** + * Creates a new Signature instance using the specified properties. + * @function create + * @memberof meerkat.Signature + * @static + * @param {meerkat.ISignature=} [properties] Properties to set + * @returns {meerkat.Signature} Signature instance + */ + Signature.create = function create(properties) { + return new Signature(properties); + }; + + /** + * Encodes the specified Signature message. Does not implicitly {@link meerkat.Signature.verify|verify} messages. + * @function encode + * @memberof meerkat.Signature + * @static + * @param {meerkat.ISignature} message Signature message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Signature.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); + if (message.data != null && message.hasOwnProperty("data")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.data); + if (message.signerId != null && message.hasOwnProperty("signerId")) + writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.signerId); + return writer; + }; + + /** + * Encodes the specified Signature message, length delimited. Does not implicitly {@link meerkat.Signature.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.Signature + * @static + * @param {meerkat.ISignature} message Signature message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Signature.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Signature message from the specified reader or buffer. + * @function decode + * @memberof meerkat.Signature + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.Signature} Signature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Signature.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.Signature(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.type = reader.int32(); + break; + case 2: + message.data = reader.bytes(); + break; + case 3: + message.signerId = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Signature message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.Signature + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.Signature} Signature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Signature.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Signature message. + * @function verify + * @memberof meerkat.Signature + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Signature.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.type != null && message.hasOwnProperty("type")) + switch (message.type) { + default: + return "type: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.data != null && message.hasOwnProperty("data")) + if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) + return "data: buffer expected"; + if (message.signerId != null && message.hasOwnProperty("signerId")) + if (!(message.signerId && typeof message.signerId.length === "number" || $util.isString(message.signerId))) + return "signerId: buffer expected"; + return null; + }; + + /** + * Creates a Signature message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.Signature + * @static + * @param {Object.} object Plain object + * @returns {meerkat.Signature} Signature + */ + Signature.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.Signature) + return object; + var message = new $root.meerkat.Signature(); + switch (object.type) { + case "ECDSA": + case 0: + message.type = 0; + break; + case "DSA": + case 1: + message.type = 1; + break; + case "RSA": + case 2: + message.type = 2; + break; + } + if (object.data != null) + if (typeof object.data === "string") + $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); + else if (object.data.length) + message.data = object.data; + if (object.signerId != null) + if (typeof object.signerId === "string") + $util.base64.decode(object.signerId, message.signerId = $util.newBuffer($util.base64.length(object.signerId)), 0); + else if (object.signerId.length) + message.signerId = object.signerId; + return message; + }; + + /** + * Creates a plain object from a Signature message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.Signature + * @static + * @param {meerkat.Signature} message Signature + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Signature.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type = options.enums === String ? "ECDSA" : 0; + object.data = options.bytes === String ? "" : []; + object.signerId = options.bytes === String ? "" : []; + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.meerkat.SignatureType[message.type] : message.type; + if (message.data != null && message.hasOwnProperty("data")) + object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; + if (message.signerId != null && message.hasOwnProperty("signerId")) + object.signerId = options.bytes === String ? $util.base64.encode(message.signerId, 0, message.signerId.length) : options.bytes === Array ? Array.prototype.slice.call(message.signerId) : message.signerId; + return object; + }; + + /** + * Converts this Signature to JSON. + * @function toJSON + * @memberof meerkat.Signature + * @instance + * @returns {Object.} JSON object + */ + Signature.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Signature; + })(); + + meerkat.SignatureVerificationKey = (function() { + + /** + * Properties of a SignatureVerificationKey. + * @memberof meerkat + * @interface ISignatureVerificationKey + * @property {meerkat.SignatureType} [type] SignatureVerificationKey type + * @property {Uint8Array} [data] SignatureVerificationKey data + */ + + /** + * Constructs a new SignatureVerificationKey. + * @memberof meerkat + * @classdesc Represents a SignatureVerificationKey. + * @constructor + * @param {meerkat.ISignatureVerificationKey=} [properties] Properties to set + */ + function SignatureVerificationKey(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SignatureVerificationKey type. + * @member {meerkat.SignatureType}type + * @memberof meerkat.SignatureVerificationKey + * @instance + */ + SignatureVerificationKey.prototype.type = 0; + + /** + * SignatureVerificationKey data. + * @member {Uint8Array}data + * @memberof meerkat.SignatureVerificationKey + * @instance + */ + SignatureVerificationKey.prototype.data = $util.newBuffer([]); + + /** + * Creates a new SignatureVerificationKey instance using the specified properties. + * @function create + * @memberof meerkat.SignatureVerificationKey + * @static + * @param {meerkat.ISignatureVerificationKey=} [properties] Properties to set + * @returns {meerkat.SignatureVerificationKey} SignatureVerificationKey instance + */ + SignatureVerificationKey.create = function create(properties) { + return new SignatureVerificationKey(properties); + }; + + /** + * Encodes the specified SignatureVerificationKey message. Does not implicitly {@link meerkat.SignatureVerificationKey.verify|verify} messages. + * @function encode + * @memberof meerkat.SignatureVerificationKey + * @static + * @param {meerkat.ISignatureVerificationKey} message SignatureVerificationKey message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SignatureVerificationKey.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); + if (message.data != null && message.hasOwnProperty("data")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.data); + return writer; + }; + + /** + * Encodes the specified SignatureVerificationKey message, length delimited. Does not implicitly {@link meerkat.SignatureVerificationKey.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.SignatureVerificationKey + * @static + * @param {meerkat.ISignatureVerificationKey} message SignatureVerificationKey message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SignatureVerificationKey.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SignatureVerificationKey message from the specified reader or buffer. + * @function decode + * @memberof meerkat.SignatureVerificationKey + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.SignatureVerificationKey} SignatureVerificationKey + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SignatureVerificationKey.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.SignatureVerificationKey(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.type = reader.int32(); + break; + case 2: + message.data = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SignatureVerificationKey message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.SignatureVerificationKey + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.SignatureVerificationKey} SignatureVerificationKey + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SignatureVerificationKey.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SignatureVerificationKey message. + * @function verify + * @memberof meerkat.SignatureVerificationKey + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SignatureVerificationKey.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.type != null && message.hasOwnProperty("type")) + switch (message.type) { + default: + return "type: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.data != null && message.hasOwnProperty("data")) + if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) + return "data: buffer expected"; + return null; + }; + + /** + * Creates a SignatureVerificationKey message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.SignatureVerificationKey + * @static + * @param {Object.} object Plain object + * @returns {meerkat.SignatureVerificationKey} SignatureVerificationKey + */ + SignatureVerificationKey.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.SignatureVerificationKey) + return object; + var message = new $root.meerkat.SignatureVerificationKey(); + switch (object.type) { + case "ECDSA": + case 0: + message.type = 0; + break; + case "DSA": + case 1: + message.type = 1; + break; + case "RSA": + case 2: + message.type = 2; + break; + } + if (object.data != null) + if (typeof object.data === "string") + $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); + else if (object.data.length) + message.data = object.data; + return message; + }; + + /** + * Creates a plain object from a SignatureVerificationKey message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.SignatureVerificationKey + * @static + * @param {meerkat.SignatureVerificationKey} message SignatureVerificationKey + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SignatureVerificationKey.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type = options.enums === String ? "ECDSA" : 0; + object.data = options.bytes === String ? "" : []; + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.meerkat.SignatureType[message.type] : message.type; + if (message.data != null && message.hasOwnProperty("data")) + object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; + return object; + }; + + /** + * Converts this SignatureVerificationKey to JSON. + * @function toJSON + * @memberof meerkat.SignatureVerificationKey + * @instance + * @returns {Object.} JSON object + */ + SignatureVerificationKey.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return SignatureVerificationKey; + })(); + + meerkat.EncryptionPublicKey = (function() { + + /** + * Properties of an EncryptionPublicKey. + * @memberof meerkat + * @interface IEncryptionPublicKey + * @property {Uint8Array} [data] EncryptionPublicKey data + */ + + /** + * Constructs a new EncryptionPublicKey. + * @memberof meerkat + * @classdesc Represents an EncryptionPublicKey. + * @constructor + * @param {meerkat.IEncryptionPublicKey=} [properties] Properties to set + */ + function EncryptionPublicKey(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EncryptionPublicKey data. + * @member {Uint8Array}data + * @memberof meerkat.EncryptionPublicKey + * @instance + */ + EncryptionPublicKey.prototype.data = $util.newBuffer([]); + + /** + * Creates a new EncryptionPublicKey instance using the specified properties. + * @function create + * @memberof meerkat.EncryptionPublicKey + * @static + * @param {meerkat.IEncryptionPublicKey=} [properties] Properties to set + * @returns {meerkat.EncryptionPublicKey} EncryptionPublicKey instance + */ + EncryptionPublicKey.create = function create(properties) { + return new EncryptionPublicKey(properties); + }; + + /** + * Encodes the specified EncryptionPublicKey message. Does not implicitly {@link meerkat.EncryptionPublicKey.verify|verify} messages. + * @function encode + * @memberof meerkat.EncryptionPublicKey + * @static + * @param {meerkat.IEncryptionPublicKey} message EncryptionPublicKey message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EncryptionPublicKey.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.data != null && message.hasOwnProperty("data")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.data); + return writer; + }; + + /** + * Encodes the specified EncryptionPublicKey message, length delimited. Does not implicitly {@link meerkat.EncryptionPublicKey.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.EncryptionPublicKey + * @static + * @param {meerkat.IEncryptionPublicKey} message EncryptionPublicKey message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EncryptionPublicKey.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EncryptionPublicKey message from the specified reader or buffer. + * @function decode + * @memberof meerkat.EncryptionPublicKey + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.EncryptionPublicKey} EncryptionPublicKey + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EncryptionPublicKey.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.EncryptionPublicKey(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.data = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EncryptionPublicKey message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.EncryptionPublicKey + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.EncryptionPublicKey} EncryptionPublicKey + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EncryptionPublicKey.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EncryptionPublicKey message. + * @function verify + * @memberof meerkat.EncryptionPublicKey + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EncryptionPublicKey.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.data != null && message.hasOwnProperty("data")) + if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) + return "data: buffer expected"; + return null; + }; + + /** + * Creates an EncryptionPublicKey message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.EncryptionPublicKey + * @static + * @param {Object.} object Plain object + * @returns {meerkat.EncryptionPublicKey} EncryptionPublicKey + */ + EncryptionPublicKey.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.EncryptionPublicKey) + return object; + var message = new $root.meerkat.EncryptionPublicKey(); + if (object.data != null) + if (typeof object.data === "string") + $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); + else if (object.data.length) + message.data = object.data; + return message; + }; + + /** + * Creates a plain object from an EncryptionPublicKey message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.EncryptionPublicKey + * @static + * @param {meerkat.EncryptionPublicKey} message EncryptionPublicKey + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EncryptionPublicKey.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.data = options.bytes === String ? "" : []; + if (message.data != null && message.hasOwnProperty("data")) + object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; + return object; + }; + + /** + * Converts this EncryptionPublicKey to JSON. + * @function toJSON + * @memberof meerkat.EncryptionPublicKey + * @instance + * @returns {Object.} JSON object + */ + EncryptionPublicKey.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return EncryptionPublicKey; + })(); + + meerkat.EncryptionRandomness = (function() { + + /** + * Properties of an EncryptionRandomness. + * @memberof meerkat + * @interface IEncryptionRandomness + * @property {Uint8Array} [data] EncryptionRandomness data + */ + + /** + * Constructs a new EncryptionRandomness. + * @memberof meerkat + * @classdesc Represents an EncryptionRandomness. + * @constructor + * @param {meerkat.IEncryptionRandomness=} [properties] Properties to set + */ + function EncryptionRandomness(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EncryptionRandomness data. + * @member {Uint8Array}data + * @memberof meerkat.EncryptionRandomness + * @instance + */ + EncryptionRandomness.prototype.data = $util.newBuffer([]); + + /** + * Creates a new EncryptionRandomness instance using the specified properties. + * @function create + * @memberof meerkat.EncryptionRandomness + * @static + * @param {meerkat.IEncryptionRandomness=} [properties] Properties to set + * @returns {meerkat.EncryptionRandomness} EncryptionRandomness instance + */ + EncryptionRandomness.create = function create(properties) { + return new EncryptionRandomness(properties); + }; + + /** + * Encodes the specified EncryptionRandomness message. Does not implicitly {@link meerkat.EncryptionRandomness.verify|verify} messages. + * @function encode + * @memberof meerkat.EncryptionRandomness + * @static + * @param {meerkat.IEncryptionRandomness} message EncryptionRandomness message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EncryptionRandomness.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.data != null && message.hasOwnProperty("data")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.data); + return writer; + }; + + /** + * Encodes the specified EncryptionRandomness message, length delimited. Does not implicitly {@link meerkat.EncryptionRandomness.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.EncryptionRandomness + * @static + * @param {meerkat.IEncryptionRandomness} message EncryptionRandomness message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EncryptionRandomness.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EncryptionRandomness message from the specified reader or buffer. + * @function decode + * @memberof meerkat.EncryptionRandomness + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.EncryptionRandomness} EncryptionRandomness + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EncryptionRandomness.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.EncryptionRandomness(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.data = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EncryptionRandomness message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.EncryptionRandomness + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.EncryptionRandomness} EncryptionRandomness + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EncryptionRandomness.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EncryptionRandomness message. + * @function verify + * @memberof meerkat.EncryptionRandomness + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EncryptionRandomness.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.data != null && message.hasOwnProperty("data")) + if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) + return "data: buffer expected"; + return null; + }; + + /** + * Creates an EncryptionRandomness message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.EncryptionRandomness + * @static + * @param {Object.} object Plain object + * @returns {meerkat.EncryptionRandomness} EncryptionRandomness + */ + EncryptionRandomness.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.EncryptionRandomness) + return object; + var message = new $root.meerkat.EncryptionRandomness(); + if (object.data != null) + if (typeof object.data === "string") + $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); + else if (object.data.length) + message.data = object.data; + return message; + }; + + /** + * Creates a plain object from an EncryptionRandomness message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.EncryptionRandomness + * @static + * @param {meerkat.EncryptionRandomness} message EncryptionRandomness + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EncryptionRandomness.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.data = options.bytes === String ? "" : []; + if (message.data != null && message.hasOwnProperty("data")) + object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; + return object; + }; + + /** + * Converts this EncryptionRandomness to JSON. + * @function toJSON + * @memberof meerkat.EncryptionRandomness + * @instance + * @returns {Object.} JSON object + */ + EncryptionRandomness.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return EncryptionRandomness; + })(); + + meerkat.RandomnessGenerationProof = (function() { + + /** + * Properties of a RandomnessGenerationProof. + * @memberof meerkat + * @interface IRandomnessGenerationProof + * @property {Uint8Array} [data] RandomnessGenerationProof data + */ + + /** + * Constructs a new RandomnessGenerationProof. + * @memberof meerkat + * @classdesc Represents a RandomnessGenerationProof. + * @constructor + * @param {meerkat.IRandomnessGenerationProof=} [properties] Properties to set + */ + function RandomnessGenerationProof(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * RandomnessGenerationProof data. + * @member {Uint8Array}data + * @memberof meerkat.RandomnessGenerationProof + * @instance + */ + RandomnessGenerationProof.prototype.data = $util.newBuffer([]); + + /** + * Creates a new RandomnessGenerationProof instance using the specified properties. + * @function create + * @memberof meerkat.RandomnessGenerationProof + * @static + * @param {meerkat.IRandomnessGenerationProof=} [properties] Properties to set + * @returns {meerkat.RandomnessGenerationProof} RandomnessGenerationProof instance + */ + RandomnessGenerationProof.create = function create(properties) { + return new RandomnessGenerationProof(properties); + }; + + /** + * Encodes the specified RandomnessGenerationProof message. Does not implicitly {@link meerkat.RandomnessGenerationProof.verify|verify} messages. + * @function encode + * @memberof meerkat.RandomnessGenerationProof + * @static + * @param {meerkat.IRandomnessGenerationProof} message RandomnessGenerationProof message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RandomnessGenerationProof.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.data != null && message.hasOwnProperty("data")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.data); + return writer; + }; + + /** + * Encodes the specified RandomnessGenerationProof message, length delimited. Does not implicitly {@link meerkat.RandomnessGenerationProof.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.RandomnessGenerationProof + * @static + * @param {meerkat.IRandomnessGenerationProof} message RandomnessGenerationProof message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RandomnessGenerationProof.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a RandomnessGenerationProof message from the specified reader or buffer. + * @function decode + * @memberof meerkat.RandomnessGenerationProof + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.RandomnessGenerationProof} RandomnessGenerationProof + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RandomnessGenerationProof.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.RandomnessGenerationProof(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.data = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a RandomnessGenerationProof message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.RandomnessGenerationProof + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.RandomnessGenerationProof} RandomnessGenerationProof + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RandomnessGenerationProof.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a RandomnessGenerationProof message. + * @function verify + * @memberof meerkat.RandomnessGenerationProof + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RandomnessGenerationProof.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.data != null && message.hasOwnProperty("data")) + if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) + return "data: buffer expected"; + return null; + }; + + /** + * Creates a RandomnessGenerationProof message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.RandomnessGenerationProof + * @static + * @param {Object.} object Plain object + * @returns {meerkat.RandomnessGenerationProof} RandomnessGenerationProof + */ + RandomnessGenerationProof.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.RandomnessGenerationProof) + return object; + var message = new $root.meerkat.RandomnessGenerationProof(); + if (object.data != null) + if (typeof object.data === "string") + $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); + else if (object.data.length) + message.data = object.data; + return message; + }; + + /** + * Creates a plain object from a RandomnessGenerationProof message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.RandomnessGenerationProof + * @static + * @param {meerkat.RandomnessGenerationProof} message RandomnessGenerationProof + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RandomnessGenerationProof.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.data = options.bytes === String ? "" : []; + if (message.data != null && message.hasOwnProperty("data")) + object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; + return object; + }; + + /** + * Converts this RandomnessGenerationProof to JSON. + * @function toJSON + * @memberof meerkat.RandomnessGenerationProof + * @instance + * @returns {Object.} JSON object + */ + RandomnessGenerationProof.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return RandomnessGenerationProof; + })(); + + meerkat.RerandomizableEncryptedMessage = (function() { + + /** + * Properties of a RerandomizableEncryptedMessage. + * @memberof meerkat + * @interface IRerandomizableEncryptedMessage + * @property {Uint8Array} [data] RerandomizableEncryptedMessage data + */ + + /** + * Constructs a new RerandomizableEncryptedMessage. + * @memberof meerkat + * @classdesc Represents a RerandomizableEncryptedMessage. + * @constructor + * @param {meerkat.IRerandomizableEncryptedMessage=} [properties] Properties to set + */ + function RerandomizableEncryptedMessage(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * RerandomizableEncryptedMessage data. + * @member {Uint8Array}data + * @memberof meerkat.RerandomizableEncryptedMessage + * @instance + */ + RerandomizableEncryptedMessage.prototype.data = $util.newBuffer([]); + + /** + * Creates a new RerandomizableEncryptedMessage instance using the specified properties. + * @function create + * @memberof meerkat.RerandomizableEncryptedMessage + * @static + * @param {meerkat.IRerandomizableEncryptedMessage=} [properties] Properties to set + * @returns {meerkat.RerandomizableEncryptedMessage} RerandomizableEncryptedMessage instance + */ + RerandomizableEncryptedMessage.create = function create(properties) { + return new RerandomizableEncryptedMessage(properties); + }; + + /** + * Encodes the specified RerandomizableEncryptedMessage message. Does not implicitly {@link meerkat.RerandomizableEncryptedMessage.verify|verify} messages. + * @function encode + * @memberof meerkat.RerandomizableEncryptedMessage + * @static + * @param {meerkat.IRerandomizableEncryptedMessage} message RerandomizableEncryptedMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RerandomizableEncryptedMessage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.data != null && message.hasOwnProperty("data")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.data); + return writer; + }; + + /** + * Encodes the specified RerandomizableEncryptedMessage message, length delimited. Does not implicitly {@link meerkat.RerandomizableEncryptedMessage.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.RerandomizableEncryptedMessage + * @static + * @param {meerkat.IRerandomizableEncryptedMessage} message RerandomizableEncryptedMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RerandomizableEncryptedMessage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a RerandomizableEncryptedMessage message from the specified reader or buffer. + * @function decode + * @memberof meerkat.RerandomizableEncryptedMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.RerandomizableEncryptedMessage} RerandomizableEncryptedMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RerandomizableEncryptedMessage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.RerandomizableEncryptedMessage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.data = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a RerandomizableEncryptedMessage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.RerandomizableEncryptedMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.RerandomizableEncryptedMessage} RerandomizableEncryptedMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RerandomizableEncryptedMessage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a RerandomizableEncryptedMessage message. + * @function verify + * @memberof meerkat.RerandomizableEncryptedMessage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RerandomizableEncryptedMessage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.data != null && message.hasOwnProperty("data")) + if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) + return "data: buffer expected"; + return null; + }; + + /** + * Creates a RerandomizableEncryptedMessage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.RerandomizableEncryptedMessage + * @static + * @param {Object.} object Plain object + * @returns {meerkat.RerandomizableEncryptedMessage} RerandomizableEncryptedMessage + */ + RerandomizableEncryptedMessage.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.RerandomizableEncryptedMessage) + return object; + var message = new $root.meerkat.RerandomizableEncryptedMessage(); + if (object.data != null) + if (typeof object.data === "string") + $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); + else if (object.data.length) + message.data = object.data; + return message; + }; + + /** + * Creates a plain object from a RerandomizableEncryptedMessage message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.RerandomizableEncryptedMessage + * @static + * @param {meerkat.RerandomizableEncryptedMessage} message RerandomizableEncryptedMessage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RerandomizableEncryptedMessage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.data = options.bytes === String ? "" : []; + if (message.data != null && message.hasOwnProperty("data")) + object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; + return object; + }; + + /** + * Converts this RerandomizableEncryptedMessage to JSON. + * @function toJSON + * @memberof meerkat.RerandomizableEncryptedMessage + * @instance + * @returns {Object.} JSON object + */ + RerandomizableEncryptedMessage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return RerandomizableEncryptedMessage; + })(); + + meerkat.Payload = (function() { + + /** + * Properties of a Payload. + * @memberof meerkat + * @interface IPayload + * @property {meerkat.Payload.Type} [type] Payload type + * @property {meerkat.IIDMessage} [id] Payload id + * @property {meerkat.IShareMessage} [share] Payload share + * @property {meerkat.ICommitmentMessage} [commitment] Payload commitment + */ + + /** + * Constructs a new Payload. + * @memberof meerkat + * @classdesc Represents a Payload. + * @constructor + * @param {meerkat.IPayload=} [properties] Properties to set + */ + function Payload(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Payload type. + * @member {meerkat.Payload.Type}type + * @memberof meerkat.Payload + * @instance + */ + Payload.prototype.type = 0; + + /** + * Payload id. + * @member {(meerkat.IIDMessage|null|undefined)}id + * @memberof meerkat.Payload + * @instance + */ + Payload.prototype.id = null; + + /** + * Payload share. + * @member {(meerkat.IShareMessage|null|undefined)}share + * @memberof meerkat.Payload + * @instance + */ + Payload.prototype.share = null; + + /** + * Payload commitment. + * @member {(meerkat.ICommitmentMessage|null|undefined)}commitment + * @memberof meerkat.Payload + * @instance + */ + Payload.prototype.commitment = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * Payload payloadData. + * @member {string|undefined} payloadData + * @memberof meerkat.Payload + * @instance + */ + Object.defineProperty(Payload.prototype, "payloadData", { + get: $util.oneOfGetter($oneOfFields = ["id", "share", "commitment"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new Payload instance using the specified properties. + * @function create + * @memberof meerkat.Payload + * @static + * @param {meerkat.IPayload=} [properties] Properties to set + * @returns {meerkat.Payload} Payload instance + */ + Payload.create = function create(properties) { + return new Payload(properties); + }; + + /** + * Encodes the specified Payload message. Does not implicitly {@link meerkat.Payload.verify|verify} messages. + * @function encode + * @memberof meerkat.Payload + * @static + * @param {meerkat.IPayload} message Payload message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Payload.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); + if (message.id != null && message.hasOwnProperty("id")) + $root.meerkat.IDMessage.encode(message.id, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.share != null && message.hasOwnProperty("share")) + $root.meerkat.ShareMessage.encode(message.share, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.commitment != null && message.hasOwnProperty("commitment")) + $root.meerkat.CommitmentMessage.encode(message.commitment, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Payload message, length delimited. Does not implicitly {@link meerkat.Payload.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.Payload + * @static + * @param {meerkat.IPayload} message Payload message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Payload.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Payload message from the specified reader or buffer. + * @function decode + * @memberof meerkat.Payload + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.Payload} Payload + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Payload.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.Payload(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.type = reader.int32(); + break; + case 5: + message.id = $root.meerkat.IDMessage.decode(reader, reader.uint32()); + break; + case 6: + message.share = $root.meerkat.ShareMessage.decode(reader, reader.uint32()); + break; + case 7: + message.commitment = $root.meerkat.CommitmentMessage.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Payload message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.Payload + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.Payload} Payload + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Payload.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Payload message. + * @function verify + * @memberof meerkat.Payload + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Payload.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.type != null && message.hasOwnProperty("type")) + switch (message.type) { + default: + return "type: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + break; + } + if (message.id != null && message.hasOwnProperty("id")) { + properties.payloadData = 1; + var error = $root.meerkat.IDMessage.verify(message.id); + if (error) + return "id." + error; + } + if (message.share != null && message.hasOwnProperty("share")) { + if (properties.payloadData === 1) + return "payloadData: multiple values"; + properties.payloadData = 1; + error = $root.meerkat.ShareMessage.verify(message.share); + if (error) + return "share." + error; + } + if (message.commitment != null && message.hasOwnProperty("commitment")) { + if (properties.payloadData === 1) + return "payloadData: multiple values"; + properties.payloadData = 1; + error = $root.meerkat.CommitmentMessage.verify(message.commitment); + if (error) + return "commitment." + error; + } + return null; + }; + + /** + * Creates a Payload message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.Payload + * @static + * @param {Object.} object Plain object + * @returns {meerkat.Payload} Payload + */ + Payload.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.Payload) + return object; + var message = new $root.meerkat.Payload(); + switch (object.type) { + case "SHARE": + case 0: + message.type = 0; + break; + case "COMMITMENT": + case 1: + message.type = 1; + break; + case "COMPLAINT": + case 2: + message.type = 2; + break; + case "DONE": + case 3: + message.type = 3; + break; + case "ANSWER": + case 4: + message.type = 4; + break; + case "YCOMMITMENT": + case 5: + message.type = 5; + break; + case "YCOMPLAINT": + case 6: + message.type = 6; + break; + case "YANSWER": + case 7: + message.type = 7; + break; + case "ABORT": + case 8: + message.type = 8; + break; + } + if (object.id != null) { + if (typeof object.id !== "object") + throw TypeError(".meerkat.Payload.id: object expected"); + message.id = $root.meerkat.IDMessage.fromObject(object.id); + } + if (object.share != null) { + if (typeof object.share !== "object") + throw TypeError(".meerkat.Payload.share: object expected"); + message.share = $root.meerkat.ShareMessage.fromObject(object.share); + } + if (object.commitment != null) { + if (typeof object.commitment !== "object") + throw TypeError(".meerkat.Payload.commitment: object expected"); + message.commitment = $root.meerkat.CommitmentMessage.fromObject(object.commitment); + } + return message; + }; + + /** + * Creates a plain object from a Payload message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.Payload + * @static + * @param {meerkat.Payload} message Payload + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Payload.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.type = options.enums === String ? "SHARE" : 0; + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.meerkat.Payload.Type[message.type] : message.type; + if (message.id != null && message.hasOwnProperty("id")) { + object.id = $root.meerkat.IDMessage.toObject(message.id, options); + if (options.oneofs) + object.payloadData = "id"; + } + if (message.share != null && message.hasOwnProperty("share")) { + object.share = $root.meerkat.ShareMessage.toObject(message.share, options); + if (options.oneofs) + object.payloadData = "share"; + } + if (message.commitment != null && message.hasOwnProperty("commitment")) { + object.commitment = $root.meerkat.CommitmentMessage.toObject(message.commitment, options); + if (options.oneofs) + object.payloadData = "commitment"; + } + return object; + }; + + /** + * Converts this Payload to JSON. + * @function toJSON + * @memberof meerkat.Payload + * @instance + * @returns {Object.} JSON object + */ + Payload.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Type enum. + * @enum {string} + * @property {number} SHARE=0 SHARE value + * @property {number} COMMITMENT=1 COMMITMENT value + * @property {number} COMPLAINT=2 COMPLAINT value + * @property {number} DONE=3 DONE value + * @property {number} ANSWER=4 ANSWER value + * @property {number} YCOMMITMENT=5 YCOMMITMENT value + * @property {number} YCOMPLAINT=6 YCOMPLAINT value + * @property {number} YANSWER=7 YANSWER value + * @property {number} ABORT=8 ABORT value + */ + Payload.Type = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "SHARE"] = 0; + values[valuesById[1] = "COMMITMENT"] = 1; + values[valuesById[2] = "COMPLAINT"] = 2; + values[valuesById[3] = "DONE"] = 3; + values[valuesById[4] = "ANSWER"] = 4; + values[valuesById[5] = "YCOMMITMENT"] = 5; + values[valuesById[6] = "YCOMPLAINT"] = 6; + values[valuesById[7] = "YANSWER"] = 7; + values[valuesById[8] = "ABORT"] = 8; + return values; + })(); + + return Payload; + })(); + + meerkat.IDMessage = (function() { + + /** + * Properties of a IDMessage. + * @memberof meerkat + * @interface IIDMessage + * @property {number} [id] IDMessage id + */ + + /** + * Constructs a new IDMessage. + * @memberof meerkat + * @classdesc Represents a IDMessage. + * @constructor + * @param {meerkat.IIDMessage=} [properties] Properties to set + */ + function IDMessage(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * IDMessage id. + * @member {number}id + * @memberof meerkat.IDMessage + * @instance + */ + IDMessage.prototype.id = 0; + + /** + * Creates a new IDMessage instance using the specified properties. + * @function create + * @memberof meerkat.IDMessage + * @static + * @param {meerkat.IIDMessage=} [properties] Properties to set + * @returns {meerkat.IDMessage} IDMessage instance + */ + IDMessage.create = function create(properties) { + return new IDMessage(properties); + }; + + /** + * Encodes the specified IDMessage message. Does not implicitly {@link meerkat.IDMessage.verify|verify} messages. + * @function encode + * @memberof meerkat.IDMessage + * @static + * @param {meerkat.IIDMessage} message IDMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + IDMessage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.id != null && message.hasOwnProperty("id")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.id); + return writer; + }; + + /** + * Encodes the specified IDMessage message, length delimited. Does not implicitly {@link meerkat.IDMessage.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.IDMessage + * @static + * @param {meerkat.IIDMessage} message IDMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + IDMessage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a IDMessage message from the specified reader or buffer. + * @function decode + * @memberof meerkat.IDMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.IDMessage} IDMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + IDMessage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.IDMessage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.id = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a IDMessage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.IDMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.IDMessage} IDMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + IDMessage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a IDMessage message. + * @function verify + * @memberof meerkat.IDMessage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + IDMessage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.id != null && message.hasOwnProperty("id")) + if (!$util.isInteger(message.id)) + return "id: integer expected"; + return null; + }; + + /** + * Creates a IDMessage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.IDMessage + * @static + * @param {Object.} object Plain object + * @returns {meerkat.IDMessage} IDMessage + */ + IDMessage.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.IDMessage) + return object; + var message = new $root.meerkat.IDMessage(); + if (object.id != null) + message.id = object.id | 0; + return message; + }; + + /** + * Creates a plain object from a IDMessage message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.IDMessage + * @static + * @param {meerkat.IDMessage} message IDMessage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + IDMessage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.id = 0; + if (message.id != null && message.hasOwnProperty("id")) + object.id = message.id; + return object; + }; + + /** + * Converts this IDMessage to JSON. + * @function toJSON + * @memberof meerkat.IDMessage + * @instance + * @returns {Object.} JSON object + */ + IDMessage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return IDMessage; + })(); + + meerkat.ShareMessage = (function() { + + /** + * Properties of a ShareMessage. + * @memberof meerkat + * @interface IShareMessage + * @property {number} [i] ShareMessage i + * @property {number} [j] ShareMessage j + * @property {Uint8Array} [share] ShareMessage share + * @property {Uint8Array} [shareT] ShareMessage shareT + */ + + /** + * Constructs a new ShareMessage. + * @memberof meerkat + * @classdesc Represents a ShareMessage. + * @constructor + * @param {meerkat.IShareMessage=} [properties] Properties to set + */ + function ShareMessage(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ShareMessage i. + * @member {number}i + * @memberof meerkat.ShareMessage + * @instance + */ + ShareMessage.prototype.i = 0; + + /** + * ShareMessage j. + * @member {number}j + * @memberof meerkat.ShareMessage + * @instance + */ + ShareMessage.prototype.j = 0; + + /** + * ShareMessage share. + * @member {Uint8Array}share + * @memberof meerkat.ShareMessage + * @instance + */ + ShareMessage.prototype.share = $util.newBuffer([]); + + /** + * ShareMessage shareT. + * @member {Uint8Array}shareT + * @memberof meerkat.ShareMessage + * @instance + */ + ShareMessage.prototype.shareT = $util.newBuffer([]); + + /** + * Creates a new ShareMessage instance using the specified properties. + * @function create + * @memberof meerkat.ShareMessage + * @static + * @param {meerkat.IShareMessage=} [properties] Properties to set + * @returns {meerkat.ShareMessage} ShareMessage instance + */ + ShareMessage.create = function create(properties) { + return new ShareMessage(properties); + }; + + /** + * Encodes the specified ShareMessage message. Does not implicitly {@link meerkat.ShareMessage.verify|verify} messages. + * @function encode + * @memberof meerkat.ShareMessage + * @static + * @param {meerkat.IShareMessage} message ShareMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ShareMessage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.i != null && message.hasOwnProperty("i")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.i); + if (message.j != null && message.hasOwnProperty("j")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.j); + if (message.share != null && message.hasOwnProperty("share")) + writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.share); + if (message.shareT != null && message.hasOwnProperty("shareT")) + writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.shareT); + return writer; + }; + + /** + * Encodes the specified ShareMessage message, length delimited. Does not implicitly {@link meerkat.ShareMessage.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.ShareMessage + * @static + * @param {meerkat.IShareMessage} message ShareMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ShareMessage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ShareMessage message from the specified reader or buffer. + * @function decode + * @memberof meerkat.ShareMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.ShareMessage} ShareMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ShareMessage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.ShareMessage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.i = reader.int32(); + break; + case 2: + message.j = reader.int32(); + break; + case 3: + message.share = reader.bytes(); + break; + case 4: + message.shareT = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ShareMessage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.ShareMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.ShareMessage} ShareMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ShareMessage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ShareMessage message. + * @function verify + * @memberof meerkat.ShareMessage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ShareMessage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.i != null && message.hasOwnProperty("i")) + if (!$util.isInteger(message.i)) + return "i: integer expected"; + if (message.j != null && message.hasOwnProperty("j")) + if (!$util.isInteger(message.j)) + return "j: integer expected"; + if (message.share != null && message.hasOwnProperty("share")) + if (!(message.share && typeof message.share.length === "number" || $util.isString(message.share))) + return "share: buffer expected"; + if (message.shareT != null && message.hasOwnProperty("shareT")) + if (!(message.shareT && typeof message.shareT.length === "number" || $util.isString(message.shareT))) + return "shareT: buffer expected"; + return null; + }; + + /** + * Creates a ShareMessage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.ShareMessage + * @static + * @param {Object.} object Plain object + * @returns {meerkat.ShareMessage} ShareMessage + */ + ShareMessage.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.ShareMessage) + return object; + var message = new $root.meerkat.ShareMessage(); + if (object.i != null) + message.i = object.i | 0; + if (object.j != null) + message.j = object.j | 0; + if (object.share != null) + if (typeof object.share === "string") + $util.base64.decode(object.share, message.share = $util.newBuffer($util.base64.length(object.share)), 0); + else if (object.share.length) + message.share = object.share; + if (object.shareT != null) + if (typeof object.shareT === "string") + $util.base64.decode(object.shareT, message.shareT = $util.newBuffer($util.base64.length(object.shareT)), 0); + else if (object.shareT.length) + message.shareT = object.shareT; + return message; + }; + + /** + * Creates a plain object from a ShareMessage message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.ShareMessage + * @static + * @param {meerkat.ShareMessage} message ShareMessage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ShareMessage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.i = 0; + object.j = 0; + object.share = options.bytes === String ? "" : []; + object.shareT = options.bytes === String ? "" : []; + } + if (message.i != null && message.hasOwnProperty("i")) + object.i = message.i; + if (message.j != null && message.hasOwnProperty("j")) + object.j = message.j; + if (message.share != null && message.hasOwnProperty("share")) + object.share = options.bytes === String ? $util.base64.encode(message.share, 0, message.share.length) : options.bytes === Array ? Array.prototype.slice.call(message.share) : message.share; + if (message.shareT != null && message.hasOwnProperty("shareT")) + object.shareT = options.bytes === String ? $util.base64.encode(message.shareT, 0, message.shareT.length) : options.bytes === Array ? Array.prototype.slice.call(message.shareT) : message.shareT; + return object; + }; + + /** + * Converts this ShareMessage to JSON. + * @function toJSON + * @memberof meerkat.ShareMessage + * @instance + * @returns {Object.} JSON object + */ + ShareMessage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ShareMessage; + })(); + + meerkat.CommitmentMessage = (function() { + + /** + * Properties of a CommitmentMessage. + * @memberof meerkat + * @interface ICommitmentMessage + * @property {number} [k] CommitmentMessage k + * @property {Uint8Array} [commitment] CommitmentMessage commitment + */ + + /** + * Constructs a new CommitmentMessage. + * @memberof meerkat + * @classdesc Represents a CommitmentMessage. + * @constructor + * @param {meerkat.ICommitmentMessage=} [properties] Properties to set + */ + function CommitmentMessage(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CommitmentMessage k. + * @member {number}k + * @memberof meerkat.CommitmentMessage + * @instance + */ + CommitmentMessage.prototype.k = 0; + + /** + * CommitmentMessage commitment. + * @member {Uint8Array}commitment + * @memberof meerkat.CommitmentMessage + * @instance + */ + CommitmentMessage.prototype.commitment = $util.newBuffer([]); + + /** + * Creates a new CommitmentMessage instance using the specified properties. + * @function create + * @memberof meerkat.CommitmentMessage + * @static + * @param {meerkat.ICommitmentMessage=} [properties] Properties to set + * @returns {meerkat.CommitmentMessage} CommitmentMessage instance + */ + CommitmentMessage.create = function create(properties) { + return new CommitmentMessage(properties); + }; + + /** + * Encodes the specified CommitmentMessage message. Does not implicitly {@link meerkat.CommitmentMessage.verify|verify} messages. + * @function encode + * @memberof meerkat.CommitmentMessage + * @static + * @param {meerkat.ICommitmentMessage} message CommitmentMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CommitmentMessage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.k != null && message.hasOwnProperty("k")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.k); + if (message.commitment != null && message.hasOwnProperty("commitment")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.commitment); + return writer; + }; + + /** + * Encodes the specified CommitmentMessage message, length delimited. Does not implicitly {@link meerkat.CommitmentMessage.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.CommitmentMessage + * @static + * @param {meerkat.ICommitmentMessage} message CommitmentMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CommitmentMessage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CommitmentMessage message from the specified reader or buffer. + * @function decode + * @memberof meerkat.CommitmentMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.CommitmentMessage} CommitmentMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CommitmentMessage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.CommitmentMessage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.k = reader.int32(); + break; + case 2: + message.commitment = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CommitmentMessage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.CommitmentMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.CommitmentMessage} CommitmentMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CommitmentMessage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CommitmentMessage message. + * @function verify + * @memberof meerkat.CommitmentMessage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CommitmentMessage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.k != null && message.hasOwnProperty("k")) + if (!$util.isInteger(message.k)) + return "k: integer expected"; + if (message.commitment != null && message.hasOwnProperty("commitment")) + if (!(message.commitment && typeof message.commitment.length === "number" || $util.isString(message.commitment))) + return "commitment: buffer expected"; + return null; + }; + + /** + * Creates a CommitmentMessage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.CommitmentMessage + * @static + * @param {Object.} object Plain object + * @returns {meerkat.CommitmentMessage} CommitmentMessage + */ + CommitmentMessage.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.CommitmentMessage) + return object; + var message = new $root.meerkat.CommitmentMessage(); + if (object.k != null) + message.k = object.k | 0; + if (object.commitment != null) + if (typeof object.commitment === "string") + $util.base64.decode(object.commitment, message.commitment = $util.newBuffer($util.base64.length(object.commitment)), 0); + else if (object.commitment.length) + message.commitment = object.commitment; + return message; + }; + + /** + * Creates a plain object from a CommitmentMessage message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.CommitmentMessage + * @static + * @param {meerkat.CommitmentMessage} message CommitmentMessage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CommitmentMessage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.k = 0; + object.commitment = options.bytes === String ? "" : []; + } + if (message.k != null && message.hasOwnProperty("k")) + object.k = message.k; + if (message.commitment != null && message.hasOwnProperty("commitment")) + object.commitment = options.bytes === String ? $util.base64.encode(message.commitment, 0, message.commitment.length) : options.bytes === Array ? Array.prototype.slice.call(message.commitment) : message.commitment; + return object; + }; + + /** + * Converts this CommitmentMessage to JSON. + * @function toJSON + * @memberof meerkat.CommitmentMessage + * @instance + * @returns {Object.} JSON object + */ + CommitmentMessage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CommitmentMessage; + })(); + + meerkat.MixBatchHeader = (function() { + + /** + * Properties of a MixBatchHeader. + * @memberof meerkat + * @interface IMixBatchHeader + * @property {number} [logN] MixBatchHeader logN + * @property {number} [layers] MixBatchHeader layers + */ + + /** + * Constructs a new MixBatchHeader. + * @memberof meerkat + * @classdesc Represents a MixBatchHeader. + * @constructor + * @param {meerkat.IMixBatchHeader=} [properties] Properties to set + */ + function MixBatchHeader(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * MixBatchHeader logN. + * @member {number}logN + * @memberof meerkat.MixBatchHeader + * @instance + */ + MixBatchHeader.prototype.logN = 0; + + /** + * MixBatchHeader layers. + * @member {number}layers + * @memberof meerkat.MixBatchHeader + * @instance + */ + MixBatchHeader.prototype.layers = 0; + + /** + * Creates a new MixBatchHeader instance using the specified properties. + * @function create + * @memberof meerkat.MixBatchHeader + * @static + * @param {meerkat.IMixBatchHeader=} [properties] Properties to set + * @returns {meerkat.MixBatchHeader} MixBatchHeader instance + */ + MixBatchHeader.create = function create(properties) { + return new MixBatchHeader(properties); + }; + + /** + * Encodes the specified MixBatchHeader message. Does not implicitly {@link meerkat.MixBatchHeader.verify|verify} messages. + * @function encode + * @memberof meerkat.MixBatchHeader + * @static + * @param {meerkat.IMixBatchHeader} message MixBatchHeader message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MixBatchHeader.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.logN != null && message.hasOwnProperty("logN")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.logN); + if (message.layers != null && message.hasOwnProperty("layers")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.layers); + return writer; + }; + + /** + * Encodes the specified MixBatchHeader message, length delimited. Does not implicitly {@link meerkat.MixBatchHeader.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.MixBatchHeader + * @static + * @param {meerkat.IMixBatchHeader} message MixBatchHeader message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MixBatchHeader.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a MixBatchHeader message from the specified reader or buffer. + * @function decode + * @memberof meerkat.MixBatchHeader + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.MixBatchHeader} MixBatchHeader + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MixBatchHeader.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.MixBatchHeader(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.logN = reader.int32(); + break; + case 2: + message.layers = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a MixBatchHeader message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.MixBatchHeader + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.MixBatchHeader} MixBatchHeader + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MixBatchHeader.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a MixBatchHeader message. + * @function verify + * @memberof meerkat.MixBatchHeader + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + MixBatchHeader.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.logN != null && message.hasOwnProperty("logN")) + if (!$util.isInteger(message.logN)) + return "logN: integer expected"; + if (message.layers != null && message.hasOwnProperty("layers")) + if (!$util.isInteger(message.layers)) + return "layers: integer expected"; + return null; + }; + + /** + * Creates a MixBatchHeader message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.MixBatchHeader + * @static + * @param {Object.} object Plain object + * @returns {meerkat.MixBatchHeader} MixBatchHeader + */ + MixBatchHeader.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.MixBatchHeader) + return object; + var message = new $root.meerkat.MixBatchHeader(); + if (object.logN != null) + message.logN = object.logN | 0; + if (object.layers != null) + message.layers = object.layers | 0; + return message; + }; + + /** + * Creates a plain object from a MixBatchHeader message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.MixBatchHeader + * @static + * @param {meerkat.MixBatchHeader} message MixBatchHeader + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + MixBatchHeader.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.logN = 0; + object.layers = 0; + } + if (message.logN != null && message.hasOwnProperty("logN")) + object.logN = message.logN; + if (message.layers != null && message.hasOwnProperty("layers")) + object.layers = message.layers; + return object; + }; + + /** + * Converts this MixBatchHeader to JSON. + * @function toJSON + * @memberof meerkat.MixBatchHeader + * @instance + * @returns {Object.} JSON object + */ + MixBatchHeader.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return MixBatchHeader; + })(); + + meerkat.Plaintext = (function() { + + /** + * Properties of a Plaintext. + * @memberof meerkat + * @interface IPlaintext + * @property {Uint8Array} [data] Plaintext data + */ + + /** + * Constructs a new Plaintext. + * @memberof meerkat + * @classdesc Represents a Plaintext. + * @constructor + * @param {meerkat.IPlaintext=} [properties] Properties to set + */ + function Plaintext(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Plaintext data. + * @member {Uint8Array}data + * @memberof meerkat.Plaintext + * @instance + */ + Plaintext.prototype.data = $util.newBuffer([]); + + /** + * Creates a new Plaintext instance using the specified properties. + * @function create + * @memberof meerkat.Plaintext + * @static + * @param {meerkat.IPlaintext=} [properties] Properties to set + * @returns {meerkat.Plaintext} Plaintext instance + */ + Plaintext.create = function create(properties) { + return new Plaintext(properties); + }; + + /** + * Encodes the specified Plaintext message. Does not implicitly {@link meerkat.Plaintext.verify|verify} messages. + * @function encode + * @memberof meerkat.Plaintext + * @static + * @param {meerkat.IPlaintext} message Plaintext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Plaintext.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.data != null && message.hasOwnProperty("data")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.data); + return writer; + }; + + /** + * Encodes the specified Plaintext message, length delimited. Does not implicitly {@link meerkat.Plaintext.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.Plaintext + * @static + * @param {meerkat.IPlaintext} message Plaintext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Plaintext.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Plaintext message from the specified reader or buffer. + * @function decode + * @memberof meerkat.Plaintext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.Plaintext} Plaintext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Plaintext.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.Plaintext(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.data = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Plaintext message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.Plaintext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.Plaintext} Plaintext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Plaintext.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Plaintext message. + * @function verify + * @memberof meerkat.Plaintext + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Plaintext.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.data != null && message.hasOwnProperty("data")) + if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) + return "data: buffer expected"; + return null; + }; + + /** + * Creates a Plaintext message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.Plaintext + * @static + * @param {Object.} object Plain object + * @returns {meerkat.Plaintext} Plaintext + */ + Plaintext.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.Plaintext) + return object; + var message = new $root.meerkat.Plaintext(); + if (object.data != null) + if (typeof object.data === "string") + $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); + else if (object.data.length) + message.data = object.data; + return message; + }; + + /** + * Creates a plain object from a Plaintext message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.Plaintext + * @static + * @param {meerkat.Plaintext} message Plaintext + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Plaintext.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.data = options.bytes === String ? "" : []; + if (message.data != null && message.hasOwnProperty("data")) + object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; + return object; + }; + + /** + * Converts this Plaintext to JSON. + * @function toJSON + * @memberof meerkat.Plaintext + * @instance + * @returns {Object.} JSON object + */ + Plaintext.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Plaintext; + })(); + + meerkat.Mix2Proof = (function() { + + /** + * Properties of a Mix2Proof. + * @memberof meerkat + * @interface IMix2Proof + * @property {meerkat.Mix2Proof.IFirstMessage} [firstMessage] Mix2Proof firstMessage + * @property {meerkat.Mix2Proof.IFinalMessage} [finalMessage] Mix2Proof finalMessage + * @property {meerkat.Mix2Proof.ILocation} [location] Mix2Proof location + */ + + /** + * Constructs a new Mix2Proof. + * @memberof meerkat + * @classdesc Represents a Mix2Proof. + * @constructor + * @param {meerkat.IMix2Proof=} [properties] Properties to set + */ + function Mix2Proof(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Mix2Proof firstMessage. + * @member {(meerkat.Mix2Proof.IFirstMessage|null|undefined)}firstMessage + * @memberof meerkat.Mix2Proof + * @instance + */ + Mix2Proof.prototype.firstMessage = null; + + /** + * Mix2Proof finalMessage. + * @member {(meerkat.Mix2Proof.IFinalMessage|null|undefined)}finalMessage + * @memberof meerkat.Mix2Proof + * @instance + */ + Mix2Proof.prototype.finalMessage = null; + + /** + * Mix2Proof location. + * @member {(meerkat.Mix2Proof.ILocation|null|undefined)}location + * @memberof meerkat.Mix2Proof + * @instance + */ + Mix2Proof.prototype.location = null; + + /** + * Creates a new Mix2Proof instance using the specified properties. + * @function create + * @memberof meerkat.Mix2Proof + * @static + * @param {meerkat.IMix2Proof=} [properties] Properties to set + * @returns {meerkat.Mix2Proof} Mix2Proof instance + */ + Mix2Proof.create = function create(properties) { + return new Mix2Proof(properties); + }; + + /** + * Encodes the specified Mix2Proof message. Does not implicitly {@link meerkat.Mix2Proof.verify|verify} messages. + * @function encode + * @memberof meerkat.Mix2Proof + * @static + * @param {meerkat.IMix2Proof} message Mix2Proof message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Mix2Proof.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.firstMessage != null && message.hasOwnProperty("firstMessage")) + $root.meerkat.Mix2Proof.FirstMessage.encode(message.firstMessage, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.finalMessage != null && message.hasOwnProperty("finalMessage")) + $root.meerkat.Mix2Proof.FinalMessage.encode(message.finalMessage, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.location != null && message.hasOwnProperty("location")) + $root.meerkat.Mix2Proof.Location.encode(message.location, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Mix2Proof message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.Mix2Proof + * @static + * @param {meerkat.IMix2Proof} message Mix2Proof message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Mix2Proof.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Mix2Proof message from the specified reader or buffer. + * @function decode + * @memberof meerkat.Mix2Proof + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.Mix2Proof} Mix2Proof + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Mix2Proof.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.Mix2Proof(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.firstMessage = $root.meerkat.Mix2Proof.FirstMessage.decode(reader, reader.uint32()); + break; + case 2: + message.finalMessage = $root.meerkat.Mix2Proof.FinalMessage.decode(reader, reader.uint32()); + break; + case 5: + message.location = $root.meerkat.Mix2Proof.Location.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Mix2Proof message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.Mix2Proof + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.Mix2Proof} Mix2Proof + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Mix2Proof.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Mix2Proof message. + * @function verify + * @memberof meerkat.Mix2Proof + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Mix2Proof.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.firstMessage != null && message.hasOwnProperty("firstMessage")) { + var error = $root.meerkat.Mix2Proof.FirstMessage.verify(message.firstMessage); + if (error) + return "firstMessage." + error; + } + if (message.finalMessage != null && message.hasOwnProperty("finalMessage")) { + error = $root.meerkat.Mix2Proof.FinalMessage.verify(message.finalMessage); + if (error) + return "finalMessage." + error; + } + if (message.location != null && message.hasOwnProperty("location")) { + error = $root.meerkat.Mix2Proof.Location.verify(message.location); + if (error) + return "location." + error; + } + return null; + }; + + /** + * Creates a Mix2Proof message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.Mix2Proof + * @static + * @param {Object.} object Plain object + * @returns {meerkat.Mix2Proof} Mix2Proof + */ + Mix2Proof.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.Mix2Proof) + return object; + var message = new $root.meerkat.Mix2Proof(); + if (object.firstMessage != null) { + if (typeof object.firstMessage !== "object") + throw TypeError(".meerkat.Mix2Proof.firstMessage: object expected"); + message.firstMessage = $root.meerkat.Mix2Proof.FirstMessage.fromObject(object.firstMessage); + } + if (object.finalMessage != null) { + if (typeof object.finalMessage !== "object") + throw TypeError(".meerkat.Mix2Proof.finalMessage: object expected"); + message.finalMessage = $root.meerkat.Mix2Proof.FinalMessage.fromObject(object.finalMessage); + } + if (object.location != null) { + if (typeof object.location !== "object") + throw TypeError(".meerkat.Mix2Proof.location: object expected"); + message.location = $root.meerkat.Mix2Proof.Location.fromObject(object.location); + } + return message; + }; + + /** + * Creates a plain object from a Mix2Proof message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.Mix2Proof + * @static + * @param {meerkat.Mix2Proof} message Mix2Proof + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Mix2Proof.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.firstMessage = null; + object.finalMessage = null; + object.location = null; + } + if (message.firstMessage != null && message.hasOwnProperty("firstMessage")) + object.firstMessage = $root.meerkat.Mix2Proof.FirstMessage.toObject(message.firstMessage, options); + if (message.finalMessage != null && message.hasOwnProperty("finalMessage")) + object.finalMessage = $root.meerkat.Mix2Proof.FinalMessage.toObject(message.finalMessage, options); + if (message.location != null && message.hasOwnProperty("location")) + object.location = $root.meerkat.Mix2Proof.Location.toObject(message.location, options); + return object; + }; + + /** + * Converts this Mix2Proof to JSON. + * @function toJSON + * @memberof meerkat.Mix2Proof + * @instance + * @returns {Object.} JSON object + */ + Mix2Proof.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + Mix2Proof.DlogProof = (function() { + + /** + * Properties of a DlogProof. + * @memberof meerkat.Mix2Proof + * @interface IDlogProof + */ + + /** + * Constructs a new DlogProof. + * @memberof meerkat.Mix2Proof + * @classdesc Represents a DlogProof. + * @constructor + * @param {meerkat.Mix2Proof.IDlogProof=} [properties] Properties to set + */ + function DlogProof(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new DlogProof instance using the specified properties. + * @function create + * @memberof meerkat.Mix2Proof.DlogProof + * @static + * @param {meerkat.Mix2Proof.IDlogProof=} [properties] Properties to set + * @returns {meerkat.Mix2Proof.DlogProof} DlogProof instance + */ + DlogProof.create = function create(properties) { + return new DlogProof(properties); + }; + + /** + * Encodes the specified DlogProof message. Does not implicitly {@link meerkat.Mix2Proof.DlogProof.verify|verify} messages. + * @function encode + * @memberof meerkat.Mix2Proof.DlogProof + * @static + * @param {meerkat.Mix2Proof.IDlogProof} message DlogProof message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DlogProof.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified DlogProof message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.DlogProof.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.Mix2Proof.DlogProof + * @static + * @param {meerkat.Mix2Proof.IDlogProof} message DlogProof message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DlogProof.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DlogProof message from the specified reader or buffer. + * @function decode + * @memberof meerkat.Mix2Proof.DlogProof + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.Mix2Proof.DlogProof} DlogProof + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DlogProof.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.Mix2Proof.DlogProof(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DlogProof message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.Mix2Proof.DlogProof + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.Mix2Proof.DlogProof} DlogProof + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DlogProof.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DlogProof message. + * @function verify + * @memberof meerkat.Mix2Proof.DlogProof + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DlogProof.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates a DlogProof message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.Mix2Proof.DlogProof + * @static + * @param {Object.} object Plain object + * @returns {meerkat.Mix2Proof.DlogProof} DlogProof + */ + DlogProof.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.Mix2Proof.DlogProof) + return object; + return new $root.meerkat.Mix2Proof.DlogProof(); + }; + + /** + * Creates a plain object from a DlogProof message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.Mix2Proof.DlogProof + * @static + * @param {meerkat.Mix2Proof.DlogProof} message DlogProof + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DlogProof.toObject = function toObject() { + return {}; + }; + + /** + * Converts this DlogProof to JSON. + * @function toJSON + * @memberof meerkat.Mix2Proof.DlogProof + * @instance + * @returns {Object.} JSON object + */ + DlogProof.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + DlogProof.FirstMessage = (function() { + + /** + * Properties of a FirstMessage. + * @memberof meerkat.Mix2Proof.DlogProof + * @interface IFirstMessage + * @property {meerkat.IGroupElement} [gr] FirstMessage gr + * @property {meerkat.IGroupElement} [hr] FirstMessage hr + */ + + /** + * Constructs a new FirstMessage. + * @memberof meerkat.Mix2Proof.DlogProof + * @classdesc Represents a FirstMessage. + * @constructor + * @param {meerkat.Mix2Proof.DlogProof.IFirstMessage=} [properties] Properties to set + */ + function FirstMessage(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FirstMessage gr. + * @member {(meerkat.IGroupElement|null|undefined)}gr + * @memberof meerkat.Mix2Proof.DlogProof.FirstMessage + * @instance + */ + FirstMessage.prototype.gr = null; + + /** + * FirstMessage hr. + * @member {(meerkat.IGroupElement|null|undefined)}hr + * @memberof meerkat.Mix2Proof.DlogProof.FirstMessage + * @instance + */ + FirstMessage.prototype.hr = null; + + /** + * Creates a new FirstMessage instance using the specified properties. + * @function create + * @memberof meerkat.Mix2Proof.DlogProof.FirstMessage + * @static + * @param {meerkat.Mix2Proof.DlogProof.IFirstMessage=} [properties] Properties to set + * @returns {meerkat.Mix2Proof.DlogProof.FirstMessage} FirstMessage instance + */ + FirstMessage.create = function create(properties) { + return new FirstMessage(properties); + }; + + /** + * Encodes the specified FirstMessage message. Does not implicitly {@link meerkat.Mix2Proof.DlogProof.FirstMessage.verify|verify} messages. + * @function encode + * @memberof meerkat.Mix2Proof.DlogProof.FirstMessage + * @static + * @param {meerkat.Mix2Proof.DlogProof.IFirstMessage} message FirstMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FirstMessage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.gr != null && message.hasOwnProperty("gr")) + $root.meerkat.GroupElement.encode(message.gr, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.hr != null && message.hasOwnProperty("hr")) + $root.meerkat.GroupElement.encode(message.hr, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified FirstMessage message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.DlogProof.FirstMessage.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.Mix2Proof.DlogProof.FirstMessage + * @static + * @param {meerkat.Mix2Proof.DlogProof.IFirstMessage} message FirstMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FirstMessage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FirstMessage message from the specified reader or buffer. + * @function decode + * @memberof meerkat.Mix2Proof.DlogProof.FirstMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.Mix2Proof.DlogProof.FirstMessage} FirstMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FirstMessage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.Mix2Proof.DlogProof.FirstMessage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.gr = $root.meerkat.GroupElement.decode(reader, reader.uint32()); + break; + case 2: + message.hr = $root.meerkat.GroupElement.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FirstMessage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.Mix2Proof.DlogProof.FirstMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.Mix2Proof.DlogProof.FirstMessage} FirstMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FirstMessage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FirstMessage message. + * @function verify + * @memberof meerkat.Mix2Proof.DlogProof.FirstMessage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FirstMessage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.gr != null && message.hasOwnProperty("gr")) { + var error = $root.meerkat.GroupElement.verify(message.gr); + if (error) + return "gr." + error; + } + if (message.hr != null && message.hasOwnProperty("hr")) { + error = $root.meerkat.GroupElement.verify(message.hr); + if (error) + return "hr." + error; + } + return null; + }; + + /** + * Creates a FirstMessage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.Mix2Proof.DlogProof.FirstMessage + * @static + * @param {Object.} object Plain object + * @returns {meerkat.Mix2Proof.DlogProof.FirstMessage} FirstMessage + */ + FirstMessage.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.Mix2Proof.DlogProof.FirstMessage) + return object; + var message = new $root.meerkat.Mix2Proof.DlogProof.FirstMessage(); + if (object.gr != null) { + if (typeof object.gr !== "object") + throw TypeError(".meerkat.Mix2Proof.DlogProof.FirstMessage.gr: object expected"); + message.gr = $root.meerkat.GroupElement.fromObject(object.gr); + } + if (object.hr != null) { + if (typeof object.hr !== "object") + throw TypeError(".meerkat.Mix2Proof.DlogProof.FirstMessage.hr: object expected"); + message.hr = $root.meerkat.GroupElement.fromObject(object.hr); + } + return message; + }; + + /** + * Creates a plain object from a FirstMessage message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.Mix2Proof.DlogProof.FirstMessage + * @static + * @param {meerkat.Mix2Proof.DlogProof.FirstMessage} message FirstMessage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FirstMessage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.gr = null; + object.hr = null; + } + if (message.gr != null && message.hasOwnProperty("gr")) + object.gr = $root.meerkat.GroupElement.toObject(message.gr, options); + if (message.hr != null && message.hasOwnProperty("hr")) + object.hr = $root.meerkat.GroupElement.toObject(message.hr, options); + return object; + }; + + /** + * Converts this FirstMessage to JSON. + * @function toJSON + * @memberof meerkat.Mix2Proof.DlogProof.FirstMessage + * @instance + * @returns {Object.} JSON object + */ + FirstMessage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return FirstMessage; + })(); + + DlogProof.FinalMessage = (function() { + + /** + * Properties of a FinalMessage. + * @memberof meerkat.Mix2Proof.DlogProof + * @interface IFinalMessage + * @property {meerkat.IBigInteger} [xcr] FinalMessage xcr + */ + + /** + * Constructs a new FinalMessage. + * @memberof meerkat.Mix2Proof.DlogProof + * @classdesc Represents a FinalMessage. + * @constructor + * @param {meerkat.Mix2Proof.DlogProof.IFinalMessage=} [properties] Properties to set + */ + function FinalMessage(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FinalMessage xcr. + * @member {(meerkat.IBigInteger|null|undefined)}xcr + * @memberof meerkat.Mix2Proof.DlogProof.FinalMessage + * @instance + */ + FinalMessage.prototype.xcr = null; + + /** + * Creates a new FinalMessage instance using the specified properties. + * @function create + * @memberof meerkat.Mix2Proof.DlogProof.FinalMessage + * @static + * @param {meerkat.Mix2Proof.DlogProof.IFinalMessage=} [properties] Properties to set + * @returns {meerkat.Mix2Proof.DlogProof.FinalMessage} FinalMessage instance + */ + FinalMessage.create = function create(properties) { + return new FinalMessage(properties); + }; + + /** + * Encodes the specified FinalMessage message. Does not implicitly {@link meerkat.Mix2Proof.DlogProof.FinalMessage.verify|verify} messages. + * @function encode + * @memberof meerkat.Mix2Proof.DlogProof.FinalMessage + * @static + * @param {meerkat.Mix2Proof.DlogProof.IFinalMessage} message FinalMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FinalMessage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.xcr != null && message.hasOwnProperty("xcr")) + $root.meerkat.BigInteger.encode(message.xcr, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified FinalMessage message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.DlogProof.FinalMessage.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.Mix2Proof.DlogProof.FinalMessage + * @static + * @param {meerkat.Mix2Proof.DlogProof.IFinalMessage} message FinalMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FinalMessage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FinalMessage message from the specified reader or buffer. + * @function decode + * @memberof meerkat.Mix2Proof.DlogProof.FinalMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.Mix2Proof.DlogProof.FinalMessage} FinalMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FinalMessage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.Mix2Proof.DlogProof.FinalMessage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.xcr = $root.meerkat.BigInteger.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FinalMessage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.Mix2Proof.DlogProof.FinalMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.Mix2Proof.DlogProof.FinalMessage} FinalMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FinalMessage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FinalMessage message. + * @function verify + * @memberof meerkat.Mix2Proof.DlogProof.FinalMessage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FinalMessage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.xcr != null && message.hasOwnProperty("xcr")) { + var error = $root.meerkat.BigInteger.verify(message.xcr); + if (error) + return "xcr." + error; + } + return null; + }; + + /** + * Creates a FinalMessage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.Mix2Proof.DlogProof.FinalMessage + * @static + * @param {Object.} object Plain object + * @returns {meerkat.Mix2Proof.DlogProof.FinalMessage} FinalMessage + */ + FinalMessage.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.Mix2Proof.DlogProof.FinalMessage) + return object; + var message = new $root.meerkat.Mix2Proof.DlogProof.FinalMessage(); + if (object.xcr != null) { + if (typeof object.xcr !== "object") + throw TypeError(".meerkat.Mix2Proof.DlogProof.FinalMessage.xcr: object expected"); + message.xcr = $root.meerkat.BigInteger.fromObject(object.xcr); + } + return message; + }; + + /** + * Creates a plain object from a FinalMessage message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.Mix2Proof.DlogProof.FinalMessage + * @static + * @param {meerkat.Mix2Proof.DlogProof.FinalMessage} message FinalMessage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FinalMessage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.xcr = null; + if (message.xcr != null && message.hasOwnProperty("xcr")) + object.xcr = $root.meerkat.BigInteger.toObject(message.xcr, options); + return object; + }; + + /** + * Converts this FinalMessage to JSON. + * @function toJSON + * @memberof meerkat.Mix2Proof.DlogProof.FinalMessage + * @instance + * @returns {Object.} JSON object + */ + FinalMessage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return FinalMessage; + })(); + + return DlogProof; + })(); + + Mix2Proof.AndProof = (function() { + + /** + * Properties of an AndProof. + * @memberof meerkat.Mix2Proof + * @interface IAndProof + */ + + /** + * Constructs a new AndProof. + * @memberof meerkat.Mix2Proof + * @classdesc Represents an AndProof. + * @constructor + * @param {meerkat.Mix2Proof.IAndProof=} [properties] Properties to set + */ + function AndProof(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new AndProof instance using the specified properties. + * @function create + * @memberof meerkat.Mix2Proof.AndProof + * @static + * @param {meerkat.Mix2Proof.IAndProof=} [properties] Properties to set + * @returns {meerkat.Mix2Proof.AndProof} AndProof instance + */ + AndProof.create = function create(properties) { + return new AndProof(properties); + }; + + /** + * Encodes the specified AndProof message. Does not implicitly {@link meerkat.Mix2Proof.AndProof.verify|verify} messages. + * @function encode + * @memberof meerkat.Mix2Proof.AndProof + * @static + * @param {meerkat.Mix2Proof.IAndProof} message AndProof message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AndProof.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified AndProof message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.AndProof.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.Mix2Proof.AndProof + * @static + * @param {meerkat.Mix2Proof.IAndProof} message AndProof message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AndProof.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AndProof message from the specified reader or buffer. + * @function decode + * @memberof meerkat.Mix2Proof.AndProof + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.Mix2Proof.AndProof} AndProof + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AndProof.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.Mix2Proof.AndProof(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AndProof message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.Mix2Proof.AndProof + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.Mix2Proof.AndProof} AndProof + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AndProof.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AndProof message. + * @function verify + * @memberof meerkat.Mix2Proof.AndProof + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AndProof.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates an AndProof message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.Mix2Proof.AndProof + * @static + * @param {Object.} object Plain object + * @returns {meerkat.Mix2Proof.AndProof} AndProof + */ + AndProof.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.Mix2Proof.AndProof) + return object; + return new $root.meerkat.Mix2Proof.AndProof(); + }; + + /** + * Creates a plain object from an AndProof message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.Mix2Proof.AndProof + * @static + * @param {meerkat.Mix2Proof.AndProof} message AndProof + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AndProof.toObject = function toObject() { + return {}; + }; + + /** + * Converts this AndProof to JSON. + * @function toJSON + * @memberof meerkat.Mix2Proof.AndProof + * @instance + * @returns {Object.} JSON object + */ + AndProof.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + AndProof.FirstMessage = (function() { + + /** + * Properties of a FirstMessage. + * @memberof meerkat.Mix2Proof.AndProof + * @interface IFirstMessage + * @property {meerkat.Mix2Proof.DlogProof.IFirstMessage} [clause0] FirstMessage clause0 + * @property {meerkat.Mix2Proof.DlogProof.IFirstMessage} [clause1] FirstMessage clause1 + */ + + /** + * Constructs a new FirstMessage. + * @memberof meerkat.Mix2Proof.AndProof + * @classdesc Represents a FirstMessage. + * @constructor + * @param {meerkat.Mix2Proof.AndProof.IFirstMessage=} [properties] Properties to set + */ + function FirstMessage(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FirstMessage clause0. + * @member {(meerkat.Mix2Proof.DlogProof.IFirstMessage|null|undefined)}clause0 + * @memberof meerkat.Mix2Proof.AndProof.FirstMessage + * @instance + */ + FirstMessage.prototype.clause0 = null; + + /** + * FirstMessage clause1. + * @member {(meerkat.Mix2Proof.DlogProof.IFirstMessage|null|undefined)}clause1 + * @memberof meerkat.Mix2Proof.AndProof.FirstMessage + * @instance + */ + FirstMessage.prototype.clause1 = null; + + /** + * Creates a new FirstMessage instance using the specified properties. + * @function create + * @memberof meerkat.Mix2Proof.AndProof.FirstMessage + * @static + * @param {meerkat.Mix2Proof.AndProof.IFirstMessage=} [properties] Properties to set + * @returns {meerkat.Mix2Proof.AndProof.FirstMessage} FirstMessage instance + */ + FirstMessage.create = function create(properties) { + return new FirstMessage(properties); + }; + + /** + * Encodes the specified FirstMessage message. Does not implicitly {@link meerkat.Mix2Proof.AndProof.FirstMessage.verify|verify} messages. + * @function encode + * @memberof meerkat.Mix2Proof.AndProof.FirstMessage + * @static + * @param {meerkat.Mix2Proof.AndProof.IFirstMessage} message FirstMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FirstMessage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.clause0 != null && message.hasOwnProperty("clause0")) + $root.meerkat.Mix2Proof.DlogProof.FirstMessage.encode(message.clause0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.clause1 != null && message.hasOwnProperty("clause1")) + $root.meerkat.Mix2Proof.DlogProof.FirstMessage.encode(message.clause1, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified FirstMessage message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.AndProof.FirstMessage.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.Mix2Proof.AndProof.FirstMessage + * @static + * @param {meerkat.Mix2Proof.AndProof.IFirstMessage} message FirstMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FirstMessage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FirstMessage message from the specified reader or buffer. + * @function decode + * @memberof meerkat.Mix2Proof.AndProof.FirstMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.Mix2Proof.AndProof.FirstMessage} FirstMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FirstMessage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.Mix2Proof.AndProof.FirstMessage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.clause0 = $root.meerkat.Mix2Proof.DlogProof.FirstMessage.decode(reader, reader.uint32()); + break; + case 2: + message.clause1 = $root.meerkat.Mix2Proof.DlogProof.FirstMessage.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FirstMessage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.Mix2Proof.AndProof.FirstMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.Mix2Proof.AndProof.FirstMessage} FirstMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FirstMessage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FirstMessage message. + * @function verify + * @memberof meerkat.Mix2Proof.AndProof.FirstMessage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FirstMessage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.clause0 != null && message.hasOwnProperty("clause0")) { + var error = $root.meerkat.Mix2Proof.DlogProof.FirstMessage.verify(message.clause0); + if (error) + return "clause0." + error; + } + if (message.clause1 != null && message.hasOwnProperty("clause1")) { + error = $root.meerkat.Mix2Proof.DlogProof.FirstMessage.verify(message.clause1); + if (error) + return "clause1." + error; + } + return null; + }; + + /** + * Creates a FirstMessage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.Mix2Proof.AndProof.FirstMessage + * @static + * @param {Object.} object Plain object + * @returns {meerkat.Mix2Proof.AndProof.FirstMessage} FirstMessage + */ + FirstMessage.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.Mix2Proof.AndProof.FirstMessage) + return object; + var message = new $root.meerkat.Mix2Proof.AndProof.FirstMessage(); + if (object.clause0 != null) { + if (typeof object.clause0 !== "object") + throw TypeError(".meerkat.Mix2Proof.AndProof.FirstMessage.clause0: object expected"); + message.clause0 = $root.meerkat.Mix2Proof.DlogProof.FirstMessage.fromObject(object.clause0); + } + if (object.clause1 != null) { + if (typeof object.clause1 !== "object") + throw TypeError(".meerkat.Mix2Proof.AndProof.FirstMessage.clause1: object expected"); + message.clause1 = $root.meerkat.Mix2Proof.DlogProof.FirstMessage.fromObject(object.clause1); + } + return message; + }; + + /** + * Creates a plain object from a FirstMessage message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.Mix2Proof.AndProof.FirstMessage + * @static + * @param {meerkat.Mix2Proof.AndProof.FirstMessage} message FirstMessage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FirstMessage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.clause0 = null; + object.clause1 = null; + } + if (message.clause0 != null && message.hasOwnProperty("clause0")) + object.clause0 = $root.meerkat.Mix2Proof.DlogProof.FirstMessage.toObject(message.clause0, options); + if (message.clause1 != null && message.hasOwnProperty("clause1")) + object.clause1 = $root.meerkat.Mix2Proof.DlogProof.FirstMessage.toObject(message.clause1, options); + return object; + }; + + /** + * Converts this FirstMessage to JSON. + * @function toJSON + * @memberof meerkat.Mix2Proof.AndProof.FirstMessage + * @instance + * @returns {Object.} JSON object + */ + FirstMessage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return FirstMessage; + })(); + + AndProof.FinalMessage = (function() { + + /** + * Properties of a FinalMessage. + * @memberof meerkat.Mix2Proof.AndProof + * @interface IFinalMessage + * @property {meerkat.Mix2Proof.DlogProof.IFinalMessage} [clause0] FinalMessage clause0 + * @property {meerkat.Mix2Proof.DlogProof.IFinalMessage} [clause1] FinalMessage clause1 + */ + + /** + * Constructs a new FinalMessage. + * @memberof meerkat.Mix2Proof.AndProof + * @classdesc Represents a FinalMessage. + * @constructor + * @param {meerkat.Mix2Proof.AndProof.IFinalMessage=} [properties] Properties to set + */ + function FinalMessage(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FinalMessage clause0. + * @member {(meerkat.Mix2Proof.DlogProof.IFinalMessage|null|undefined)}clause0 + * @memberof meerkat.Mix2Proof.AndProof.FinalMessage + * @instance + */ + FinalMessage.prototype.clause0 = null; + + /** + * FinalMessage clause1. + * @member {(meerkat.Mix2Proof.DlogProof.IFinalMessage|null|undefined)}clause1 + * @memberof meerkat.Mix2Proof.AndProof.FinalMessage + * @instance + */ + FinalMessage.prototype.clause1 = null; + + /** + * Creates a new FinalMessage instance using the specified properties. + * @function create + * @memberof meerkat.Mix2Proof.AndProof.FinalMessage + * @static + * @param {meerkat.Mix2Proof.AndProof.IFinalMessage=} [properties] Properties to set + * @returns {meerkat.Mix2Proof.AndProof.FinalMessage} FinalMessage instance + */ + FinalMessage.create = function create(properties) { + return new FinalMessage(properties); + }; + + /** + * Encodes the specified FinalMessage message. Does not implicitly {@link meerkat.Mix2Proof.AndProof.FinalMessage.verify|verify} messages. + * @function encode + * @memberof meerkat.Mix2Proof.AndProof.FinalMessage + * @static + * @param {meerkat.Mix2Proof.AndProof.IFinalMessage} message FinalMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FinalMessage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.clause0 != null && message.hasOwnProperty("clause0")) + $root.meerkat.Mix2Proof.DlogProof.FinalMessage.encode(message.clause0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.clause1 != null && message.hasOwnProperty("clause1")) + $root.meerkat.Mix2Proof.DlogProof.FinalMessage.encode(message.clause1, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified FinalMessage message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.AndProof.FinalMessage.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.Mix2Proof.AndProof.FinalMessage + * @static + * @param {meerkat.Mix2Proof.AndProof.IFinalMessage} message FinalMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FinalMessage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FinalMessage message from the specified reader or buffer. + * @function decode + * @memberof meerkat.Mix2Proof.AndProof.FinalMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.Mix2Proof.AndProof.FinalMessage} FinalMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FinalMessage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.Mix2Proof.AndProof.FinalMessage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.clause0 = $root.meerkat.Mix2Proof.DlogProof.FinalMessage.decode(reader, reader.uint32()); + break; + case 2: + message.clause1 = $root.meerkat.Mix2Proof.DlogProof.FinalMessage.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FinalMessage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.Mix2Proof.AndProof.FinalMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.Mix2Proof.AndProof.FinalMessage} FinalMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FinalMessage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FinalMessage message. + * @function verify + * @memberof meerkat.Mix2Proof.AndProof.FinalMessage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FinalMessage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.clause0 != null && message.hasOwnProperty("clause0")) { + var error = $root.meerkat.Mix2Proof.DlogProof.FinalMessage.verify(message.clause0); + if (error) + return "clause0." + error; + } + if (message.clause1 != null && message.hasOwnProperty("clause1")) { + error = $root.meerkat.Mix2Proof.DlogProof.FinalMessage.verify(message.clause1); + if (error) + return "clause1." + error; + } + return null; + }; + + /** + * Creates a FinalMessage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.Mix2Proof.AndProof.FinalMessage + * @static + * @param {Object.} object Plain object + * @returns {meerkat.Mix2Proof.AndProof.FinalMessage} FinalMessage + */ + FinalMessage.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.Mix2Proof.AndProof.FinalMessage) + return object; + var message = new $root.meerkat.Mix2Proof.AndProof.FinalMessage(); + if (object.clause0 != null) { + if (typeof object.clause0 !== "object") + throw TypeError(".meerkat.Mix2Proof.AndProof.FinalMessage.clause0: object expected"); + message.clause0 = $root.meerkat.Mix2Proof.DlogProof.FinalMessage.fromObject(object.clause0); + } + if (object.clause1 != null) { + if (typeof object.clause1 !== "object") + throw TypeError(".meerkat.Mix2Proof.AndProof.FinalMessage.clause1: object expected"); + message.clause1 = $root.meerkat.Mix2Proof.DlogProof.FinalMessage.fromObject(object.clause1); + } + return message; + }; + + /** + * Creates a plain object from a FinalMessage message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.Mix2Proof.AndProof.FinalMessage + * @static + * @param {meerkat.Mix2Proof.AndProof.FinalMessage} message FinalMessage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FinalMessage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.clause0 = null; + object.clause1 = null; + } + if (message.clause0 != null && message.hasOwnProperty("clause0")) + object.clause0 = $root.meerkat.Mix2Proof.DlogProof.FinalMessage.toObject(message.clause0, options); + if (message.clause1 != null && message.hasOwnProperty("clause1")) + object.clause1 = $root.meerkat.Mix2Proof.DlogProof.FinalMessage.toObject(message.clause1, options); + return object; + }; + + /** + * Converts this FinalMessage to JSON. + * @function toJSON + * @memberof meerkat.Mix2Proof.AndProof.FinalMessage + * @instance + * @returns {Object.} JSON object + */ + FinalMessage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return FinalMessage; + })(); + + return AndProof; + })(); + + Mix2Proof.FirstMessage = (function() { + + /** + * Properties of a FirstMessage. + * @memberof meerkat.Mix2Proof + * @interface IFirstMessage + * @property {meerkat.Mix2Proof.AndProof.IFirstMessage} [clause0] FirstMessage clause0 + * @property {meerkat.Mix2Proof.AndProof.IFirstMessage} [clause1] FirstMessage clause1 + */ + + /** + * Constructs a new FirstMessage. + * @memberof meerkat.Mix2Proof + * @classdesc Represents a FirstMessage. + * @constructor + * @param {meerkat.Mix2Proof.IFirstMessage=} [properties] Properties to set + */ + function FirstMessage(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FirstMessage clause0. + * @member {(meerkat.Mix2Proof.AndProof.IFirstMessage|null|undefined)}clause0 + * @memberof meerkat.Mix2Proof.FirstMessage + * @instance + */ + FirstMessage.prototype.clause0 = null; + + /** + * FirstMessage clause1. + * @member {(meerkat.Mix2Proof.AndProof.IFirstMessage|null|undefined)}clause1 + * @memberof meerkat.Mix2Proof.FirstMessage + * @instance + */ + FirstMessage.prototype.clause1 = null; + + /** + * Creates a new FirstMessage instance using the specified properties. + * @function create + * @memberof meerkat.Mix2Proof.FirstMessage + * @static + * @param {meerkat.Mix2Proof.IFirstMessage=} [properties] Properties to set + * @returns {meerkat.Mix2Proof.FirstMessage} FirstMessage instance + */ + FirstMessage.create = function create(properties) { + return new FirstMessage(properties); + }; + + /** + * Encodes the specified FirstMessage message. Does not implicitly {@link meerkat.Mix2Proof.FirstMessage.verify|verify} messages. + * @function encode + * @memberof meerkat.Mix2Proof.FirstMessage + * @static + * @param {meerkat.Mix2Proof.IFirstMessage} message FirstMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FirstMessage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.clause0 != null && message.hasOwnProperty("clause0")) + $root.meerkat.Mix2Proof.AndProof.FirstMessage.encode(message.clause0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.clause1 != null && message.hasOwnProperty("clause1")) + $root.meerkat.Mix2Proof.AndProof.FirstMessage.encode(message.clause1, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified FirstMessage message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.FirstMessage.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.Mix2Proof.FirstMessage + * @static + * @param {meerkat.Mix2Proof.IFirstMessage} message FirstMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FirstMessage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FirstMessage message from the specified reader or buffer. + * @function decode + * @memberof meerkat.Mix2Proof.FirstMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.Mix2Proof.FirstMessage} FirstMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FirstMessage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.Mix2Proof.FirstMessage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.clause0 = $root.meerkat.Mix2Proof.AndProof.FirstMessage.decode(reader, reader.uint32()); + break; + case 2: + message.clause1 = $root.meerkat.Mix2Proof.AndProof.FirstMessage.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FirstMessage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.Mix2Proof.FirstMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.Mix2Proof.FirstMessage} FirstMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FirstMessage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FirstMessage message. + * @function verify + * @memberof meerkat.Mix2Proof.FirstMessage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FirstMessage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.clause0 != null && message.hasOwnProperty("clause0")) { + var error = $root.meerkat.Mix2Proof.AndProof.FirstMessage.verify(message.clause0); + if (error) + return "clause0." + error; + } + if (message.clause1 != null && message.hasOwnProperty("clause1")) { + error = $root.meerkat.Mix2Proof.AndProof.FirstMessage.verify(message.clause1); + if (error) + return "clause1." + error; + } + return null; + }; + + /** + * Creates a FirstMessage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.Mix2Proof.FirstMessage + * @static + * @param {Object.} object Plain object + * @returns {meerkat.Mix2Proof.FirstMessage} FirstMessage + */ + FirstMessage.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.Mix2Proof.FirstMessage) + return object; + var message = new $root.meerkat.Mix2Proof.FirstMessage(); + if (object.clause0 != null) { + if (typeof object.clause0 !== "object") + throw TypeError(".meerkat.Mix2Proof.FirstMessage.clause0: object expected"); + message.clause0 = $root.meerkat.Mix2Proof.AndProof.FirstMessage.fromObject(object.clause0); + } + if (object.clause1 != null) { + if (typeof object.clause1 !== "object") + throw TypeError(".meerkat.Mix2Proof.FirstMessage.clause1: object expected"); + message.clause1 = $root.meerkat.Mix2Proof.AndProof.FirstMessage.fromObject(object.clause1); + } + return message; + }; + + /** + * Creates a plain object from a FirstMessage message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.Mix2Proof.FirstMessage + * @static + * @param {meerkat.Mix2Proof.FirstMessage} message FirstMessage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FirstMessage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.clause0 = null; + object.clause1 = null; + } + if (message.clause0 != null && message.hasOwnProperty("clause0")) + object.clause0 = $root.meerkat.Mix2Proof.AndProof.FirstMessage.toObject(message.clause0, options); + if (message.clause1 != null && message.hasOwnProperty("clause1")) + object.clause1 = $root.meerkat.Mix2Proof.AndProof.FirstMessage.toObject(message.clause1, options); + return object; + }; + + /** + * Converts this FirstMessage to JSON. + * @function toJSON + * @memberof meerkat.Mix2Proof.FirstMessage + * @instance + * @returns {Object.} JSON object + */ + FirstMessage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return FirstMessage; + })(); + + Mix2Proof.FinalMessage = (function() { + + /** + * Properties of a FinalMessage. + * @memberof meerkat.Mix2Proof + * @interface IFinalMessage + * @property {meerkat.Mix2Proof.AndProof.IFinalMessage} [clause0] FinalMessage clause0 + * @property {meerkat.Mix2Proof.AndProof.IFinalMessage} [clause1] FinalMessage clause1 + * @property {meerkat.IBigInteger} [c0] FinalMessage c0 + */ + + /** + * Constructs a new FinalMessage. + * @memberof meerkat.Mix2Proof + * @classdesc Represents a FinalMessage. + * @constructor + * @param {meerkat.Mix2Proof.IFinalMessage=} [properties] Properties to set + */ + function FinalMessage(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FinalMessage clause0. + * @member {(meerkat.Mix2Proof.AndProof.IFinalMessage|null|undefined)}clause0 + * @memberof meerkat.Mix2Proof.FinalMessage + * @instance + */ + FinalMessage.prototype.clause0 = null; + + /** + * FinalMessage clause1. + * @member {(meerkat.Mix2Proof.AndProof.IFinalMessage|null|undefined)}clause1 + * @memberof meerkat.Mix2Proof.FinalMessage + * @instance + */ + FinalMessage.prototype.clause1 = null; + + /** + * FinalMessage c0. + * @member {(meerkat.IBigInteger|null|undefined)}c0 + * @memberof meerkat.Mix2Proof.FinalMessage + * @instance + */ + FinalMessage.prototype.c0 = null; + + /** + * Creates a new FinalMessage instance using the specified properties. + * @function create + * @memberof meerkat.Mix2Proof.FinalMessage + * @static + * @param {meerkat.Mix2Proof.IFinalMessage=} [properties] Properties to set + * @returns {meerkat.Mix2Proof.FinalMessage} FinalMessage instance + */ + FinalMessage.create = function create(properties) { + return new FinalMessage(properties); + }; + + /** + * Encodes the specified FinalMessage message. Does not implicitly {@link meerkat.Mix2Proof.FinalMessage.verify|verify} messages. + * @function encode + * @memberof meerkat.Mix2Proof.FinalMessage + * @static + * @param {meerkat.Mix2Proof.IFinalMessage} message FinalMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FinalMessage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.clause0 != null && message.hasOwnProperty("clause0")) + $root.meerkat.Mix2Proof.AndProof.FinalMessage.encode(message.clause0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.clause1 != null && message.hasOwnProperty("clause1")) + $root.meerkat.Mix2Proof.AndProof.FinalMessage.encode(message.clause1, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.c0 != null && message.hasOwnProperty("c0")) + $root.meerkat.BigInteger.encode(message.c0, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified FinalMessage message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.FinalMessage.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.Mix2Proof.FinalMessage + * @static + * @param {meerkat.Mix2Proof.IFinalMessage} message FinalMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FinalMessage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FinalMessage message from the specified reader or buffer. + * @function decode + * @memberof meerkat.Mix2Proof.FinalMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.Mix2Proof.FinalMessage} FinalMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FinalMessage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.Mix2Proof.FinalMessage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.clause0 = $root.meerkat.Mix2Proof.AndProof.FinalMessage.decode(reader, reader.uint32()); + break; + case 2: + message.clause1 = $root.meerkat.Mix2Proof.AndProof.FinalMessage.decode(reader, reader.uint32()); + break; + case 3: + message.c0 = $root.meerkat.BigInteger.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FinalMessage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.Mix2Proof.FinalMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.Mix2Proof.FinalMessage} FinalMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FinalMessage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FinalMessage message. + * @function verify + * @memberof meerkat.Mix2Proof.FinalMessage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FinalMessage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.clause0 != null && message.hasOwnProperty("clause0")) { + var error = $root.meerkat.Mix2Proof.AndProof.FinalMessage.verify(message.clause0); + if (error) + return "clause0." + error; + } + if (message.clause1 != null && message.hasOwnProperty("clause1")) { + error = $root.meerkat.Mix2Proof.AndProof.FinalMessage.verify(message.clause1); + if (error) + return "clause1." + error; + } + if (message.c0 != null && message.hasOwnProperty("c0")) { + error = $root.meerkat.BigInteger.verify(message.c0); + if (error) + return "c0." + error; + } + return null; + }; + + /** + * Creates a FinalMessage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.Mix2Proof.FinalMessage + * @static + * @param {Object.} object Plain object + * @returns {meerkat.Mix2Proof.FinalMessage} FinalMessage + */ + FinalMessage.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.Mix2Proof.FinalMessage) + return object; + var message = new $root.meerkat.Mix2Proof.FinalMessage(); + if (object.clause0 != null) { + if (typeof object.clause0 !== "object") + throw TypeError(".meerkat.Mix2Proof.FinalMessage.clause0: object expected"); + message.clause0 = $root.meerkat.Mix2Proof.AndProof.FinalMessage.fromObject(object.clause0); + } + if (object.clause1 != null) { + if (typeof object.clause1 !== "object") + throw TypeError(".meerkat.Mix2Proof.FinalMessage.clause1: object expected"); + message.clause1 = $root.meerkat.Mix2Proof.AndProof.FinalMessage.fromObject(object.clause1); + } + if (object.c0 != null) { + if (typeof object.c0 !== "object") + throw TypeError(".meerkat.Mix2Proof.FinalMessage.c0: object expected"); + message.c0 = $root.meerkat.BigInteger.fromObject(object.c0); + } + return message; + }; + + /** + * Creates a plain object from a FinalMessage message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.Mix2Proof.FinalMessage + * @static + * @param {meerkat.Mix2Proof.FinalMessage} message FinalMessage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FinalMessage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.clause0 = null; + object.clause1 = null; + object.c0 = null; + } + if (message.clause0 != null && message.hasOwnProperty("clause0")) + object.clause0 = $root.meerkat.Mix2Proof.AndProof.FinalMessage.toObject(message.clause0, options); + if (message.clause1 != null && message.hasOwnProperty("clause1")) + object.clause1 = $root.meerkat.Mix2Proof.AndProof.FinalMessage.toObject(message.clause1, options); + if (message.c0 != null && message.hasOwnProperty("c0")) + object.c0 = $root.meerkat.BigInteger.toObject(message.c0, options); + return object; + }; + + /** + * Converts this FinalMessage to JSON. + * @function toJSON + * @memberof meerkat.Mix2Proof.FinalMessage + * @instance + * @returns {Object.} JSON object + */ + FinalMessage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return FinalMessage; + })(); + + Mix2Proof.Location = (function() { + + /** + * Properties of a Location. + * @memberof meerkat.Mix2Proof + * @interface ILocation + * @property {number} [layer] Location layer + * @property {number} [switchIdx] Location switchIdx + * @property {number} [out0] Location out0 + * @property {number} [out1] Location out1 + */ + + /** + * Constructs a new Location. + * @memberof meerkat.Mix2Proof + * @classdesc Represents a Location. + * @constructor + * @param {meerkat.Mix2Proof.ILocation=} [properties] Properties to set + */ + function Location(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Location layer. + * @member {number}layer + * @memberof meerkat.Mix2Proof.Location + * @instance + */ + Location.prototype.layer = 0; + + /** + * Location switchIdx. + * @member {number}switchIdx + * @memberof meerkat.Mix2Proof.Location + * @instance + */ + Location.prototype.switchIdx = 0; + + /** + * Location out0. + * @member {number}out0 + * @memberof meerkat.Mix2Proof.Location + * @instance + */ + Location.prototype.out0 = 0; + + /** + * Location out1. + * @member {number}out1 + * @memberof meerkat.Mix2Proof.Location + * @instance + */ + Location.prototype.out1 = 0; + + /** + * Creates a new Location instance using the specified properties. + * @function create + * @memberof meerkat.Mix2Proof.Location + * @static + * @param {meerkat.Mix2Proof.ILocation=} [properties] Properties to set + * @returns {meerkat.Mix2Proof.Location} Location instance + */ + Location.create = function create(properties) { + return new Location(properties); + }; + + /** + * Encodes the specified Location message. Does not implicitly {@link meerkat.Mix2Proof.Location.verify|verify} messages. + * @function encode + * @memberof meerkat.Mix2Proof.Location + * @static + * @param {meerkat.Mix2Proof.ILocation} message Location message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Location.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.layer != null && message.hasOwnProperty("layer")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.layer); + if (message.switchIdx != null && message.hasOwnProperty("switchIdx")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.switchIdx); + if (message.out0 != null && message.hasOwnProperty("out0")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.out0); + if (message.out1 != null && message.hasOwnProperty("out1")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.out1); + return writer; + }; + + /** + * Encodes the specified Location message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.Location.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.Mix2Proof.Location + * @static + * @param {meerkat.Mix2Proof.ILocation} message Location message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Location.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Location message from the specified reader or buffer. + * @function decode + * @memberof meerkat.Mix2Proof.Location + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.Mix2Proof.Location} Location + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Location.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.Mix2Proof.Location(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.layer = reader.int32(); + break; + case 2: + message.switchIdx = reader.int32(); + break; + case 3: + message.out0 = reader.int32(); + break; + case 4: + message.out1 = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Location message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.Mix2Proof.Location + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.Mix2Proof.Location} Location + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Location.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Location message. + * @function verify + * @memberof meerkat.Mix2Proof.Location + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Location.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.layer != null && message.hasOwnProperty("layer")) + if (!$util.isInteger(message.layer)) + return "layer: integer expected"; + if (message.switchIdx != null && message.hasOwnProperty("switchIdx")) + if (!$util.isInteger(message.switchIdx)) + return "switchIdx: integer expected"; + if (message.out0 != null && message.hasOwnProperty("out0")) + if (!$util.isInteger(message.out0)) + return "out0: integer expected"; + if (message.out1 != null && message.hasOwnProperty("out1")) + if (!$util.isInteger(message.out1)) + return "out1: integer expected"; + return null; + }; + + /** + * Creates a Location message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.Mix2Proof.Location + * @static + * @param {Object.} object Plain object + * @returns {meerkat.Mix2Proof.Location} Location + */ + Location.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.Mix2Proof.Location) + return object; + var message = new $root.meerkat.Mix2Proof.Location(); + if (object.layer != null) + message.layer = object.layer | 0; + if (object.switchIdx != null) + message.switchIdx = object.switchIdx | 0; + if (object.out0 != null) + message.out0 = object.out0 | 0; + if (object.out1 != null) + message.out1 = object.out1 | 0; + return message; + }; + + /** + * Creates a plain object from a Location message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.Mix2Proof.Location + * @static + * @param {meerkat.Mix2Proof.Location} message Location + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Location.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.layer = 0; + object.switchIdx = 0; + object.out0 = 0; + object.out1 = 0; + } + if (message.layer != null && message.hasOwnProperty("layer")) + object.layer = message.layer; + if (message.switchIdx != null && message.hasOwnProperty("switchIdx")) + object.switchIdx = message.switchIdx; + if (message.out0 != null && message.hasOwnProperty("out0")) + object.out0 = message.out0; + if (message.out1 != null && message.hasOwnProperty("out1")) + object.out1 = message.out1; + return object; + }; + + /** + * Converts this Location to JSON. + * @function toJSON + * @memberof meerkat.Mix2Proof.Location + * @instance + * @returns {Object.} JSON object + */ + Location.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Location; + })(); + + return Mix2Proof; + })(); + + meerkat.ConnectionServerData = (function() { + + /** + * Properties of a ConnectionServerData. + * @memberof meerkat + * @interface IConnectionServerData + * @property {string} [serverUrl] ConnectionServerData serverUrl + * @property {number|Long} [nonce] ConnectionServerData nonce + */ + + /** + * Constructs a new ConnectionServerData. + * @memberof meerkat + * @classdesc Represents a ConnectionServerData. + * @constructor + * @param {meerkat.IConnectionServerData=} [properties] Properties to set + */ + function ConnectionServerData(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ConnectionServerData serverUrl. + * @member {string}serverUrl + * @memberof meerkat.ConnectionServerData + * @instance + */ + ConnectionServerData.prototype.serverUrl = ""; + + /** + * ConnectionServerData nonce. + * @member {number|Long}nonce + * @memberof meerkat.ConnectionServerData + * @instance + */ + ConnectionServerData.prototype.nonce = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * Creates a new ConnectionServerData instance using the specified properties. + * @function create + * @memberof meerkat.ConnectionServerData + * @static + * @param {meerkat.IConnectionServerData=} [properties] Properties to set + * @returns {meerkat.ConnectionServerData} ConnectionServerData instance + */ + ConnectionServerData.create = function create(properties) { + return new ConnectionServerData(properties); + }; + + /** + * Encodes the specified ConnectionServerData message. Does not implicitly {@link meerkat.ConnectionServerData.verify|verify} messages. + * @function encode + * @memberof meerkat.ConnectionServerData + * @static + * @param {meerkat.IConnectionServerData} message ConnectionServerData message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConnectionServerData.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.serverUrl != null && message.hasOwnProperty("serverUrl")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.serverUrl); + if (message.nonce != null && message.hasOwnProperty("nonce")) + writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.nonce); + return writer; + }; + + /** + * Encodes the specified ConnectionServerData message, length delimited. Does not implicitly {@link meerkat.ConnectionServerData.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.ConnectionServerData + * @static + * @param {meerkat.IConnectionServerData} message ConnectionServerData message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConnectionServerData.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ConnectionServerData message from the specified reader or buffer. + * @function decode + * @memberof meerkat.ConnectionServerData + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.ConnectionServerData} ConnectionServerData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConnectionServerData.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.ConnectionServerData(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.serverUrl = reader.string(); + break; + case 2: + message.nonce = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ConnectionServerData message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.ConnectionServerData + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.ConnectionServerData} ConnectionServerData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConnectionServerData.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ConnectionServerData message. + * @function verify + * @memberof meerkat.ConnectionServerData + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ConnectionServerData.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.serverUrl != null && message.hasOwnProperty("serverUrl")) + if (!$util.isString(message.serverUrl)) + return "serverUrl: string expected"; + if (message.nonce != null && message.hasOwnProperty("nonce")) + if (!$util.isInteger(message.nonce) && !(message.nonce && $util.isInteger(message.nonce.low) && $util.isInteger(message.nonce.high))) + return "nonce: integer|Long expected"; + return null; + }; + + /** + * Creates a ConnectionServerData message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.ConnectionServerData + * @static + * @param {Object.} object Plain object + * @returns {meerkat.ConnectionServerData} ConnectionServerData + */ + ConnectionServerData.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.ConnectionServerData) + return object; + var message = new $root.meerkat.ConnectionServerData(); + if (object.serverUrl != null) + message.serverUrl = String(object.serverUrl); + if (object.nonce != null) + if ($util.Long) + (message.nonce = $util.Long.fromValue(object.nonce)).unsigned = true; + else if (typeof object.nonce === "string") + message.nonce = parseInt(object.nonce, 10); + else if (typeof object.nonce === "number") + message.nonce = object.nonce; + else if (typeof object.nonce === "object") + message.nonce = new $util.LongBits(object.nonce.low >>> 0, object.nonce.high >>> 0).toNumber(true); + return message; + }; + + /** + * Creates a plain object from a ConnectionServerData message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.ConnectionServerData + * @static + * @param {meerkat.ConnectionServerData} message ConnectionServerData + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ConnectionServerData.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.serverUrl = ""; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.nonce = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.nonce = options.longs === String ? "0" : 0; + } + if (message.serverUrl != null && message.hasOwnProperty("serverUrl")) + object.serverUrl = message.serverUrl; + if (message.nonce != null && message.hasOwnProperty("nonce")) + if (typeof message.nonce === "number") + object.nonce = options.longs === String ? String(message.nonce) : message.nonce; + else + object.nonce = options.longs === String ? $util.Long.prototype.toString.call(message.nonce) : options.longs === Number ? new $util.LongBits(message.nonce.low >>> 0, message.nonce.high >>> 0).toNumber(true) : message.nonce; + return object; + }; + + /** + * Converts this ConnectionServerData to JSON. + * @function toJSON + * @memberof meerkat.ConnectionServerData + * @instance + * @returns {Object.} JSON object + */ + ConnectionServerData.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ConnectionServerData; + })(); + + meerkat.ConnectionClientData = (function() { + + /** + * Properties of a ConnectionClientData. + * @memberof meerkat + * @interface IConnectionClientData + * @property {Uint8Array} [scannerId] ConnectionClientData scannerId + * @property {meerkat.ISignatureVerificationKey} [scannerPK] ConnectionClientData scannerPK + * @property {number|Long} [nonce] ConnectionClientData nonce + */ + + /** + * Constructs a new ConnectionClientData. + * @memberof meerkat + * @classdesc Represents a ConnectionClientData. + * @constructor + * @param {meerkat.IConnectionClientData=} [properties] Properties to set + */ + function ConnectionClientData(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ConnectionClientData scannerId. + * @member {Uint8Array}scannerId + * @memberof meerkat.ConnectionClientData + * @instance + */ + ConnectionClientData.prototype.scannerId = $util.newBuffer([]); + + /** + * ConnectionClientData scannerPK. + * @member {(meerkat.ISignatureVerificationKey|null|undefined)}scannerPK + * @memberof meerkat.ConnectionClientData + * @instance + */ + ConnectionClientData.prototype.scannerPK = null; + + /** + * ConnectionClientData nonce. + * @member {number|Long}nonce + * @memberof meerkat.ConnectionClientData + * @instance + */ + ConnectionClientData.prototype.nonce = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * ConnectionClientData id. + * @member {string|undefined} id + * @memberof meerkat.ConnectionClientData + * @instance + */ + Object.defineProperty(ConnectionClientData.prototype, "id", { + get: $util.oneOfGetter($oneOfFields = ["scannerId", "scannerPK"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new ConnectionClientData instance using the specified properties. + * @function create + * @memberof meerkat.ConnectionClientData + * @static + * @param {meerkat.IConnectionClientData=} [properties] Properties to set + * @returns {meerkat.ConnectionClientData} ConnectionClientData instance + */ + ConnectionClientData.create = function create(properties) { + return new ConnectionClientData(properties); + }; + + /** + * Encodes the specified ConnectionClientData message. Does not implicitly {@link meerkat.ConnectionClientData.verify|verify} messages. + * @function encode + * @memberof meerkat.ConnectionClientData + * @static + * @param {meerkat.IConnectionClientData} message ConnectionClientData message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConnectionClientData.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.scannerId != null && message.hasOwnProperty("scannerId")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.scannerId); + if (message.scannerPK != null && message.hasOwnProperty("scannerPK")) + $root.meerkat.SignatureVerificationKey.encode(message.scannerPK, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.nonce != null && message.hasOwnProperty("nonce")) + writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.nonce); + return writer; + }; + + /** + * Encodes the specified ConnectionClientData message, length delimited. Does not implicitly {@link meerkat.ConnectionClientData.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.ConnectionClientData + * @static + * @param {meerkat.IConnectionClientData} message ConnectionClientData message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConnectionClientData.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ConnectionClientData message from the specified reader or buffer. + * @function decode + * @memberof meerkat.ConnectionClientData + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.ConnectionClientData} ConnectionClientData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConnectionClientData.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.ConnectionClientData(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.scannerId = reader.bytes(); + break; + case 2: + message.scannerPK = $root.meerkat.SignatureVerificationKey.decode(reader, reader.uint32()); + break; + case 3: + message.nonce = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ConnectionClientData message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.ConnectionClientData + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.ConnectionClientData} ConnectionClientData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConnectionClientData.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ConnectionClientData message. + * @function verify + * @memberof meerkat.ConnectionClientData + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ConnectionClientData.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.scannerId != null && message.hasOwnProperty("scannerId")) { + properties.id = 1; + if (!(message.scannerId && typeof message.scannerId.length === "number" || $util.isString(message.scannerId))) + return "scannerId: buffer expected"; + } + if (message.scannerPK != null && message.hasOwnProperty("scannerPK")) { + if (properties.id === 1) + return "id: multiple values"; + properties.id = 1; + var error = $root.meerkat.SignatureVerificationKey.verify(message.scannerPK); + if (error) + return "scannerPK." + error; + } + if (message.nonce != null && message.hasOwnProperty("nonce")) + if (!$util.isInteger(message.nonce) && !(message.nonce && $util.isInteger(message.nonce.low) && $util.isInteger(message.nonce.high))) + return "nonce: integer|Long expected"; + return null; + }; + + /** + * Creates a ConnectionClientData message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.ConnectionClientData + * @static + * @param {Object.} object Plain object + * @returns {meerkat.ConnectionClientData} ConnectionClientData + */ + ConnectionClientData.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.ConnectionClientData) + return object; + var message = new $root.meerkat.ConnectionClientData(); + if (object.scannerId != null) + if (typeof object.scannerId === "string") + $util.base64.decode(object.scannerId, message.scannerId = $util.newBuffer($util.base64.length(object.scannerId)), 0); + else if (object.scannerId.length) + message.scannerId = object.scannerId; + if (object.scannerPK != null) { + if (typeof object.scannerPK !== "object") + throw TypeError(".meerkat.ConnectionClientData.scannerPK: object expected"); + message.scannerPK = $root.meerkat.SignatureVerificationKey.fromObject(object.scannerPK); + } + if (object.nonce != null) + if ($util.Long) + (message.nonce = $util.Long.fromValue(object.nonce)).unsigned = true; + else if (typeof object.nonce === "string") + message.nonce = parseInt(object.nonce, 10); + else if (typeof object.nonce === "number") + message.nonce = object.nonce; + else if (typeof object.nonce === "object") + message.nonce = new $util.LongBits(object.nonce.low >>> 0, object.nonce.high >>> 0).toNumber(true); + return message; + }; + + /** + * Creates a plain object from a ConnectionClientData message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.ConnectionClientData + * @static + * @param {meerkat.ConnectionClientData} message ConnectionClientData + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ConnectionClientData.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.nonce = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.nonce = options.longs === String ? "0" : 0; + if (message.scannerId != null && message.hasOwnProperty("scannerId")) { + object.scannerId = options.bytes === String ? $util.base64.encode(message.scannerId, 0, message.scannerId.length) : options.bytes === Array ? Array.prototype.slice.call(message.scannerId) : message.scannerId; + if (options.oneofs) + object.id = "scannerId"; + } + if (message.scannerPK != null && message.hasOwnProperty("scannerPK")) { + object.scannerPK = $root.meerkat.SignatureVerificationKey.toObject(message.scannerPK, options); + if (options.oneofs) + object.id = "scannerPK"; + } + if (message.nonce != null && message.hasOwnProperty("nonce")) + if (typeof message.nonce === "number") + object.nonce = options.longs === String ? String(message.nonce) : message.nonce; + else + object.nonce = options.longs === String ? $util.Long.prototype.toString.call(message.nonce) : options.longs === Number ? new $util.LongBits(message.nonce.low >>> 0, message.nonce.high >>> 0).toNumber(true) : message.nonce; + return object; + }; + + /** + * Converts this ConnectionClientData to JSON. + * @function toJSON + * @memberof meerkat.ConnectionClientData + * @instance + * @returns {Object.} JSON object + */ + ConnectionClientData.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ConnectionClientData; + })(); + + meerkat.ScannedBallot = (function() { + + /** + * Properties of a ScannedBallot. + * @memberof meerkat + * @interface IScannedBallot + * @property {Uint8Array} [channel] ScannedBallot channel + * @property {meerkat.ISignedEncryptedBallot} [signedEncryptedBallot] ScannedBallot signedEncryptedBallot + */ + + /** + * Constructs a new ScannedBallot. + * @memberof meerkat + * @classdesc Represents a ScannedBallot. + * @constructor + * @param {meerkat.IScannedBallot=} [properties] Properties to set + */ + function ScannedBallot(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ScannedBallot channel. + * @member {Uint8Array}channel + * @memberof meerkat.ScannedBallot + * @instance + */ + ScannedBallot.prototype.channel = $util.newBuffer([]); + + /** + * ScannedBallot signedEncryptedBallot. + * @member {(meerkat.ISignedEncryptedBallot|null|undefined)}signedEncryptedBallot + * @memberof meerkat.ScannedBallot + * @instance + */ + ScannedBallot.prototype.signedEncryptedBallot = null; + + /** + * Creates a new ScannedBallot instance using the specified properties. + * @function create + * @memberof meerkat.ScannedBallot + * @static + * @param {meerkat.IScannedBallot=} [properties] Properties to set + * @returns {meerkat.ScannedBallot} ScannedBallot instance + */ + ScannedBallot.create = function create(properties) { + return new ScannedBallot(properties); + }; + + /** + * Encodes the specified ScannedBallot message. Does not implicitly {@link meerkat.ScannedBallot.verify|verify} messages. + * @function encode + * @memberof meerkat.ScannedBallot + * @static + * @param {meerkat.IScannedBallot} message ScannedBallot message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ScannedBallot.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.channel != null && message.hasOwnProperty("channel")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.channel); + if (message.signedEncryptedBallot != null && message.hasOwnProperty("signedEncryptedBallot")) + $root.meerkat.SignedEncryptedBallot.encode(message.signedEncryptedBallot, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ScannedBallot message, length delimited. Does not implicitly {@link meerkat.ScannedBallot.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.ScannedBallot + * @static + * @param {meerkat.IScannedBallot} message ScannedBallot message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ScannedBallot.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ScannedBallot message from the specified reader or buffer. + * @function decode + * @memberof meerkat.ScannedBallot + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.ScannedBallot} ScannedBallot + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ScannedBallot.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.ScannedBallot(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.channel = reader.bytes(); + break; + case 2: + message.signedEncryptedBallot = $root.meerkat.SignedEncryptedBallot.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ScannedBallot message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.ScannedBallot + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.ScannedBallot} ScannedBallot + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ScannedBallot.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ScannedBallot message. + * @function verify + * @memberof meerkat.ScannedBallot + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ScannedBallot.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.channel != null && message.hasOwnProperty("channel")) + if (!(message.channel && typeof message.channel.length === "number" || $util.isString(message.channel))) + return "channel: buffer expected"; + if (message.signedEncryptedBallot != null && message.hasOwnProperty("signedEncryptedBallot")) { + var error = $root.meerkat.SignedEncryptedBallot.verify(message.signedEncryptedBallot); + if (error) + return "signedEncryptedBallot." + error; + } + return null; + }; + + /** + * Creates a ScannedBallot message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.ScannedBallot + * @static + * @param {Object.} object Plain object + * @returns {meerkat.ScannedBallot} ScannedBallot + */ + ScannedBallot.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.ScannedBallot) + return object; + var message = new $root.meerkat.ScannedBallot(); + if (object.channel != null) + if (typeof object.channel === "string") + $util.base64.decode(object.channel, message.channel = $util.newBuffer($util.base64.length(object.channel)), 0); + else if (object.channel.length) + message.channel = object.channel; + if (object.signedEncryptedBallot != null) { + if (typeof object.signedEncryptedBallot !== "object") + throw TypeError(".meerkat.ScannedBallot.signedEncryptedBallot: object expected"); + message.signedEncryptedBallot = $root.meerkat.SignedEncryptedBallot.fromObject(object.signedEncryptedBallot); + } + return message; + }; + + /** + * Creates a plain object from a ScannedBallot message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.ScannedBallot + * @static + * @param {meerkat.ScannedBallot} message ScannedBallot + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ScannedBallot.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.channel = options.bytes === String ? "" : []; + object.signedEncryptedBallot = null; + } + if (message.channel != null && message.hasOwnProperty("channel")) + object.channel = options.bytes === String ? $util.base64.encode(message.channel, 0, message.channel.length) : options.bytes === Array ? Array.prototype.slice.call(message.channel) : message.channel; + if (message.signedEncryptedBallot != null && message.hasOwnProperty("signedEncryptedBallot")) + object.signedEncryptedBallot = $root.meerkat.SignedEncryptedBallot.toObject(message.signedEncryptedBallot, options); + return object; + }; + + /** + * Converts this ScannedBallot to JSON. + * @function toJSON + * @memberof meerkat.ScannedBallot + * @instance + * @returns {Object.} JSON object + */ + ScannedBallot.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ScannedBallot; + })(); + + meerkat.ScanError = (function() { + + /** + * Properties of a ScanError. + * @memberof meerkat + * @interface IScanError + * @property {string} [msg] ScanError msg + */ + + /** + * Constructs a new ScanError. + * @memberof meerkat + * @classdesc Represents a ScanError. + * @constructor + * @param {meerkat.IScanError=} [properties] Properties to set + */ + function ScanError(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ScanError msg. + * @member {string}msg + * @memberof meerkat.ScanError + * @instance + */ + ScanError.prototype.msg = ""; + + /** + * Creates a new ScanError instance using the specified properties. + * @function create + * @memberof meerkat.ScanError + * @static + * @param {meerkat.IScanError=} [properties] Properties to set + * @returns {meerkat.ScanError} ScanError instance + */ + ScanError.create = function create(properties) { + return new ScanError(properties); + }; + + /** + * Encodes the specified ScanError message. Does not implicitly {@link meerkat.ScanError.verify|verify} messages. + * @function encode + * @memberof meerkat.ScanError + * @static + * @param {meerkat.IScanError} message ScanError message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ScanError.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.msg != null && message.hasOwnProperty("msg")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.msg); + return writer; + }; + + /** + * Encodes the specified ScanError message, length delimited. Does not implicitly {@link meerkat.ScanError.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.ScanError + * @static + * @param {meerkat.IScanError} message ScanError message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ScanError.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ScanError message from the specified reader or buffer. + * @function decode + * @memberof meerkat.ScanError + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.ScanError} ScanError + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ScanError.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.ScanError(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.msg = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ScanError message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.ScanError + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.ScanError} ScanError + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ScanError.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ScanError message. + * @function verify + * @memberof meerkat.ScanError + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ScanError.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.msg != null && message.hasOwnProperty("msg")) + if (!$util.isString(message.msg)) + return "msg: string expected"; + return null; + }; + + /** + * Creates a ScanError message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.ScanError + * @static + * @param {Object.} object Plain object + * @returns {meerkat.ScanError} ScanError + */ + ScanError.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.ScanError) + return object; + var message = new $root.meerkat.ScanError(); + if (object.msg != null) + message.msg = String(object.msg); + return message; + }; + + /** + * Creates a plain object from a ScanError message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.ScanError + * @static + * @param {meerkat.ScanError} message ScanError + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ScanError.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.msg = ""; + if (message.msg != null && message.hasOwnProperty("msg")) + object.msg = message.msg; + return object; + }; + + /** + * Converts this ScanError to JSON. + * @function toJSON + * @memberof meerkat.ScanError + * @instance + * @returns {Object.} JSON object + */ + ScanError.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ScanError; + })(); + + meerkat.ScannedData = (function() { + + /** + * Properties of a ScannedData. + * @memberof meerkat + * @interface IScannedData + * @property {meerkat.IScannedBallot} [ballot] ScannedData ballot + * @property {meerkat.IScanError} [error] ScannedData error + * @property {number|Long} [serial] ScannedData serial + * @property {Uint8Array} [scannerId] ScannedData scannerId + */ + + /** + * Constructs a new ScannedData. + * @memberof meerkat + * @classdesc Represents a ScannedData. + * @constructor + * @param {meerkat.IScannedData=} [properties] Properties to set + */ + function ScannedData(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ScannedData ballot. + * @member {(meerkat.IScannedBallot|null|undefined)}ballot + * @memberof meerkat.ScannedData + * @instance + */ + ScannedData.prototype.ballot = null; + + /** + * ScannedData error. + * @member {(meerkat.IScanError|null|undefined)}error + * @memberof meerkat.ScannedData + * @instance + */ + ScannedData.prototype.error = null; + + /** + * ScannedData serial. + * @member {number|Long}serial + * @memberof meerkat.ScannedData + * @instance + */ + ScannedData.prototype.serial = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * ScannedData scannerId. + * @member {Uint8Array}scannerId + * @memberof meerkat.ScannedData + * @instance + */ + ScannedData.prototype.scannerId = $util.newBuffer([]); + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * ScannedData data. + * @member {string|undefined} data + * @memberof meerkat.ScannedData + * @instance + */ + Object.defineProperty(ScannedData.prototype, "data", { + get: $util.oneOfGetter($oneOfFields = ["ballot", "error"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new ScannedData instance using the specified properties. + * @function create + * @memberof meerkat.ScannedData + * @static + * @param {meerkat.IScannedData=} [properties] Properties to set + * @returns {meerkat.ScannedData} ScannedData instance + */ + ScannedData.create = function create(properties) { + return new ScannedData(properties); + }; + + /** + * Encodes the specified ScannedData message. Does not implicitly {@link meerkat.ScannedData.verify|verify} messages. + * @function encode + * @memberof meerkat.ScannedData + * @static + * @param {meerkat.IScannedData} message ScannedData message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ScannedData.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.ballot != null && message.hasOwnProperty("ballot")) + $root.meerkat.ScannedBallot.encode(message.ballot, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.error != null && message.hasOwnProperty("error")) + $root.meerkat.ScanError.encode(message.error, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.serial != null && message.hasOwnProperty("serial")) + writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.serial); + if (message.scannerId != null && message.hasOwnProperty("scannerId")) + writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.scannerId); + return writer; + }; + + /** + * Encodes the specified ScannedData message, length delimited. Does not implicitly {@link meerkat.ScannedData.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.ScannedData + * @static + * @param {meerkat.IScannedData} message ScannedData message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ScannedData.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ScannedData message from the specified reader or buffer. + * @function decode + * @memberof meerkat.ScannedData + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.ScannedData} ScannedData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ScannedData.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.ScannedData(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 2: + message.ballot = $root.meerkat.ScannedBallot.decode(reader, reader.uint32()); + break; + case 3: + message.error = $root.meerkat.ScanError.decode(reader, reader.uint32()); + break; + case 4: + message.serial = reader.uint64(); + break; + case 5: + message.scannerId = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ScannedData message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.ScannedData + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.ScannedData} ScannedData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ScannedData.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ScannedData message. + * @function verify + * @memberof meerkat.ScannedData + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ScannedData.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.ballot != null && message.hasOwnProperty("ballot")) { + properties.data = 1; + var error = $root.meerkat.ScannedBallot.verify(message.ballot); + if (error) + return "ballot." + error; + } + if (message.error != null && message.hasOwnProperty("error")) { + if (properties.data === 1) + return "data: multiple values"; + properties.data = 1; + error = $root.meerkat.ScanError.verify(message.error); + if (error) + return "error." + error; + } + if (message.serial != null && message.hasOwnProperty("serial")) + if (!$util.isInteger(message.serial) && !(message.serial && $util.isInteger(message.serial.low) && $util.isInteger(message.serial.high))) + return "serial: integer|Long expected"; + if (message.scannerId != null && message.hasOwnProperty("scannerId")) + if (!(message.scannerId && typeof message.scannerId.length === "number" || $util.isString(message.scannerId))) + return "scannerId: buffer expected"; + return null; + }; + + /** + * Creates a ScannedData message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.ScannedData + * @static + * @param {Object.} object Plain object + * @returns {meerkat.ScannedData} ScannedData + */ + ScannedData.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.ScannedData) + return object; + var message = new $root.meerkat.ScannedData(); + if (object.ballot != null) { + if (typeof object.ballot !== "object") + throw TypeError(".meerkat.ScannedData.ballot: object expected"); + message.ballot = $root.meerkat.ScannedBallot.fromObject(object.ballot); + } + if (object.error != null) { + if (typeof object.error !== "object") + throw TypeError(".meerkat.ScannedData.error: object expected"); + message.error = $root.meerkat.ScanError.fromObject(object.error); + } + if (object.serial != null) + if ($util.Long) + (message.serial = $util.Long.fromValue(object.serial)).unsigned = true; + else if (typeof object.serial === "string") + message.serial = parseInt(object.serial, 10); + else if (typeof object.serial === "number") + message.serial = object.serial; + else if (typeof object.serial === "object") + message.serial = new $util.LongBits(object.serial.low >>> 0, object.serial.high >>> 0).toNumber(true); + if (object.scannerId != null) + if (typeof object.scannerId === "string") + $util.base64.decode(object.scannerId, message.scannerId = $util.newBuffer($util.base64.length(object.scannerId)), 0); + else if (object.scannerId.length) + message.scannerId = object.scannerId; + return message; + }; + + /** + * Creates a plain object from a ScannedData message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.ScannedData + * @static + * @param {meerkat.ScannedData} message ScannedData + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ScannedData.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.serial = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.serial = options.longs === String ? "0" : 0; + object.scannerId = options.bytes === String ? "" : []; + } + if (message.ballot != null && message.hasOwnProperty("ballot")) { + object.ballot = $root.meerkat.ScannedBallot.toObject(message.ballot, options); + if (options.oneofs) + object.data = "ballot"; + } + if (message.error != null && message.hasOwnProperty("error")) { + object.error = $root.meerkat.ScanError.toObject(message.error, options); + if (options.oneofs) + object.data = "error"; + } + if (message.serial != null && message.hasOwnProperty("serial")) + if (typeof message.serial === "number") + object.serial = options.longs === String ? String(message.serial) : message.serial; + else + object.serial = options.longs === String ? $util.Long.prototype.toString.call(message.serial) : options.longs === Number ? new $util.LongBits(message.serial.low >>> 0, message.serial.high >>> 0).toNumber(true) : message.serial; + if (message.scannerId != null && message.hasOwnProperty("scannerId")) + object.scannerId = options.bytes === String ? $util.base64.encode(message.scannerId, 0, message.scannerId.length) : options.bytes === Array ? Array.prototype.slice.call(message.scannerId) : message.scannerId; + return object; + }; + + /** + * Converts this ScannedData to JSON. + * @function toJSON + * @memberof meerkat.ScannedData + * @instance + * @returns {Object.} JSON object + */ + ScannedData.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ScannedData; + })(); + + meerkat.SignedScannedData = (function() { + + /** + * Properties of a SignedScannedData. + * @memberof meerkat + * @interface ISignedScannedData + * @property {meerkat.IScannedData} [data] SignedScannedData data + * @property {meerkat.ISignature} [scannerSig] SignedScannedData scannerSig + */ + + /** + * Constructs a new SignedScannedData. + * @memberof meerkat + * @classdesc Represents a SignedScannedData. + * @constructor + * @param {meerkat.ISignedScannedData=} [properties] Properties to set + */ + function SignedScannedData(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SignedScannedData data. + * @member {(meerkat.IScannedData|null|undefined)}data + * @memberof meerkat.SignedScannedData + * @instance + */ + SignedScannedData.prototype.data = null; + + /** + * SignedScannedData scannerSig. + * @member {(meerkat.ISignature|null|undefined)}scannerSig + * @memberof meerkat.SignedScannedData + * @instance + */ + SignedScannedData.prototype.scannerSig = null; + + /** + * Creates a new SignedScannedData instance using the specified properties. + * @function create + * @memberof meerkat.SignedScannedData + * @static + * @param {meerkat.ISignedScannedData=} [properties] Properties to set + * @returns {meerkat.SignedScannedData} SignedScannedData instance + */ + SignedScannedData.create = function create(properties) { + return new SignedScannedData(properties); + }; + + /** + * Encodes the specified SignedScannedData message. Does not implicitly {@link meerkat.SignedScannedData.verify|verify} messages. + * @function encode + * @memberof meerkat.SignedScannedData + * @static + * @param {meerkat.ISignedScannedData} message SignedScannedData message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SignedScannedData.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.data != null && message.hasOwnProperty("data")) + $root.meerkat.ScannedData.encode(message.data, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.scannerSig != null && message.hasOwnProperty("scannerSig")) + $root.meerkat.Signature.encode(message.scannerSig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified SignedScannedData message, length delimited. Does not implicitly {@link meerkat.SignedScannedData.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.SignedScannedData + * @static + * @param {meerkat.ISignedScannedData} message SignedScannedData message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SignedScannedData.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SignedScannedData message from the specified reader or buffer. + * @function decode + * @memberof meerkat.SignedScannedData + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.SignedScannedData} SignedScannedData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SignedScannedData.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.SignedScannedData(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.data = $root.meerkat.ScannedData.decode(reader, reader.uint32()); + break; + case 2: + message.scannerSig = $root.meerkat.Signature.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SignedScannedData message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.SignedScannedData + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.SignedScannedData} SignedScannedData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SignedScannedData.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SignedScannedData message. + * @function verify + * @memberof meerkat.SignedScannedData + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SignedScannedData.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.data != null && message.hasOwnProperty("data")) { + var error = $root.meerkat.ScannedData.verify(message.data); + if (error) + return "data." + error; + } + if (message.scannerSig != null && message.hasOwnProperty("scannerSig")) { + error = $root.meerkat.Signature.verify(message.scannerSig); + if (error) + return "scannerSig." + error; + } + return null; + }; + + /** + * Creates a SignedScannedData message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.SignedScannedData + * @static + * @param {Object.} object Plain object + * @returns {meerkat.SignedScannedData} SignedScannedData + */ + SignedScannedData.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.SignedScannedData) + return object; + var message = new $root.meerkat.SignedScannedData(); + if (object.data != null) { + if (typeof object.data !== "object") + throw TypeError(".meerkat.SignedScannedData.data: object expected"); + message.data = $root.meerkat.ScannedData.fromObject(object.data); + } + if (object.scannerSig != null) { + if (typeof object.scannerSig !== "object") + throw TypeError(".meerkat.SignedScannedData.scannerSig: object expected"); + message.scannerSig = $root.meerkat.Signature.fromObject(object.scannerSig); + } + return message; + }; + + /** + * Creates a plain object from a SignedScannedData message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.SignedScannedData + * @static + * @param {meerkat.SignedScannedData} message SignedScannedData + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SignedScannedData.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.data = null; + object.scannerSig = null; + } + if (message.data != null && message.hasOwnProperty("data")) + object.data = $root.meerkat.ScannedData.toObject(message.data, options); + if (message.scannerSig != null && message.hasOwnProperty("scannerSig")) + object.scannerSig = $root.meerkat.Signature.toObject(message.scannerSig, options); + return object; + }; + + /** + * Converts this SignedScannedData to JSON. + * @function toJSON + * @memberof meerkat.SignedScannedData + * @instance + * @returns {Object.} JSON object + */ + SignedScannedData.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return SignedScannedData; + })(); + + /** + * UIElementDataType enum. + * @enum {string} + * @property {number} TEXT=0 TEXT value + * @property {number} IMAGE=1 IMAGE value + * @property {number} VOICE=2 VOICE value + */ + meerkat.UIElementDataType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "TEXT"] = 0; + values[valuesById[1] = "IMAGE"] = 1; + values[valuesById[2] = "VOICE"] = 2; + return values; + })(); + + /** + * QuestionType enum. + * @enum {string} + * @property {number} MULTIPLE_CHOICE=0 MULTIPLE_CHOICE value + * @property {number} MULTIPLE_SELECTION=1 MULTIPLE_SELECTION value + * @property {number} ORDER=2 ORDER value + */ + meerkat.QuestionType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "MULTIPLE_CHOICE"] = 0; + values[valuesById[1] = "MULTIPLE_SELECTION"] = 1; + values[valuesById[2] = "ORDER"] = 2; + return values; + })(); + + meerkat.UIElement = (function() { + + /** + * Properties of a UIElement. + * @memberof meerkat + * @interface IUIElement + * @property {meerkat.UIElementDataType} [type] UIElement type + * @property {Uint8Array} [data] UIElement data + */ + + /** + * Constructs a new UIElement. + * @memberof meerkat + * @classdesc Represents a UIElement. + * @constructor + * @param {meerkat.IUIElement=} [properties] Properties to set + */ + function UIElement(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * UIElement type. + * @member {meerkat.UIElementDataType}type + * @memberof meerkat.UIElement + * @instance + */ + UIElement.prototype.type = 0; + + /** + * UIElement data. + * @member {Uint8Array}data + * @memberof meerkat.UIElement + * @instance + */ + UIElement.prototype.data = $util.newBuffer([]); + + /** + * Creates a new UIElement instance using the specified properties. + * @function create + * @memberof meerkat.UIElement + * @static + * @param {meerkat.IUIElement=} [properties] Properties to set + * @returns {meerkat.UIElement} UIElement instance + */ + UIElement.create = function create(properties) { + return new UIElement(properties); + }; + + /** + * Encodes the specified UIElement message. Does not implicitly {@link meerkat.UIElement.verify|verify} messages. + * @function encode + * @memberof meerkat.UIElement + * @static + * @param {meerkat.IUIElement} message UIElement message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UIElement.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); + if (message.data != null && message.hasOwnProperty("data")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.data); + return writer; + }; + + /** + * Encodes the specified UIElement message, length delimited. Does not implicitly {@link meerkat.UIElement.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.UIElement + * @static + * @param {meerkat.IUIElement} message UIElement message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UIElement.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a UIElement message from the specified reader or buffer. + * @function decode + * @memberof meerkat.UIElement + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.UIElement} UIElement + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UIElement.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.UIElement(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.type = reader.int32(); + break; + case 2: + message.data = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a UIElement message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.UIElement + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.UIElement} UIElement + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UIElement.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a UIElement message. + * @function verify + * @memberof meerkat.UIElement + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + UIElement.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.type != null && message.hasOwnProperty("type")) + switch (message.type) { + default: + return "type: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.data != null && message.hasOwnProperty("data")) + if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) + return "data: buffer expected"; + return null; + }; + + /** + * Creates a UIElement message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.UIElement + * @static + * @param {Object.} object Plain object + * @returns {meerkat.UIElement} UIElement + */ + UIElement.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.UIElement) + return object; + var message = new $root.meerkat.UIElement(); + switch (object.type) { + case "TEXT": + case 0: + message.type = 0; + break; + case "IMAGE": + case 1: + message.type = 1; + break; + case "VOICE": + case 2: + message.type = 2; + break; + } + if (object.data != null) + if (typeof object.data === "string") + $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); + else if (object.data.length) + message.data = object.data; + return message; + }; + + /** + * Creates a plain object from a UIElement message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.UIElement + * @static + * @param {meerkat.UIElement} message UIElement + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + UIElement.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type = options.enums === String ? "TEXT" : 0; + object.data = options.bytes === String ? "" : []; + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.meerkat.UIElementDataType[message.type] : message.type; + if (message.data != null && message.hasOwnProperty("data")) + object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; + return object; + }; + + /** + * Converts this UIElement to JSON. + * @function toJSON + * @memberof meerkat.UIElement + * @instance + * @returns {Object.} JSON object + */ + UIElement.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return UIElement; + })(); + + meerkat.BallotQuestion = (function() { + + /** + * Properties of a BallotQuestion. + * @memberof meerkat + * @interface IBallotQuestion + * @property {boolean} [isMandatory] BallotQuestion isMandatory + * @property {meerkat.IUIElement} [question] BallotQuestion question + * @property {meerkat.IUIElement} [description] BallotQuestion description + * @property {Array.} [answer] BallotQuestion answer + */ + + /** + * Constructs a new BallotQuestion. + * @memberof meerkat + * @classdesc Represents a BallotQuestion. + * @constructor + * @param {meerkat.IBallotQuestion=} [properties] Properties to set + */ + function BallotQuestion(properties) { + this.answer = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BallotQuestion isMandatory. + * @member {boolean}isMandatory + * @memberof meerkat.BallotQuestion + * @instance + */ + BallotQuestion.prototype.isMandatory = false; + + /** + * BallotQuestion question. + * @member {(meerkat.IUIElement|null|undefined)}question + * @memberof meerkat.BallotQuestion + * @instance + */ + BallotQuestion.prototype.question = null; + + /** + * BallotQuestion description. + * @member {(meerkat.IUIElement|null|undefined)}description + * @memberof meerkat.BallotQuestion + * @instance + */ + BallotQuestion.prototype.description = null; + + /** + * BallotQuestion answer. + * @member {Array.}answer + * @memberof meerkat.BallotQuestion + * @instance + */ + BallotQuestion.prototype.answer = $util.emptyArray; + + /** + * Creates a new BallotQuestion instance using the specified properties. + * @function create + * @memberof meerkat.BallotQuestion + * @static + * @param {meerkat.IBallotQuestion=} [properties] Properties to set + * @returns {meerkat.BallotQuestion} BallotQuestion instance + */ + BallotQuestion.create = function create(properties) { + return new BallotQuestion(properties); + }; + + /** + * Encodes the specified BallotQuestion message. Does not implicitly {@link meerkat.BallotQuestion.verify|verify} messages. + * @function encode + * @memberof meerkat.BallotQuestion + * @static + * @param {meerkat.IBallotQuestion} message BallotQuestion message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BallotQuestion.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.isMandatory != null && message.hasOwnProperty("isMandatory")) + writer.uint32(/* id 1, wireType 0 =*/8).bool(message.isMandatory); + if (message.question != null && message.hasOwnProperty("question")) + $root.meerkat.UIElement.encode(message.question, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.description != null && message.hasOwnProperty("description")) + $root.meerkat.UIElement.encode(message.description, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.answer != null && message.answer.length) + for (var i = 0; i < message.answer.length; ++i) + $root.meerkat.UIElement.encode(message.answer[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified BallotQuestion message, length delimited. Does not implicitly {@link meerkat.BallotQuestion.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.BallotQuestion + * @static + * @param {meerkat.IBallotQuestion} message BallotQuestion message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BallotQuestion.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BallotQuestion message from the specified reader or buffer. + * @function decode + * @memberof meerkat.BallotQuestion + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.BallotQuestion} BallotQuestion + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BallotQuestion.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.BallotQuestion(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.isMandatory = reader.bool(); + break; + case 2: + message.question = $root.meerkat.UIElement.decode(reader, reader.uint32()); + break; + case 3: + message.description = $root.meerkat.UIElement.decode(reader, reader.uint32()); + break; + case 4: + if (!(message.answer && message.answer.length)) + message.answer = []; + message.answer.push($root.meerkat.UIElement.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BallotQuestion message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.BallotQuestion + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.BallotQuestion} BallotQuestion + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BallotQuestion.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BallotQuestion message. + * @function verify + * @memberof meerkat.BallotQuestion + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BallotQuestion.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.isMandatory != null && message.hasOwnProperty("isMandatory")) + if (typeof message.isMandatory !== "boolean") + return "isMandatory: boolean expected"; + if (message.question != null && message.hasOwnProperty("question")) { + var error = $root.meerkat.UIElement.verify(message.question); + if (error) + return "question." + error; + } + if (message.description != null && message.hasOwnProperty("description")) { + error = $root.meerkat.UIElement.verify(message.description); + if (error) + return "description." + error; + } + if (message.answer != null && message.hasOwnProperty("answer")) { + if (!Array.isArray(message.answer)) + return "answer: array expected"; + for (var i = 0; i < message.answer.length; ++i) { + error = $root.meerkat.UIElement.verify(message.answer[i]); + if (error) + return "answer." + error; + } + } + return null; + }; + + /** + * Creates a BallotQuestion message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.BallotQuestion + * @static + * @param {Object.} object Plain object + * @returns {meerkat.BallotQuestion} BallotQuestion + */ + BallotQuestion.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.BallotQuestion) + return object; + var message = new $root.meerkat.BallotQuestion(); + if (object.isMandatory != null) + message.isMandatory = Boolean(object.isMandatory); + if (object.question != null) { + if (typeof object.question !== "object") + throw TypeError(".meerkat.BallotQuestion.question: object expected"); + message.question = $root.meerkat.UIElement.fromObject(object.question); + } + if (object.description != null) { + if (typeof object.description !== "object") + throw TypeError(".meerkat.BallotQuestion.description: object expected"); + message.description = $root.meerkat.UIElement.fromObject(object.description); + } + if (object.answer) { + if (!Array.isArray(object.answer)) + throw TypeError(".meerkat.BallotQuestion.answer: array expected"); + message.answer = []; + for (var i = 0; i < object.answer.length; ++i) { + if (typeof object.answer[i] !== "object") + throw TypeError(".meerkat.BallotQuestion.answer: object expected"); + message.answer[i] = $root.meerkat.UIElement.fromObject(object.answer[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a BallotQuestion message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.BallotQuestion + * @static + * @param {meerkat.BallotQuestion} message BallotQuestion + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BallotQuestion.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.answer = []; + if (options.defaults) { + object.isMandatory = false; + object.question = null; + object.description = null; + } + if (message.isMandatory != null && message.hasOwnProperty("isMandatory")) + object.isMandatory = message.isMandatory; + if (message.question != null && message.hasOwnProperty("question")) + object.question = $root.meerkat.UIElement.toObject(message.question, options); + if (message.description != null && message.hasOwnProperty("description")) + object.description = $root.meerkat.UIElement.toObject(message.description, options); + if (message.answer && message.answer.length) { + object.answer = []; + for (var j = 0; j < message.answer.length; ++j) + object.answer[j] = $root.meerkat.UIElement.toObject(message.answer[j], options); + } + return object; + }; + + /** + * Converts this BallotQuestion to JSON. + * @function toJSON + * @memberof meerkat.BallotQuestion + * @instance + * @returns {Object.} JSON object + */ + BallotQuestion.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BallotQuestion; + })(); + + meerkat.QuestionCluster = (function() { + + /** + * Properties of a QuestionCluster. + * @memberof meerkat + * @interface IQuestionCluster + * @property {meerkat.IUIElement} [clusterDescription] QuestionCluster clusterDescription + * @property {Array.} [questionIndex] QuestionCluster questionIndex + */ + + /** + * Constructs a new QuestionCluster. + * @memberof meerkat + * @classdesc Represents a QuestionCluster. + * @constructor + * @param {meerkat.IQuestionCluster=} [properties] Properties to set + */ + function QuestionCluster(properties) { + this.questionIndex = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * QuestionCluster clusterDescription. + * @member {(meerkat.IUIElement|null|undefined)}clusterDescription + * @memberof meerkat.QuestionCluster + * @instance + */ + QuestionCluster.prototype.clusterDescription = null; + + /** + * QuestionCluster questionIndex. + * @member {Array.}questionIndex + * @memberof meerkat.QuestionCluster + * @instance + */ + QuestionCluster.prototype.questionIndex = $util.emptyArray; + + /** + * Creates a new QuestionCluster instance using the specified properties. + * @function create + * @memberof meerkat.QuestionCluster + * @static + * @param {meerkat.IQuestionCluster=} [properties] Properties to set + * @returns {meerkat.QuestionCluster} QuestionCluster instance + */ + QuestionCluster.create = function create(properties) { + return new QuestionCluster(properties); + }; + + /** + * Encodes the specified QuestionCluster message. Does not implicitly {@link meerkat.QuestionCluster.verify|verify} messages. + * @function encode + * @memberof meerkat.QuestionCluster + * @static + * @param {meerkat.IQuestionCluster} message QuestionCluster message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + QuestionCluster.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.clusterDescription != null && message.hasOwnProperty("clusterDescription")) + $root.meerkat.UIElement.encode(message.clusterDescription, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.questionIndex != null && message.questionIndex.length) { + writer.uint32(/* id 2, wireType 2 =*/18).fork(); + for (var i = 0; i < message.questionIndex.length; ++i) + writer.int32(message.questionIndex[i]); + writer.ldelim(); + } + return writer; + }; + + /** + * Encodes the specified QuestionCluster message, length delimited. Does not implicitly {@link meerkat.QuestionCluster.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.QuestionCluster + * @static + * @param {meerkat.IQuestionCluster} message QuestionCluster message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + QuestionCluster.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a QuestionCluster message from the specified reader or buffer. + * @function decode + * @memberof meerkat.QuestionCluster + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.QuestionCluster} QuestionCluster + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + QuestionCluster.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.QuestionCluster(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.clusterDescription = $root.meerkat.UIElement.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.questionIndex && message.questionIndex.length)) + message.questionIndex = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.questionIndex.push(reader.int32()); + } else + message.questionIndex.push(reader.int32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a QuestionCluster message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.QuestionCluster + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.QuestionCluster} QuestionCluster + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + QuestionCluster.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a QuestionCluster message. + * @function verify + * @memberof meerkat.QuestionCluster + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + QuestionCluster.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.clusterDescription != null && message.hasOwnProperty("clusterDescription")) { + var error = $root.meerkat.UIElement.verify(message.clusterDescription); + if (error) + return "clusterDescription." + error; + } + if (message.questionIndex != null && message.hasOwnProperty("questionIndex")) { + if (!Array.isArray(message.questionIndex)) + return "questionIndex: array expected"; + for (var i = 0; i < message.questionIndex.length; ++i) + if (!$util.isInteger(message.questionIndex[i])) + return "questionIndex: integer[] expected"; + } + return null; + }; + + /** + * Creates a QuestionCluster message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.QuestionCluster + * @static + * @param {Object.} object Plain object + * @returns {meerkat.QuestionCluster} QuestionCluster + */ + QuestionCluster.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.QuestionCluster) + return object; + var message = new $root.meerkat.QuestionCluster(); + if (object.clusterDescription != null) { + if (typeof object.clusterDescription !== "object") + throw TypeError(".meerkat.QuestionCluster.clusterDescription: object expected"); + message.clusterDescription = $root.meerkat.UIElement.fromObject(object.clusterDescription); + } + if (object.questionIndex) { + if (!Array.isArray(object.questionIndex)) + throw TypeError(".meerkat.QuestionCluster.questionIndex: array expected"); + message.questionIndex = []; + for (var i = 0; i < object.questionIndex.length; ++i) + message.questionIndex[i] = object.questionIndex[i] | 0; + } + return message; + }; + + /** + * Creates a plain object from a QuestionCluster message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.QuestionCluster + * @static + * @param {meerkat.QuestionCluster} message QuestionCluster + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + QuestionCluster.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.questionIndex = []; + if (options.defaults) + object.clusterDescription = null; + if (message.clusterDescription != null && message.hasOwnProperty("clusterDescription")) + object.clusterDescription = $root.meerkat.UIElement.toObject(message.clusterDescription, options); + if (message.questionIndex && message.questionIndex.length) { + object.questionIndex = []; + for (var j = 0; j < message.questionIndex.length; ++j) + object.questionIndex[j] = message.questionIndex[j]; + } + return object; + }; + + /** + * Converts this QuestionCluster to JSON. + * @function toJSON + * @memberof meerkat.QuestionCluster + * @instance + * @returns {Object.} JSON object + */ + QuestionCluster.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return QuestionCluster; + })(); + + meerkat.Channel = (function() { + + /** + * Properties of a Channel. + * @memberof meerkat + * @interface IChannel + * @property {meerkat.IUIElement} [channelDescription] Channel channelDescription + * @property {Array.} [clusterIndex] Channel clusterIndex + */ + + /** + * Constructs a new Channel. + * @memberof meerkat + * @classdesc Represents a Channel. + * @constructor + * @param {meerkat.IChannel=} [properties] Properties to set + */ + function Channel(properties) { + this.clusterIndex = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Channel channelDescription. + * @member {(meerkat.IUIElement|null|undefined)}channelDescription + * @memberof meerkat.Channel + * @instance + */ + Channel.prototype.channelDescription = null; + + /** + * Channel clusterIndex. + * @member {Array.}clusterIndex + * @memberof meerkat.Channel + * @instance + */ + Channel.prototype.clusterIndex = $util.emptyArray; + + /** + * Creates a new Channel instance using the specified properties. + * @function create + * @memberof meerkat.Channel + * @static + * @param {meerkat.IChannel=} [properties] Properties to set + * @returns {meerkat.Channel} Channel instance + */ + Channel.create = function create(properties) { + return new Channel(properties); + }; + + /** + * Encodes the specified Channel message. Does not implicitly {@link meerkat.Channel.verify|verify} messages. + * @function encode + * @memberof meerkat.Channel + * @static + * @param {meerkat.IChannel} message Channel message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Channel.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.channelDescription != null && message.hasOwnProperty("channelDescription")) + $root.meerkat.UIElement.encode(message.channelDescription, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.clusterIndex != null && message.clusterIndex.length) { + writer.uint32(/* id 2, wireType 2 =*/18).fork(); + for (var i = 0; i < message.clusterIndex.length; ++i) + writer.int32(message.clusterIndex[i]); + writer.ldelim(); + } + return writer; + }; + + /** + * Encodes the specified Channel message, length delimited. Does not implicitly {@link meerkat.Channel.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.Channel + * @static + * @param {meerkat.IChannel} message Channel message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Channel.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Channel message from the specified reader or buffer. + * @function decode + * @memberof meerkat.Channel + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.Channel} Channel + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Channel.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.Channel(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.channelDescription = $root.meerkat.UIElement.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.clusterIndex && message.clusterIndex.length)) + message.clusterIndex = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.clusterIndex.push(reader.int32()); + } else + message.clusterIndex.push(reader.int32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Channel message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.Channel + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.Channel} Channel + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Channel.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Channel message. + * @function verify + * @memberof meerkat.Channel + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Channel.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.channelDescription != null && message.hasOwnProperty("channelDescription")) { + var error = $root.meerkat.UIElement.verify(message.channelDescription); + if (error) + return "channelDescription." + error; + } + if (message.clusterIndex != null && message.hasOwnProperty("clusterIndex")) { + if (!Array.isArray(message.clusterIndex)) + return "clusterIndex: array expected"; + for (var i = 0; i < message.clusterIndex.length; ++i) + if (!$util.isInteger(message.clusterIndex[i])) + return "clusterIndex: integer[] expected"; + } + return null; + }; + + /** + * Creates a Channel message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.Channel + * @static + * @param {Object.} object Plain object + * @returns {meerkat.Channel} Channel + */ + Channel.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.Channel) + return object; + var message = new $root.meerkat.Channel(); + if (object.channelDescription != null) { + if (typeof object.channelDescription !== "object") + throw TypeError(".meerkat.Channel.channelDescription: object expected"); + message.channelDescription = $root.meerkat.UIElement.fromObject(object.channelDescription); + } + if (object.clusterIndex) { + if (!Array.isArray(object.clusterIndex)) + throw TypeError(".meerkat.Channel.clusterIndex: array expected"); + message.clusterIndex = []; + for (var i = 0; i < object.clusterIndex.length; ++i) + message.clusterIndex[i] = object.clusterIndex[i] | 0; + } + return message; + }; + + /** + * Creates a plain object from a Channel message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.Channel + * @static + * @param {meerkat.Channel} message Channel + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Channel.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.clusterIndex = []; + if (options.defaults) + object.channelDescription = null; + if (message.channelDescription != null && message.hasOwnProperty("channelDescription")) + object.channelDescription = $root.meerkat.UIElement.toObject(message.channelDescription, options); + if (message.clusterIndex && message.clusterIndex.length) { + object.clusterIndex = []; + for (var j = 0; j < message.clusterIndex.length; ++j) + object.clusterIndex[j] = message.clusterIndex[j]; + } + return object; + }; + + /** + * Converts this Channel to JSON. + * @function toJSON + * @memberof meerkat.Channel + * @instance + * @returns {Object.} JSON object + */ + Channel.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Channel; + })(); + + meerkat.BallotAnswer = (function() { + + /** + * Properties of a BallotAnswer. + * @memberof meerkat + * @interface IBallotAnswer + * @property {Array.} [answer] BallotAnswer answer + */ + + /** + * Constructs a new BallotAnswer. + * @memberof meerkat + * @classdesc Represents a BallotAnswer. + * @constructor + * @param {meerkat.IBallotAnswer=} [properties] Properties to set + */ + function BallotAnswer(properties) { + this.answer = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BallotAnswer answer. + * @member {Array.}answer + * @memberof meerkat.BallotAnswer + * @instance + */ + BallotAnswer.prototype.answer = $util.emptyArray; + + /** + * Creates a new BallotAnswer instance using the specified properties. + * @function create + * @memberof meerkat.BallotAnswer + * @static + * @param {meerkat.IBallotAnswer=} [properties] Properties to set + * @returns {meerkat.BallotAnswer} BallotAnswer instance + */ + BallotAnswer.create = function create(properties) { + return new BallotAnswer(properties); + }; + + /** + * Encodes the specified BallotAnswer message. Does not implicitly {@link meerkat.BallotAnswer.verify|verify} messages. + * @function encode + * @memberof meerkat.BallotAnswer + * @static + * @param {meerkat.IBallotAnswer} message BallotAnswer message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BallotAnswer.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.answer != null && message.answer.length) { + writer.uint32(/* id 1, wireType 2 =*/10).fork(); + for (var i = 0; i < message.answer.length; ++i) + writer.sint64(message.answer[i]); + writer.ldelim(); + } + return writer; + }; + + /** + * Encodes the specified BallotAnswer message, length delimited. Does not implicitly {@link meerkat.BallotAnswer.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.BallotAnswer + * @static + * @param {meerkat.IBallotAnswer} message BallotAnswer message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BallotAnswer.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BallotAnswer message from the specified reader or buffer. + * @function decode + * @memberof meerkat.BallotAnswer + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.BallotAnswer} BallotAnswer + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BallotAnswer.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.BallotAnswer(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.answer && message.answer.length)) + message.answer = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.answer.push(reader.sint64()); + } else + message.answer.push(reader.sint64()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BallotAnswer message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.BallotAnswer + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.BallotAnswer} BallotAnswer + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BallotAnswer.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BallotAnswer message. + * @function verify + * @memberof meerkat.BallotAnswer + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BallotAnswer.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.answer != null && message.hasOwnProperty("answer")) { + if (!Array.isArray(message.answer)) + return "answer: array expected"; + for (var i = 0; i < message.answer.length; ++i) + if (!$util.isInteger(message.answer[i]) && !(message.answer[i] && $util.isInteger(message.answer[i].low) && $util.isInteger(message.answer[i].high))) + return "answer: integer|Long[] expected"; + } + return null; + }; + + /** + * Creates a BallotAnswer message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.BallotAnswer + * @static + * @param {Object.} object Plain object + * @returns {meerkat.BallotAnswer} BallotAnswer + */ + BallotAnswer.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.BallotAnswer) + return object; + var message = new $root.meerkat.BallotAnswer(); + if (object.answer) { + if (!Array.isArray(object.answer)) + throw TypeError(".meerkat.BallotAnswer.answer: array expected"); + message.answer = []; + for (var i = 0; i < object.answer.length; ++i) + if ($util.Long) + (message.answer[i] = $util.Long.fromValue(object.answer[i])).unsigned = false; + else if (typeof object.answer[i] === "string") + message.answer[i] = parseInt(object.answer[i], 10); + else if (typeof object.answer[i] === "number") + message.answer[i] = object.answer[i]; + else if (typeof object.answer[i] === "object") + message.answer[i] = new $util.LongBits(object.answer[i].low >>> 0, object.answer[i].high >>> 0).toNumber(); + } + return message; + }; + + /** + * Creates a plain object from a BallotAnswer message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.BallotAnswer + * @static + * @param {meerkat.BallotAnswer} message BallotAnswer + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BallotAnswer.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.answer = []; + if (message.answer && message.answer.length) { + object.answer = []; + for (var j = 0; j < message.answer.length; ++j) + if (typeof message.answer[j] === "number") + object.answer[j] = options.longs === String ? String(message.answer[j]) : message.answer[j]; + else + object.answer[j] = options.longs === String ? $util.Long.prototype.toString.call(message.answer[j]) : options.longs === Number ? new $util.LongBits(message.answer[j].low >>> 0, message.answer[j].high >>> 0).toNumber() : message.answer[j]; + } + return object; + }; + + /** + * Converts this BallotAnswer to JSON. + * @function toJSON + * @memberof meerkat.BallotAnswer + * @instance + * @returns {Object.} JSON object + */ + BallotAnswer.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BallotAnswer; + })(); + + meerkat.PlaintextBallot = (function() { + + /** + * Properties of a PlaintextBallot. + * @memberof meerkat + * @interface IPlaintextBallot + * @property {number|Long} [serialNumber] PlaintextBallot serialNumber + * @property {Uint8Array} [channelIdentifier] PlaintextBallot channelIdentifier + * @property {Array.} [answers] PlaintextBallot answers + */ + + /** + * Constructs a new PlaintextBallot. + * @memberof meerkat + * @classdesc Represents a PlaintextBallot. + * @constructor + * @param {meerkat.IPlaintextBallot=} [properties] Properties to set + */ + function PlaintextBallot(properties) { + this.answers = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * PlaintextBallot serialNumber. + * @member {number|Long}serialNumber + * @memberof meerkat.PlaintextBallot + * @instance + */ + PlaintextBallot.prototype.serialNumber = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * PlaintextBallot channelIdentifier. + * @member {Uint8Array}channelIdentifier + * @memberof meerkat.PlaintextBallot + * @instance + */ + PlaintextBallot.prototype.channelIdentifier = $util.newBuffer([]); + + /** + * PlaintextBallot answers. + * @member {Array.}answers + * @memberof meerkat.PlaintextBallot + * @instance + */ + PlaintextBallot.prototype.answers = $util.emptyArray; + + /** + * Creates a new PlaintextBallot instance using the specified properties. + * @function create + * @memberof meerkat.PlaintextBallot + * @static + * @param {meerkat.IPlaintextBallot=} [properties] Properties to set + * @returns {meerkat.PlaintextBallot} PlaintextBallot instance + */ + PlaintextBallot.create = function create(properties) { + return new PlaintextBallot(properties); + }; + + /** + * Encodes the specified PlaintextBallot message. Does not implicitly {@link meerkat.PlaintextBallot.verify|verify} messages. + * @function encode + * @memberof meerkat.PlaintextBallot + * @static + * @param {meerkat.IPlaintextBallot} message PlaintextBallot message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PlaintextBallot.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.serialNumber != null && message.hasOwnProperty("serialNumber")) + writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.serialNumber); + if (message.channelIdentifier != null && message.hasOwnProperty("channelIdentifier")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.channelIdentifier); + if (message.answers != null && message.answers.length) + for (var i = 0; i < message.answers.length; ++i) + $root.meerkat.BallotAnswer.encode(message.answers[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified PlaintextBallot message, length delimited. Does not implicitly {@link meerkat.PlaintextBallot.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.PlaintextBallot + * @static + * @param {meerkat.IPlaintextBallot} message PlaintextBallot message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PlaintextBallot.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a PlaintextBallot message from the specified reader or buffer. + * @function decode + * @memberof meerkat.PlaintextBallot + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.PlaintextBallot} PlaintextBallot + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PlaintextBallot.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.PlaintextBallot(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.serialNumber = reader.uint64(); + break; + case 2: + message.channelIdentifier = reader.bytes(); + break; + case 3: + if (!(message.answers && message.answers.length)) + message.answers = []; + message.answers.push($root.meerkat.BallotAnswer.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a PlaintextBallot message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.PlaintextBallot + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.PlaintextBallot} PlaintextBallot + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PlaintextBallot.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a PlaintextBallot message. + * @function verify + * @memberof meerkat.PlaintextBallot + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + PlaintextBallot.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.serialNumber != null && message.hasOwnProperty("serialNumber")) + if (!$util.isInteger(message.serialNumber) && !(message.serialNumber && $util.isInteger(message.serialNumber.low) && $util.isInteger(message.serialNumber.high))) + return "serialNumber: integer|Long expected"; + if (message.channelIdentifier != null && message.hasOwnProperty("channelIdentifier")) + if (!(message.channelIdentifier && typeof message.channelIdentifier.length === "number" || $util.isString(message.channelIdentifier))) + return "channelIdentifier: buffer expected"; + if (message.answers != null && message.hasOwnProperty("answers")) { + if (!Array.isArray(message.answers)) + return "answers: array expected"; + for (var i = 0; i < message.answers.length; ++i) { + var error = $root.meerkat.BallotAnswer.verify(message.answers[i]); + if (error) + return "answers." + error; + } + } + return null; + }; + + /** + * Creates a PlaintextBallot message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.PlaintextBallot + * @static + * @param {Object.} object Plain object + * @returns {meerkat.PlaintextBallot} PlaintextBallot + */ + PlaintextBallot.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.PlaintextBallot) + return object; + var message = new $root.meerkat.PlaintextBallot(); + if (object.serialNumber != null) + if ($util.Long) + (message.serialNumber = $util.Long.fromValue(object.serialNumber)).unsigned = true; + else if (typeof object.serialNumber === "string") + message.serialNumber = parseInt(object.serialNumber, 10); + else if (typeof object.serialNumber === "number") + message.serialNumber = object.serialNumber; + else if (typeof object.serialNumber === "object") + message.serialNumber = new $util.LongBits(object.serialNumber.low >>> 0, object.serialNumber.high >>> 0).toNumber(true); + if (object.channelIdentifier != null) + if (typeof object.channelIdentifier === "string") + $util.base64.decode(object.channelIdentifier, message.channelIdentifier = $util.newBuffer($util.base64.length(object.channelIdentifier)), 0); + else if (object.channelIdentifier.length) + message.channelIdentifier = object.channelIdentifier; + if (object.answers) { + if (!Array.isArray(object.answers)) + throw TypeError(".meerkat.PlaintextBallot.answers: array expected"); + message.answers = []; + for (var i = 0; i < object.answers.length; ++i) { + if (typeof object.answers[i] !== "object") + throw TypeError(".meerkat.PlaintextBallot.answers: object expected"); + message.answers[i] = $root.meerkat.BallotAnswer.fromObject(object.answers[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a PlaintextBallot message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.PlaintextBallot + * @static + * @param {meerkat.PlaintextBallot} message PlaintextBallot + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + PlaintextBallot.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.answers = []; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.serialNumber = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.serialNumber = options.longs === String ? "0" : 0; + object.channelIdentifier = options.bytes === String ? "" : []; + } + if (message.serialNumber != null && message.hasOwnProperty("serialNumber")) + if (typeof message.serialNumber === "number") + object.serialNumber = options.longs === String ? String(message.serialNumber) : message.serialNumber; + else + object.serialNumber = options.longs === String ? $util.Long.prototype.toString.call(message.serialNumber) : options.longs === Number ? new $util.LongBits(message.serialNumber.low >>> 0, message.serialNumber.high >>> 0).toNumber(true) : message.serialNumber; + if (message.channelIdentifier != null && message.hasOwnProperty("channelIdentifier")) + object.channelIdentifier = options.bytes === String ? $util.base64.encode(message.channelIdentifier, 0, message.channelIdentifier.length) : options.bytes === Array ? Array.prototype.slice.call(message.channelIdentifier) : message.channelIdentifier; + if (message.answers && message.answers.length) { + object.answers = []; + for (var j = 0; j < message.answers.length; ++j) + object.answers[j] = $root.meerkat.BallotAnswer.toObject(message.answers[j], options); + } + return object; + }; + + /** + * Converts this PlaintextBallot to JSON. + * @function toJSON + * @memberof meerkat.PlaintextBallot + * @instance + * @returns {Object.} JSON object + */ + PlaintextBallot.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return PlaintextBallot; + })(); + + meerkat.EncryptedBallot = (function() { + + /** + * Properties of an EncryptedBallot. + * @memberof meerkat + * @interface IEncryptedBallot + * @property {number|Long} [serialNumber] EncryptedBallot serialNumber + * @property {meerkat.IRerandomizableEncryptedMessage} [data] EncryptedBallot data + */ + + /** + * Constructs a new EncryptedBallot. + * @memberof meerkat + * @classdesc Represents an EncryptedBallot. + * @constructor + * @param {meerkat.IEncryptedBallot=} [properties] Properties to set + */ + function EncryptedBallot(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EncryptedBallot serialNumber. + * @member {number|Long}serialNumber + * @memberof meerkat.EncryptedBallot + * @instance + */ + EncryptedBallot.prototype.serialNumber = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * EncryptedBallot data. + * @member {(meerkat.IRerandomizableEncryptedMessage|null|undefined)}data + * @memberof meerkat.EncryptedBallot + * @instance + */ + EncryptedBallot.prototype.data = null; + + /** + * Creates a new EncryptedBallot instance using the specified properties. + * @function create + * @memberof meerkat.EncryptedBallot + * @static + * @param {meerkat.IEncryptedBallot=} [properties] Properties to set + * @returns {meerkat.EncryptedBallot} EncryptedBallot instance + */ + EncryptedBallot.create = function create(properties) { + return new EncryptedBallot(properties); + }; + + /** + * Encodes the specified EncryptedBallot message. Does not implicitly {@link meerkat.EncryptedBallot.verify|verify} messages. + * @function encode + * @memberof meerkat.EncryptedBallot + * @static + * @param {meerkat.IEncryptedBallot} message EncryptedBallot message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EncryptedBallot.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.serialNumber != null && message.hasOwnProperty("serialNumber")) + writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.serialNumber); + if (message.data != null && message.hasOwnProperty("data")) + $root.meerkat.RerandomizableEncryptedMessage.encode(message.data, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified EncryptedBallot message, length delimited. Does not implicitly {@link meerkat.EncryptedBallot.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.EncryptedBallot + * @static + * @param {meerkat.IEncryptedBallot} message EncryptedBallot message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EncryptedBallot.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EncryptedBallot message from the specified reader or buffer. + * @function decode + * @memberof meerkat.EncryptedBallot + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.EncryptedBallot} EncryptedBallot + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EncryptedBallot.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.EncryptedBallot(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.serialNumber = reader.uint64(); + break; + case 2: + message.data = $root.meerkat.RerandomizableEncryptedMessage.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EncryptedBallot message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.EncryptedBallot + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.EncryptedBallot} EncryptedBallot + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EncryptedBallot.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EncryptedBallot message. + * @function verify + * @memberof meerkat.EncryptedBallot + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EncryptedBallot.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.serialNumber != null && message.hasOwnProperty("serialNumber")) + if (!$util.isInteger(message.serialNumber) && !(message.serialNumber && $util.isInteger(message.serialNumber.low) && $util.isInteger(message.serialNumber.high))) + return "serialNumber: integer|Long expected"; + if (message.data != null && message.hasOwnProperty("data")) { + var error = $root.meerkat.RerandomizableEncryptedMessage.verify(message.data); + if (error) + return "data." + error; + } + return null; + }; + + /** + * Creates an EncryptedBallot message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.EncryptedBallot + * @static + * @param {Object.} object Plain object + * @returns {meerkat.EncryptedBallot} EncryptedBallot + */ + EncryptedBallot.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.EncryptedBallot) + return object; + var message = new $root.meerkat.EncryptedBallot(); + if (object.serialNumber != null) + if ($util.Long) + (message.serialNumber = $util.Long.fromValue(object.serialNumber)).unsigned = true; + else if (typeof object.serialNumber === "string") + message.serialNumber = parseInt(object.serialNumber, 10); + else if (typeof object.serialNumber === "number") + message.serialNumber = object.serialNumber; + else if (typeof object.serialNumber === "object") + message.serialNumber = new $util.LongBits(object.serialNumber.low >>> 0, object.serialNumber.high >>> 0).toNumber(true); + if (object.data != null) { + if (typeof object.data !== "object") + throw TypeError(".meerkat.EncryptedBallot.data: object expected"); + message.data = $root.meerkat.RerandomizableEncryptedMessage.fromObject(object.data); + } + return message; + }; + + /** + * Creates a plain object from an EncryptedBallot message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.EncryptedBallot + * @static + * @param {meerkat.EncryptedBallot} message EncryptedBallot + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EncryptedBallot.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.serialNumber = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.serialNumber = options.longs === String ? "0" : 0; + object.data = null; + } + if (message.serialNumber != null && message.hasOwnProperty("serialNumber")) + if (typeof message.serialNumber === "number") + object.serialNumber = options.longs === String ? String(message.serialNumber) : message.serialNumber; + else + object.serialNumber = options.longs === String ? $util.Long.prototype.toString.call(message.serialNumber) : options.longs === Number ? new $util.LongBits(message.serialNumber.low >>> 0, message.serialNumber.high >>> 0).toNumber(true) : message.serialNumber; + if (message.data != null && message.hasOwnProperty("data")) + object.data = $root.meerkat.RerandomizableEncryptedMessage.toObject(message.data, options); + return object; + }; + + /** + * Converts this EncryptedBallot to JSON. + * @function toJSON + * @memberof meerkat.EncryptedBallot + * @instance + * @returns {Object.} JSON object + */ + EncryptedBallot.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return EncryptedBallot; + })(); + + meerkat.SignedEncryptedBallot = (function() { + + /** + * Properties of a SignedEncryptedBallot. + * @memberof meerkat + * @interface ISignedEncryptedBallot + * @property {meerkat.IEncryptedBallot} [encryptedBallot] SignedEncryptedBallot encryptedBallot + * @property {meerkat.ISignature} [signature] SignedEncryptedBallot signature + */ + + /** + * Constructs a new SignedEncryptedBallot. + * @memberof meerkat + * @classdesc Represents a SignedEncryptedBallot. + * @constructor + * @param {meerkat.ISignedEncryptedBallot=} [properties] Properties to set + */ + function SignedEncryptedBallot(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SignedEncryptedBallot encryptedBallot. + * @member {(meerkat.IEncryptedBallot|null|undefined)}encryptedBallot + * @memberof meerkat.SignedEncryptedBallot + * @instance + */ + SignedEncryptedBallot.prototype.encryptedBallot = null; + + /** + * SignedEncryptedBallot signature. + * @member {(meerkat.ISignature|null|undefined)}signature + * @memberof meerkat.SignedEncryptedBallot + * @instance + */ + SignedEncryptedBallot.prototype.signature = null; + + /** + * Creates a new SignedEncryptedBallot instance using the specified properties. + * @function create + * @memberof meerkat.SignedEncryptedBallot + * @static + * @param {meerkat.ISignedEncryptedBallot=} [properties] Properties to set + * @returns {meerkat.SignedEncryptedBallot} SignedEncryptedBallot instance + */ + SignedEncryptedBallot.create = function create(properties) { + return new SignedEncryptedBallot(properties); + }; + + /** + * Encodes the specified SignedEncryptedBallot message. Does not implicitly {@link meerkat.SignedEncryptedBallot.verify|verify} messages. + * @function encode + * @memberof meerkat.SignedEncryptedBallot + * @static + * @param {meerkat.ISignedEncryptedBallot} message SignedEncryptedBallot message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SignedEncryptedBallot.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.encryptedBallot != null && message.hasOwnProperty("encryptedBallot")) + $root.meerkat.EncryptedBallot.encode(message.encryptedBallot, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.signature != null && message.hasOwnProperty("signature")) + $root.meerkat.Signature.encode(message.signature, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified SignedEncryptedBallot message, length delimited. Does not implicitly {@link meerkat.SignedEncryptedBallot.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.SignedEncryptedBallot + * @static + * @param {meerkat.ISignedEncryptedBallot} message SignedEncryptedBallot message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SignedEncryptedBallot.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SignedEncryptedBallot message from the specified reader or buffer. + * @function decode + * @memberof meerkat.SignedEncryptedBallot + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.SignedEncryptedBallot} SignedEncryptedBallot + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SignedEncryptedBallot.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.SignedEncryptedBallot(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.encryptedBallot = $root.meerkat.EncryptedBallot.decode(reader, reader.uint32()); + break; + case 2: + message.signature = $root.meerkat.Signature.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SignedEncryptedBallot message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.SignedEncryptedBallot + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.SignedEncryptedBallot} SignedEncryptedBallot + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SignedEncryptedBallot.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SignedEncryptedBallot message. + * @function verify + * @memberof meerkat.SignedEncryptedBallot + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SignedEncryptedBallot.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.encryptedBallot != null && message.hasOwnProperty("encryptedBallot")) { + var error = $root.meerkat.EncryptedBallot.verify(message.encryptedBallot); + if (error) + return "encryptedBallot." + error; + } + if (message.signature != null && message.hasOwnProperty("signature")) { + error = $root.meerkat.Signature.verify(message.signature); + if (error) + return "signature." + error; + } + return null; + }; + + /** + * Creates a SignedEncryptedBallot message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.SignedEncryptedBallot + * @static + * @param {Object.} object Plain object + * @returns {meerkat.SignedEncryptedBallot} SignedEncryptedBallot + */ + SignedEncryptedBallot.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.SignedEncryptedBallot) + return object; + var message = new $root.meerkat.SignedEncryptedBallot(); + if (object.encryptedBallot != null) { + if (typeof object.encryptedBallot !== "object") + throw TypeError(".meerkat.SignedEncryptedBallot.encryptedBallot: object expected"); + message.encryptedBallot = $root.meerkat.EncryptedBallot.fromObject(object.encryptedBallot); + } + if (object.signature != null) { + if (typeof object.signature !== "object") + throw TypeError(".meerkat.SignedEncryptedBallot.signature: object expected"); + message.signature = $root.meerkat.Signature.fromObject(object.signature); + } + return message; + }; + + /** + * Creates a plain object from a SignedEncryptedBallot message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.SignedEncryptedBallot + * @static + * @param {meerkat.SignedEncryptedBallot} message SignedEncryptedBallot + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SignedEncryptedBallot.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.encryptedBallot = null; + object.signature = null; + } + if (message.encryptedBallot != null && message.hasOwnProperty("encryptedBallot")) + object.encryptedBallot = $root.meerkat.EncryptedBallot.toObject(message.encryptedBallot, options); + if (message.signature != null && message.hasOwnProperty("signature")) + object.signature = $root.meerkat.Signature.toObject(message.signature, options); + return object; + }; + + /** + * Converts this SignedEncryptedBallot to JSON. + * @function toJSON + * @memberof meerkat.SignedEncryptedBallot + * @instance + * @returns {Object.} JSON object + */ + SignedEncryptedBallot.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return SignedEncryptedBallot; + })(); + + meerkat.BallotSecrets = (function() { + + /** + * Properties of a BallotSecrets. + * @memberof meerkat + * @interface IBallotSecrets + * @property {meerkat.IPlaintextBallot} [plaintextBallot] BallotSecrets plaintextBallot + * @property {meerkat.IEncryptionRandomness} [encryptionRandomness] BallotSecrets encryptionRandomness + * @property {meerkat.IRandomnessGenerationProof} [proof] BallotSecrets proof + */ + + /** + * Constructs a new BallotSecrets. + * @memberof meerkat + * @classdesc Represents a BallotSecrets. + * @constructor + * @param {meerkat.IBallotSecrets=} [properties] Properties to set + */ + function BallotSecrets(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BallotSecrets plaintextBallot. + * @member {(meerkat.IPlaintextBallot|null|undefined)}plaintextBallot + * @memberof meerkat.BallotSecrets + * @instance + */ + BallotSecrets.prototype.plaintextBallot = null; + + /** + * BallotSecrets encryptionRandomness. + * @member {(meerkat.IEncryptionRandomness|null|undefined)}encryptionRandomness + * @memberof meerkat.BallotSecrets + * @instance + */ + BallotSecrets.prototype.encryptionRandomness = null; + + /** + * BallotSecrets proof. + * @member {(meerkat.IRandomnessGenerationProof|null|undefined)}proof + * @memberof meerkat.BallotSecrets + * @instance + */ + BallotSecrets.prototype.proof = null; + + /** + * Creates a new BallotSecrets instance using the specified properties. + * @function create + * @memberof meerkat.BallotSecrets + * @static + * @param {meerkat.IBallotSecrets=} [properties] Properties to set + * @returns {meerkat.BallotSecrets} BallotSecrets instance + */ + BallotSecrets.create = function create(properties) { + return new BallotSecrets(properties); + }; + + /** + * Encodes the specified BallotSecrets message. Does not implicitly {@link meerkat.BallotSecrets.verify|verify} messages. + * @function encode + * @memberof meerkat.BallotSecrets + * @static + * @param {meerkat.IBallotSecrets} message BallotSecrets message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BallotSecrets.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.plaintextBallot != null && message.hasOwnProperty("plaintextBallot")) + $root.meerkat.PlaintextBallot.encode(message.plaintextBallot, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.encryptionRandomness != null && message.hasOwnProperty("encryptionRandomness")) + $root.meerkat.EncryptionRandomness.encode(message.encryptionRandomness, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.proof != null && message.hasOwnProperty("proof")) + $root.meerkat.RandomnessGenerationProof.encode(message.proof, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified BallotSecrets message, length delimited. Does not implicitly {@link meerkat.BallotSecrets.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.BallotSecrets + * @static + * @param {meerkat.IBallotSecrets} message BallotSecrets message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BallotSecrets.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BallotSecrets message from the specified reader or buffer. + * @function decode + * @memberof meerkat.BallotSecrets + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.BallotSecrets} BallotSecrets + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BallotSecrets.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.BallotSecrets(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.plaintextBallot = $root.meerkat.PlaintextBallot.decode(reader, reader.uint32()); + break; + case 2: + message.encryptionRandomness = $root.meerkat.EncryptionRandomness.decode(reader, reader.uint32()); + break; + case 3: + message.proof = $root.meerkat.RandomnessGenerationProof.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BallotSecrets message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.BallotSecrets + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.BallotSecrets} BallotSecrets + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BallotSecrets.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BallotSecrets message. + * @function verify + * @memberof meerkat.BallotSecrets + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BallotSecrets.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.plaintextBallot != null && message.hasOwnProperty("plaintextBallot")) { + var error = $root.meerkat.PlaintextBallot.verify(message.plaintextBallot); + if (error) + return "plaintextBallot." + error; + } + if (message.encryptionRandomness != null && message.hasOwnProperty("encryptionRandomness")) { + error = $root.meerkat.EncryptionRandomness.verify(message.encryptionRandomness); + if (error) + return "encryptionRandomness." + error; + } + if (message.proof != null && message.hasOwnProperty("proof")) { + error = $root.meerkat.RandomnessGenerationProof.verify(message.proof); + if (error) + return "proof." + error; + } + return null; + }; + + /** + * Creates a BallotSecrets message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.BallotSecrets + * @static + * @param {Object.} object Plain object + * @returns {meerkat.BallotSecrets} BallotSecrets + */ + BallotSecrets.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.BallotSecrets) + return object; + var message = new $root.meerkat.BallotSecrets(); + if (object.plaintextBallot != null) { + if (typeof object.plaintextBallot !== "object") + throw TypeError(".meerkat.BallotSecrets.plaintextBallot: object expected"); + message.plaintextBallot = $root.meerkat.PlaintextBallot.fromObject(object.plaintextBallot); + } + if (object.encryptionRandomness != null) { + if (typeof object.encryptionRandomness !== "object") + throw TypeError(".meerkat.BallotSecrets.encryptionRandomness: object expected"); + message.encryptionRandomness = $root.meerkat.EncryptionRandomness.fromObject(object.encryptionRandomness); + } + if (object.proof != null) { + if (typeof object.proof !== "object") + throw TypeError(".meerkat.BallotSecrets.proof: object expected"); + message.proof = $root.meerkat.RandomnessGenerationProof.fromObject(object.proof); + } + return message; + }; + + /** + * Creates a plain object from a BallotSecrets message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.BallotSecrets + * @static + * @param {meerkat.BallotSecrets} message BallotSecrets + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BallotSecrets.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.plaintextBallot = null; + object.encryptionRandomness = null; + object.proof = null; + } + if (message.plaintextBallot != null && message.hasOwnProperty("plaintextBallot")) + object.plaintextBallot = $root.meerkat.PlaintextBallot.toObject(message.plaintextBallot, options); + if (message.encryptionRandomness != null && message.hasOwnProperty("encryptionRandomness")) + object.encryptionRandomness = $root.meerkat.EncryptionRandomness.toObject(message.encryptionRandomness, options); + if (message.proof != null && message.hasOwnProperty("proof")) + object.proof = $root.meerkat.RandomnessGenerationProof.toObject(message.proof, options); + return object; + }; + + /** + * Converts this BallotSecrets to JSON. + * @function toJSON + * @memberof meerkat.BallotSecrets + * @instance + * @returns {Object.} JSON object + */ + BallotSecrets.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BallotSecrets; + })(); + + meerkat.BoothParams = (function() { + + /** + * Properties of a BoothParams. + * @memberof meerkat + * @interface IBoothParams + * @property {Array.} [pscVerificationKeys] BoothParams pscVerificationKeys + */ + + /** + * Constructs a new BoothParams. + * @memberof meerkat + * @classdesc Represents a BoothParams. + * @constructor + * @param {meerkat.IBoothParams=} [properties] Properties to set + */ + function BoothParams(properties) { + this.pscVerificationKeys = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BoothParams pscVerificationKeys. + * @member {Array.}pscVerificationKeys + * @memberof meerkat.BoothParams + * @instance + */ + BoothParams.prototype.pscVerificationKeys = $util.emptyArray; + + /** + * Creates a new BoothParams instance using the specified properties. + * @function create + * @memberof meerkat.BoothParams + * @static + * @param {meerkat.IBoothParams=} [properties] Properties to set + * @returns {meerkat.BoothParams} BoothParams instance + */ + BoothParams.create = function create(properties) { + return new BoothParams(properties); + }; + + /** + * Encodes the specified BoothParams message. Does not implicitly {@link meerkat.BoothParams.verify|verify} messages. + * @function encode + * @memberof meerkat.BoothParams + * @static + * @param {meerkat.IBoothParams} message BoothParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BoothParams.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.pscVerificationKeys != null && message.pscVerificationKeys.length) + for (var i = 0; i < message.pscVerificationKeys.length; ++i) + $root.meerkat.SignatureVerificationKey.encode(message.pscVerificationKeys[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified BoothParams message, length delimited. Does not implicitly {@link meerkat.BoothParams.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.BoothParams + * @static + * @param {meerkat.IBoothParams} message BoothParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BoothParams.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BoothParams message from the specified reader or buffer. + * @function decode + * @memberof meerkat.BoothParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.BoothParams} BoothParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BoothParams.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.BoothParams(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.pscVerificationKeys && message.pscVerificationKeys.length)) + message.pscVerificationKeys = []; + message.pscVerificationKeys.push($root.meerkat.SignatureVerificationKey.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BoothParams message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.BoothParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.BoothParams} BoothParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BoothParams.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BoothParams message. + * @function verify + * @memberof meerkat.BoothParams + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BoothParams.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.pscVerificationKeys != null && message.hasOwnProperty("pscVerificationKeys")) { + if (!Array.isArray(message.pscVerificationKeys)) + return "pscVerificationKeys: array expected"; + for (var i = 0; i < message.pscVerificationKeys.length; ++i) { + var error = $root.meerkat.SignatureVerificationKey.verify(message.pscVerificationKeys[i]); + if (error) + return "pscVerificationKeys." + error; + } + } + return null; + }; + + /** + * Creates a BoothParams message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.BoothParams + * @static + * @param {Object.} object Plain object + * @returns {meerkat.BoothParams} BoothParams + */ + BoothParams.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.BoothParams) + return object; + var message = new $root.meerkat.BoothParams(); + if (object.pscVerificationKeys) { + if (!Array.isArray(object.pscVerificationKeys)) + throw TypeError(".meerkat.BoothParams.pscVerificationKeys: array expected"); + message.pscVerificationKeys = []; + for (var i = 0; i < object.pscVerificationKeys.length; ++i) { + if (typeof object.pscVerificationKeys[i] !== "object") + throw TypeError(".meerkat.BoothParams.pscVerificationKeys: object expected"); + message.pscVerificationKeys[i] = $root.meerkat.SignatureVerificationKey.fromObject(object.pscVerificationKeys[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a BoothParams message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.BoothParams + * @static + * @param {meerkat.BoothParams} message BoothParams + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BoothParams.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.pscVerificationKeys = []; + if (message.pscVerificationKeys && message.pscVerificationKeys.length) { + object.pscVerificationKeys = []; + for (var j = 0; j < message.pscVerificationKeys.length; ++j) + object.pscVerificationKeys[j] = $root.meerkat.SignatureVerificationKey.toObject(message.pscVerificationKeys[j], options); + } + return object; + }; + + /** + * Converts this BoothParams to JSON. + * @function toJSON + * @memberof meerkat.BoothParams + * @instance + * @returns {Object.} JSON object + */ + BoothParams.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BoothParams; + })(); + + meerkat.BoothSystemMessages = (function() { + + /** + * Properties of a BoothSystemMessages. + * @memberof meerkat + * @interface IBoothSystemMessages + * @property {Object.} [systemMessage] BoothSystemMessages systemMessage + */ + + /** + * Constructs a new BoothSystemMessages. + * @memberof meerkat + * @classdesc Represents a BoothSystemMessages. + * @constructor + * @param {meerkat.IBoothSystemMessages=} [properties] Properties to set + */ + function BoothSystemMessages(properties) { + this.systemMessage = {}; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BoothSystemMessages systemMessage. + * @member {Object.}systemMessage + * @memberof meerkat.BoothSystemMessages + * @instance + */ + BoothSystemMessages.prototype.systemMessage = $util.emptyObject; + + /** + * Creates a new BoothSystemMessages instance using the specified properties. + * @function create + * @memberof meerkat.BoothSystemMessages + * @static + * @param {meerkat.IBoothSystemMessages=} [properties] Properties to set + * @returns {meerkat.BoothSystemMessages} BoothSystemMessages instance + */ + BoothSystemMessages.create = function create(properties) { + return new BoothSystemMessages(properties); + }; + + /** + * Encodes the specified BoothSystemMessages message. Does not implicitly {@link meerkat.BoothSystemMessages.verify|verify} messages. + * @function encode + * @memberof meerkat.BoothSystemMessages + * @static + * @param {meerkat.IBoothSystemMessages} message BoothSystemMessages message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BoothSystemMessages.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.systemMessage != null && message.hasOwnProperty("systemMessage")) + for (var keys = Object.keys(message.systemMessage), i = 0; i < keys.length; ++i) { + writer.uint32(/* id 1, wireType 2 =*/10).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]); + $root.meerkat.UIElement.encode(message.systemMessage[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim(); + } + return writer; + }; + + /** + * Encodes the specified BoothSystemMessages message, length delimited. Does not implicitly {@link meerkat.BoothSystemMessages.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.BoothSystemMessages + * @static + * @param {meerkat.IBoothSystemMessages} message BoothSystemMessages message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BoothSystemMessages.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BoothSystemMessages message from the specified reader or buffer. + * @function decode + * @memberof meerkat.BoothSystemMessages + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.BoothSystemMessages} BoothSystemMessages + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BoothSystemMessages.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.BoothSystemMessages(), key; + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + reader.skip().pos++; + if (message.systemMessage === $util.emptyObject) + message.systemMessage = {}; + key = reader.string(); + reader.pos++; + message.systemMessage[key] = $root.meerkat.UIElement.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BoothSystemMessages message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.BoothSystemMessages + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.BoothSystemMessages} BoothSystemMessages + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BoothSystemMessages.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BoothSystemMessages message. + * @function verify + * @memberof meerkat.BoothSystemMessages + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BoothSystemMessages.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.systemMessage != null && message.hasOwnProperty("systemMessage")) { + if (!$util.isObject(message.systemMessage)) + return "systemMessage: object expected"; + var key = Object.keys(message.systemMessage); + for (var i = 0; i < key.length; ++i) { + var error = $root.meerkat.UIElement.verify(message.systemMessage[key[i]]); + if (error) + return "systemMessage." + error; + } + } + return null; + }; + + /** + * Creates a BoothSystemMessages message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.BoothSystemMessages + * @static + * @param {Object.} object Plain object + * @returns {meerkat.BoothSystemMessages} BoothSystemMessages + */ + BoothSystemMessages.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.BoothSystemMessages) + return object; + var message = new $root.meerkat.BoothSystemMessages(); + if (object.systemMessage) { + if (typeof object.systemMessage !== "object") + throw TypeError(".meerkat.BoothSystemMessages.systemMessage: object expected"); + message.systemMessage = {}; + for (var keys = Object.keys(object.systemMessage), i = 0; i < keys.length; ++i) { + if (typeof object.systemMessage[keys[i]] !== "object") + throw TypeError(".meerkat.BoothSystemMessages.systemMessage: object expected"); + message.systemMessage[keys[i]] = $root.meerkat.UIElement.fromObject(object.systemMessage[keys[i]]); + } + } + return message; + }; + + /** + * Creates a plain object from a BoothSystemMessages message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.BoothSystemMessages + * @static + * @param {meerkat.BoothSystemMessages} message BoothSystemMessages + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BoothSystemMessages.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.objects || options.defaults) + object.systemMessage = {}; + var keys2; + if (message.systemMessage && (keys2 = Object.keys(message.systemMessage)).length) { + object.systemMessage = {}; + for (var j = 0; j < keys2.length; ++j) + object.systemMessage[keys2[j]] = $root.meerkat.UIElement.toObject(message.systemMessage[keys2[j]], options); + } + return object; + }; + + /** + * Converts this BoothSystemMessages to JSON. + * @function toJSON + * @memberof meerkat.BoothSystemMessages + * @instance + * @returns {Object.} JSON object + */ + BoothSystemMessages.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BoothSystemMessages; + })(); + + meerkat.BallotAnswerTranslationTable = (function() { + + /** + * Properties of a BallotAnswerTranslationTable. + * @memberof meerkat + * @interface IBallotAnswerTranslationTable + * @property {Uint8Array} [data] BallotAnswerTranslationTable data + */ + + /** + * Constructs a new BallotAnswerTranslationTable. + * @memberof meerkat + * @classdesc Represents a BallotAnswerTranslationTable. + * @constructor + * @param {meerkat.IBallotAnswerTranslationTable=} [properties] Properties to set + */ + function BallotAnswerTranslationTable(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BallotAnswerTranslationTable data. + * @member {Uint8Array}data + * @memberof meerkat.BallotAnswerTranslationTable + * @instance + */ + BallotAnswerTranslationTable.prototype.data = $util.newBuffer([]); + + /** + * Creates a new BallotAnswerTranslationTable instance using the specified properties. + * @function create + * @memberof meerkat.BallotAnswerTranslationTable + * @static + * @param {meerkat.IBallotAnswerTranslationTable=} [properties] Properties to set + * @returns {meerkat.BallotAnswerTranslationTable} BallotAnswerTranslationTable instance + */ + BallotAnswerTranslationTable.create = function create(properties) { + return new BallotAnswerTranslationTable(properties); + }; + + /** + * Encodes the specified BallotAnswerTranslationTable message. Does not implicitly {@link meerkat.BallotAnswerTranslationTable.verify|verify} messages. + * @function encode + * @memberof meerkat.BallotAnswerTranslationTable + * @static + * @param {meerkat.IBallotAnswerTranslationTable} message BallotAnswerTranslationTable message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BallotAnswerTranslationTable.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.data != null && message.hasOwnProperty("data")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.data); + return writer; + }; + + /** + * Encodes the specified BallotAnswerTranslationTable message, length delimited. Does not implicitly {@link meerkat.BallotAnswerTranslationTable.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.BallotAnswerTranslationTable + * @static + * @param {meerkat.IBallotAnswerTranslationTable} message BallotAnswerTranslationTable message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BallotAnswerTranslationTable.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BallotAnswerTranslationTable message from the specified reader or buffer. + * @function decode + * @memberof meerkat.BallotAnswerTranslationTable + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.BallotAnswerTranslationTable} BallotAnswerTranslationTable + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BallotAnswerTranslationTable.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.BallotAnswerTranslationTable(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.data = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BallotAnswerTranslationTable message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.BallotAnswerTranslationTable + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.BallotAnswerTranslationTable} BallotAnswerTranslationTable + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BallotAnswerTranslationTable.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BallotAnswerTranslationTable message. + * @function verify + * @memberof meerkat.BallotAnswerTranslationTable + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BallotAnswerTranslationTable.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.data != null && message.hasOwnProperty("data")) + if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) + return "data: buffer expected"; + return null; + }; + + /** + * Creates a BallotAnswerTranslationTable message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.BallotAnswerTranslationTable + * @static + * @param {Object.} object Plain object + * @returns {meerkat.BallotAnswerTranslationTable} BallotAnswerTranslationTable + */ + BallotAnswerTranslationTable.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.BallotAnswerTranslationTable) + return object; + var message = new $root.meerkat.BallotAnswerTranslationTable(); + if (object.data != null) + if (typeof object.data === "string") + $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); + else if (object.data.length) + message.data = object.data; + return message; + }; + + /** + * Creates a plain object from a BallotAnswerTranslationTable message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.BallotAnswerTranslationTable + * @static + * @param {meerkat.BallotAnswerTranslationTable} message BallotAnswerTranslationTable + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BallotAnswerTranslationTable.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.data = options.bytes === String ? "" : []; + if (message.data != null && message.hasOwnProperty("data")) + object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; + return object; + }; + + /** + * Converts this BallotAnswerTranslationTable to JSON. + * @function toJSON + * @memberof meerkat.BallotAnswerTranslationTable + * @instance + * @returns {Object.} JSON object + */ + BallotAnswerTranslationTable.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BallotAnswerTranslationTable; + })(); + + meerkat.BulletinBoardClientParams = (function() { + + /** + * Properties of a BulletinBoardClientParams. + * @memberof meerkat + * @interface IBulletinBoardClientParams + * @property {Array.} [bulletinBoardAddress] BulletinBoardClientParams bulletinBoardAddress + * @property {number} [minRedundancy] BulletinBoardClientParams minRedundancy + */ + + /** + * Constructs a new BulletinBoardClientParams. + * @memberof meerkat + * @classdesc Represents a BulletinBoardClientParams. + * @constructor + * @param {meerkat.IBulletinBoardClientParams=} [properties] Properties to set + */ + function BulletinBoardClientParams(properties) { + this.bulletinBoardAddress = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BulletinBoardClientParams bulletinBoardAddress. + * @member {Array.}bulletinBoardAddress + * @memberof meerkat.BulletinBoardClientParams + * @instance + */ + BulletinBoardClientParams.prototype.bulletinBoardAddress = $util.emptyArray; + + /** + * BulletinBoardClientParams minRedundancy. + * @member {number}minRedundancy + * @memberof meerkat.BulletinBoardClientParams + * @instance + */ + BulletinBoardClientParams.prototype.minRedundancy = 0; + + /** + * Creates a new BulletinBoardClientParams instance using the specified properties. + * @function create + * @memberof meerkat.BulletinBoardClientParams + * @static + * @param {meerkat.IBulletinBoardClientParams=} [properties] Properties to set + * @returns {meerkat.BulletinBoardClientParams} BulletinBoardClientParams instance + */ + BulletinBoardClientParams.create = function create(properties) { + return new BulletinBoardClientParams(properties); + }; + + /** + * Encodes the specified BulletinBoardClientParams message. Does not implicitly {@link meerkat.BulletinBoardClientParams.verify|verify} messages. + * @function encode + * @memberof meerkat.BulletinBoardClientParams + * @static + * @param {meerkat.IBulletinBoardClientParams} message BulletinBoardClientParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BulletinBoardClientParams.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.bulletinBoardAddress != null && message.bulletinBoardAddress.length) + for (var i = 0; i < message.bulletinBoardAddress.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.bulletinBoardAddress[i]); + if (message.minRedundancy != null && message.hasOwnProperty("minRedundancy")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.minRedundancy); + return writer; + }; + + /** + * Encodes the specified BulletinBoardClientParams message, length delimited. Does not implicitly {@link meerkat.BulletinBoardClientParams.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.BulletinBoardClientParams + * @static + * @param {meerkat.IBulletinBoardClientParams} message BulletinBoardClientParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BulletinBoardClientParams.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BulletinBoardClientParams message from the specified reader or buffer. + * @function decode + * @memberof meerkat.BulletinBoardClientParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.BulletinBoardClientParams} BulletinBoardClientParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BulletinBoardClientParams.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.BulletinBoardClientParams(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.bulletinBoardAddress && message.bulletinBoardAddress.length)) + message.bulletinBoardAddress = []; + message.bulletinBoardAddress.push(reader.string()); + break; + case 2: + message.minRedundancy = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BulletinBoardClientParams message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.BulletinBoardClientParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.BulletinBoardClientParams} BulletinBoardClientParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BulletinBoardClientParams.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BulletinBoardClientParams message. + * @function verify + * @memberof meerkat.BulletinBoardClientParams + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BulletinBoardClientParams.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.bulletinBoardAddress != null && message.hasOwnProperty("bulletinBoardAddress")) { + if (!Array.isArray(message.bulletinBoardAddress)) + return "bulletinBoardAddress: array expected"; + for (var i = 0; i < message.bulletinBoardAddress.length; ++i) + if (!$util.isString(message.bulletinBoardAddress[i])) + return "bulletinBoardAddress: string[] expected"; + } + if (message.minRedundancy != null && message.hasOwnProperty("minRedundancy")) + if (typeof message.minRedundancy !== "number") + return "minRedundancy: number expected"; + return null; + }; + + /** + * Creates a BulletinBoardClientParams message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.BulletinBoardClientParams + * @static + * @param {Object.} object Plain object + * @returns {meerkat.BulletinBoardClientParams} BulletinBoardClientParams + */ + BulletinBoardClientParams.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.BulletinBoardClientParams) + return object; + var message = new $root.meerkat.BulletinBoardClientParams(); + if (object.bulletinBoardAddress) { + if (!Array.isArray(object.bulletinBoardAddress)) + throw TypeError(".meerkat.BulletinBoardClientParams.bulletinBoardAddress: array expected"); + message.bulletinBoardAddress = []; + for (var i = 0; i < object.bulletinBoardAddress.length; ++i) + message.bulletinBoardAddress[i] = String(object.bulletinBoardAddress[i]); + } + if (object.minRedundancy != null) + message.minRedundancy = Number(object.minRedundancy); + return message; + }; + + /** + * Creates a plain object from a BulletinBoardClientParams message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.BulletinBoardClientParams + * @static + * @param {meerkat.BulletinBoardClientParams} message BulletinBoardClientParams + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BulletinBoardClientParams.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.bulletinBoardAddress = []; + if (options.defaults) + object.minRedundancy = 0; + if (message.bulletinBoardAddress && message.bulletinBoardAddress.length) { + object.bulletinBoardAddress = []; + for (var j = 0; j < message.bulletinBoardAddress.length; ++j) + object.bulletinBoardAddress[j] = message.bulletinBoardAddress[j]; + } + if (message.minRedundancy != null && message.hasOwnProperty("minRedundancy")) + object.minRedundancy = options.json && !isFinite(message.minRedundancy) ? String(message.minRedundancy) : message.minRedundancy; + return object; + }; + + /** + * Converts this BulletinBoardClientParams to JSON. + * @function toJSON + * @memberof meerkat.BulletinBoardClientParams + * @instance + * @returns {Object.} JSON object + */ + BulletinBoardClientParams.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BulletinBoardClientParams; + })(); + + meerkat.ElectionParams = (function() { + + /** + * Properties of an ElectionParams. + * @memberof meerkat + * @interface IElectionParams + * @property {Array.} [trusteeVerificationKeys] ElectionParams trusteeVerificationKeys + * @property {number} [trusteeSignatureThreshold] ElectionParams trusteeSignatureThreshold + * @property {meerkat.IEncryptionPublicKey} [ballotEncryptionKey] ElectionParams ballotEncryptionKey + * @property {Array.} [mixerVerificationKeys] ElectionParams mixerVerificationKeys + * @property {number} [mixerThreshold] ElectionParams mixerThreshold + * @property {Array.} [channelChoiceQuestions] ElectionParams channelChoiceQuestions + * @property {meerkat.ISimpleCategoriesSelectionData} [selectionData] ElectionParams selectionData + * @property {Array.} [raceQuestions] ElectionParams raceQuestions + * @property {meerkat.IBulletinBoardClientParams} [bulletinBoardClientParams] ElectionParams bulletinBoardClientParams + */ + + /** + * Constructs a new ElectionParams. + * @memberof meerkat + * @classdesc Represents an ElectionParams. + * @constructor + * @param {meerkat.IElectionParams=} [properties] Properties to set + */ + function ElectionParams(properties) { + this.trusteeVerificationKeys = []; + this.mixerVerificationKeys = []; + this.channelChoiceQuestions = []; + this.raceQuestions = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ElectionParams trusteeVerificationKeys. + * @member {Array.}trusteeVerificationKeys + * @memberof meerkat.ElectionParams + * @instance + */ + ElectionParams.prototype.trusteeVerificationKeys = $util.emptyArray; + + /** + * ElectionParams trusteeSignatureThreshold. + * @member {number}trusteeSignatureThreshold + * @memberof meerkat.ElectionParams + * @instance + */ + ElectionParams.prototype.trusteeSignatureThreshold = 0; + + /** + * ElectionParams ballotEncryptionKey. + * @member {(meerkat.IEncryptionPublicKey|null|undefined)}ballotEncryptionKey + * @memberof meerkat.ElectionParams + * @instance + */ + ElectionParams.prototype.ballotEncryptionKey = null; + + /** + * ElectionParams mixerVerificationKeys. + * @member {Array.}mixerVerificationKeys + * @memberof meerkat.ElectionParams + * @instance + */ + ElectionParams.prototype.mixerVerificationKeys = $util.emptyArray; + + /** + * ElectionParams mixerThreshold. + * @member {number}mixerThreshold + * @memberof meerkat.ElectionParams + * @instance + */ + ElectionParams.prototype.mixerThreshold = 0; + + /** + * ElectionParams channelChoiceQuestions. + * @member {Array.}channelChoiceQuestions + * @memberof meerkat.ElectionParams + * @instance + */ + ElectionParams.prototype.channelChoiceQuestions = $util.emptyArray; + + /** + * ElectionParams selectionData. + * @member {(meerkat.ISimpleCategoriesSelectionData|null|undefined)}selectionData + * @memberof meerkat.ElectionParams + * @instance + */ + ElectionParams.prototype.selectionData = null; + + /** + * ElectionParams raceQuestions. + * @member {Array.}raceQuestions + * @memberof meerkat.ElectionParams + * @instance + */ + ElectionParams.prototype.raceQuestions = $util.emptyArray; + + /** + * ElectionParams bulletinBoardClientParams. + * @member {(meerkat.IBulletinBoardClientParams|null|undefined)}bulletinBoardClientParams + * @memberof meerkat.ElectionParams + * @instance + */ + ElectionParams.prototype.bulletinBoardClientParams = null; + + /** + * Creates a new ElectionParams instance using the specified properties. + * @function create + * @memberof meerkat.ElectionParams + * @static + * @param {meerkat.IElectionParams=} [properties] Properties to set + * @returns {meerkat.ElectionParams} ElectionParams instance + */ + ElectionParams.create = function create(properties) { + return new ElectionParams(properties); + }; + + /** + * Encodes the specified ElectionParams message. Does not implicitly {@link meerkat.ElectionParams.verify|verify} messages. + * @function encode + * @memberof meerkat.ElectionParams + * @static + * @param {meerkat.IElectionParams} message ElectionParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ElectionParams.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.trusteeVerificationKeys != null && message.trusteeVerificationKeys.length) + for (var i = 0; i < message.trusteeVerificationKeys.length; ++i) + $root.meerkat.SignatureVerificationKey.encode(message.trusteeVerificationKeys[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.trusteeSignatureThreshold != null && message.hasOwnProperty("trusteeSignatureThreshold")) + writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.trusteeSignatureThreshold); + if (message.ballotEncryptionKey != null && message.hasOwnProperty("ballotEncryptionKey")) + $root.meerkat.EncryptionPublicKey.encode(message.ballotEncryptionKey, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.mixerVerificationKeys != null && message.mixerVerificationKeys.length) + for (var i = 0; i < message.mixerVerificationKeys.length; ++i) + $root.meerkat.SignatureVerificationKey.encode(message.mixerVerificationKeys[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.mixerThreshold != null && message.hasOwnProperty("mixerThreshold")) + writer.uint32(/* id 5, wireType 0 =*/40).uint32(message.mixerThreshold); + if (message.channelChoiceQuestions != null && message.channelChoiceQuestions.length) + for (var i = 0; i < message.channelChoiceQuestions.length; ++i) + $root.meerkat.BallotQuestion.encode(message.channelChoiceQuestions[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.selectionData != null && message.hasOwnProperty("selectionData")) + $root.meerkat.SimpleCategoriesSelectionData.encode(message.selectionData, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + if (message.raceQuestions != null && message.raceQuestions.length) + for (var i = 0; i < message.raceQuestions.length; ++i) + $root.meerkat.BallotQuestion.encode(message.raceQuestions[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.bulletinBoardClientParams != null && message.hasOwnProperty("bulletinBoardClientParams")) + $root.meerkat.BulletinBoardClientParams.encode(message.bulletinBoardClientParams, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ElectionParams message, length delimited. Does not implicitly {@link meerkat.ElectionParams.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.ElectionParams + * @static + * @param {meerkat.IElectionParams} message ElectionParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ElectionParams.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ElectionParams message from the specified reader or buffer. + * @function decode + * @memberof meerkat.ElectionParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.ElectionParams} ElectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ElectionParams.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.ElectionParams(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.trusteeVerificationKeys && message.trusteeVerificationKeys.length)) + message.trusteeVerificationKeys = []; + message.trusteeVerificationKeys.push($root.meerkat.SignatureVerificationKey.decode(reader, reader.uint32())); + break; + case 2: + message.trusteeSignatureThreshold = reader.uint32(); + break; + case 3: + message.ballotEncryptionKey = $root.meerkat.EncryptionPublicKey.decode(reader, reader.uint32()); + break; + case 4: + if (!(message.mixerVerificationKeys && message.mixerVerificationKeys.length)) + message.mixerVerificationKeys = []; + message.mixerVerificationKeys.push($root.meerkat.SignatureVerificationKey.decode(reader, reader.uint32())); + break; + case 5: + message.mixerThreshold = reader.uint32(); + break; + case 6: + if (!(message.channelChoiceQuestions && message.channelChoiceQuestions.length)) + message.channelChoiceQuestions = []; + message.channelChoiceQuestions.push($root.meerkat.BallotQuestion.decode(reader, reader.uint32())); + break; + case 7: + message.selectionData = $root.meerkat.SimpleCategoriesSelectionData.decode(reader, reader.uint32()); + break; + case 8: + if (!(message.raceQuestions && message.raceQuestions.length)) + message.raceQuestions = []; + message.raceQuestions.push($root.meerkat.BallotQuestion.decode(reader, reader.uint32())); + break; + case 9: + message.bulletinBoardClientParams = $root.meerkat.BulletinBoardClientParams.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ElectionParams message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.ElectionParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.ElectionParams} ElectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ElectionParams.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ElectionParams message. + * @function verify + * @memberof meerkat.ElectionParams + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ElectionParams.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.trusteeVerificationKeys != null && message.hasOwnProperty("trusteeVerificationKeys")) { + if (!Array.isArray(message.trusteeVerificationKeys)) + return "trusteeVerificationKeys: array expected"; + for (var i = 0; i < message.trusteeVerificationKeys.length; ++i) { + var error = $root.meerkat.SignatureVerificationKey.verify(message.trusteeVerificationKeys[i]); + if (error) + return "trusteeVerificationKeys." + error; + } + } + if (message.trusteeSignatureThreshold != null && message.hasOwnProperty("trusteeSignatureThreshold")) + if (!$util.isInteger(message.trusteeSignatureThreshold)) + return "trusteeSignatureThreshold: integer expected"; + if (message.ballotEncryptionKey != null && message.hasOwnProperty("ballotEncryptionKey")) { + error = $root.meerkat.EncryptionPublicKey.verify(message.ballotEncryptionKey); + if (error) + return "ballotEncryptionKey." + error; + } + if (message.mixerVerificationKeys != null && message.hasOwnProperty("mixerVerificationKeys")) { + if (!Array.isArray(message.mixerVerificationKeys)) + return "mixerVerificationKeys: array expected"; + for (var i = 0; i < message.mixerVerificationKeys.length; ++i) { + error = $root.meerkat.SignatureVerificationKey.verify(message.mixerVerificationKeys[i]); + if (error) + return "mixerVerificationKeys." + error; + } + } + if (message.mixerThreshold != null && message.hasOwnProperty("mixerThreshold")) + if (!$util.isInteger(message.mixerThreshold)) + return "mixerThreshold: integer expected"; + if (message.channelChoiceQuestions != null && message.hasOwnProperty("channelChoiceQuestions")) { + if (!Array.isArray(message.channelChoiceQuestions)) + return "channelChoiceQuestions: array expected"; + for (var i = 0; i < message.channelChoiceQuestions.length; ++i) { + error = $root.meerkat.BallotQuestion.verify(message.channelChoiceQuestions[i]); + if (error) + return "channelChoiceQuestions." + error; + } + } + if (message.selectionData != null && message.hasOwnProperty("selectionData")) { + error = $root.meerkat.SimpleCategoriesSelectionData.verify(message.selectionData); + if (error) + return "selectionData." + error; + } + if (message.raceQuestions != null && message.hasOwnProperty("raceQuestions")) { + if (!Array.isArray(message.raceQuestions)) + return "raceQuestions: array expected"; + for (var i = 0; i < message.raceQuestions.length; ++i) { + error = $root.meerkat.BallotQuestion.verify(message.raceQuestions[i]); + if (error) + return "raceQuestions." + error; + } + } + if (message.bulletinBoardClientParams != null && message.hasOwnProperty("bulletinBoardClientParams")) { + error = $root.meerkat.BulletinBoardClientParams.verify(message.bulletinBoardClientParams); + if (error) + return "bulletinBoardClientParams." + error; + } + return null; + }; + + /** + * Creates an ElectionParams message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.ElectionParams + * @static + * @param {Object.} object Plain object + * @returns {meerkat.ElectionParams} ElectionParams + */ + ElectionParams.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.ElectionParams) + return object; + var message = new $root.meerkat.ElectionParams(); + if (object.trusteeVerificationKeys) { + if (!Array.isArray(object.trusteeVerificationKeys)) + throw TypeError(".meerkat.ElectionParams.trusteeVerificationKeys: array expected"); + message.trusteeVerificationKeys = []; + for (var i = 0; i < object.trusteeVerificationKeys.length; ++i) { + if (typeof object.trusteeVerificationKeys[i] !== "object") + throw TypeError(".meerkat.ElectionParams.trusteeVerificationKeys: object expected"); + message.trusteeVerificationKeys[i] = $root.meerkat.SignatureVerificationKey.fromObject(object.trusteeVerificationKeys[i]); + } + } + if (object.trusteeSignatureThreshold != null) + message.trusteeSignatureThreshold = object.trusteeSignatureThreshold >>> 0; + if (object.ballotEncryptionKey != null) { + if (typeof object.ballotEncryptionKey !== "object") + throw TypeError(".meerkat.ElectionParams.ballotEncryptionKey: object expected"); + message.ballotEncryptionKey = $root.meerkat.EncryptionPublicKey.fromObject(object.ballotEncryptionKey); + } + if (object.mixerVerificationKeys) { + if (!Array.isArray(object.mixerVerificationKeys)) + throw TypeError(".meerkat.ElectionParams.mixerVerificationKeys: array expected"); + message.mixerVerificationKeys = []; + for (var i = 0; i < object.mixerVerificationKeys.length; ++i) { + if (typeof object.mixerVerificationKeys[i] !== "object") + throw TypeError(".meerkat.ElectionParams.mixerVerificationKeys: object expected"); + message.mixerVerificationKeys[i] = $root.meerkat.SignatureVerificationKey.fromObject(object.mixerVerificationKeys[i]); + } + } + if (object.mixerThreshold != null) + message.mixerThreshold = object.mixerThreshold >>> 0; + if (object.channelChoiceQuestions) { + if (!Array.isArray(object.channelChoiceQuestions)) + throw TypeError(".meerkat.ElectionParams.channelChoiceQuestions: array expected"); + message.channelChoiceQuestions = []; + for (var i = 0; i < object.channelChoiceQuestions.length; ++i) { + if (typeof object.channelChoiceQuestions[i] !== "object") + throw TypeError(".meerkat.ElectionParams.channelChoiceQuestions: object expected"); + message.channelChoiceQuestions[i] = $root.meerkat.BallotQuestion.fromObject(object.channelChoiceQuestions[i]); + } + } + if (object.selectionData != null) { + if (typeof object.selectionData !== "object") + throw TypeError(".meerkat.ElectionParams.selectionData: object expected"); + message.selectionData = $root.meerkat.SimpleCategoriesSelectionData.fromObject(object.selectionData); + } + if (object.raceQuestions) { + if (!Array.isArray(object.raceQuestions)) + throw TypeError(".meerkat.ElectionParams.raceQuestions: array expected"); + message.raceQuestions = []; + for (var i = 0; i < object.raceQuestions.length; ++i) { + if (typeof object.raceQuestions[i] !== "object") + throw TypeError(".meerkat.ElectionParams.raceQuestions: object expected"); + message.raceQuestions[i] = $root.meerkat.BallotQuestion.fromObject(object.raceQuestions[i]); + } + } + if (object.bulletinBoardClientParams != null) { + if (typeof object.bulletinBoardClientParams !== "object") + throw TypeError(".meerkat.ElectionParams.bulletinBoardClientParams: object expected"); + message.bulletinBoardClientParams = $root.meerkat.BulletinBoardClientParams.fromObject(object.bulletinBoardClientParams); + } + return message; + }; + + /** + * Creates a plain object from an ElectionParams message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.ElectionParams + * @static + * @param {meerkat.ElectionParams} message ElectionParams + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ElectionParams.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.trusteeVerificationKeys = []; + object.mixerVerificationKeys = []; + object.channelChoiceQuestions = []; + object.raceQuestions = []; + } + if (options.defaults) { + object.trusteeSignatureThreshold = 0; + object.ballotEncryptionKey = null; + object.mixerThreshold = 0; + object.selectionData = null; + object.bulletinBoardClientParams = null; + } + if (message.trusteeVerificationKeys && message.trusteeVerificationKeys.length) { + object.trusteeVerificationKeys = []; + for (var j = 0; j < message.trusteeVerificationKeys.length; ++j) + object.trusteeVerificationKeys[j] = $root.meerkat.SignatureVerificationKey.toObject(message.trusteeVerificationKeys[j], options); + } + if (message.trusteeSignatureThreshold != null && message.hasOwnProperty("trusteeSignatureThreshold")) + object.trusteeSignatureThreshold = message.trusteeSignatureThreshold; + if (message.ballotEncryptionKey != null && message.hasOwnProperty("ballotEncryptionKey")) + object.ballotEncryptionKey = $root.meerkat.EncryptionPublicKey.toObject(message.ballotEncryptionKey, options); + if (message.mixerVerificationKeys && message.mixerVerificationKeys.length) { + object.mixerVerificationKeys = []; + for (var j = 0; j < message.mixerVerificationKeys.length; ++j) + object.mixerVerificationKeys[j] = $root.meerkat.SignatureVerificationKey.toObject(message.mixerVerificationKeys[j], options); + } + if (message.mixerThreshold != null && message.hasOwnProperty("mixerThreshold")) + object.mixerThreshold = message.mixerThreshold; + if (message.channelChoiceQuestions && message.channelChoiceQuestions.length) { + object.channelChoiceQuestions = []; + for (var j = 0; j < message.channelChoiceQuestions.length; ++j) + object.channelChoiceQuestions[j] = $root.meerkat.BallotQuestion.toObject(message.channelChoiceQuestions[j], options); + } + if (message.selectionData != null && message.hasOwnProperty("selectionData")) + object.selectionData = $root.meerkat.SimpleCategoriesSelectionData.toObject(message.selectionData, options); + if (message.raceQuestions && message.raceQuestions.length) { + object.raceQuestions = []; + for (var j = 0; j < message.raceQuestions.length; ++j) + object.raceQuestions[j] = $root.meerkat.BallotQuestion.toObject(message.raceQuestions[j], options); + } + if (message.bulletinBoardClientParams != null && message.hasOwnProperty("bulletinBoardClientParams")) + object.bulletinBoardClientParams = $root.meerkat.BulletinBoardClientParams.toObject(message.bulletinBoardClientParams, options); + return object; + }; + + /** + * Converts this ElectionParams to JSON. + * @function toJSON + * @memberof meerkat.ElectionParams + * @instance + * @returns {Object.} JSON object + */ + ElectionParams.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ElectionParams; + })(); + + meerkat.Category = (function() { + + /** + * Properties of a Category. + * @memberof meerkat + * @interface ICategory + * @property {Array.} [questionIndex] Category questionIndex + */ + + /** + * Constructs a new Category. + * @memberof meerkat + * @classdesc Represents a Category. + * @constructor + * @param {meerkat.ICategory=} [properties] Properties to set + */ + function Category(properties) { + this.questionIndex = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Category questionIndex. + * @member {Array.}questionIndex + * @memberof meerkat.Category + * @instance + */ + Category.prototype.questionIndex = $util.emptyArray; + + /** + * Creates a new Category instance using the specified properties. + * @function create + * @memberof meerkat.Category + * @static + * @param {meerkat.ICategory=} [properties] Properties to set + * @returns {meerkat.Category} Category instance + */ + Category.create = function create(properties) { + return new Category(properties); + }; + + /** + * Encodes the specified Category message. Does not implicitly {@link meerkat.Category.verify|verify} messages. + * @function encode + * @memberof meerkat.Category + * @static + * @param {meerkat.ICategory} message Category message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Category.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.questionIndex != null && message.questionIndex.length) { + writer.uint32(/* id 1, wireType 2 =*/10).fork(); + for (var i = 0; i < message.questionIndex.length; ++i) + writer.uint32(message.questionIndex[i]); + writer.ldelim(); + } + return writer; + }; + + /** + * Encodes the specified Category message, length delimited. Does not implicitly {@link meerkat.Category.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.Category + * @static + * @param {meerkat.ICategory} message Category message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Category.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Category message from the specified reader or buffer. + * @function decode + * @memberof meerkat.Category + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.Category} Category + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Category.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.Category(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.questionIndex && message.questionIndex.length)) + message.questionIndex = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.questionIndex.push(reader.uint32()); + } else + message.questionIndex.push(reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Category message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.Category + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.Category} Category + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Category.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Category message. + * @function verify + * @memberof meerkat.Category + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Category.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.questionIndex != null && message.hasOwnProperty("questionIndex")) { + if (!Array.isArray(message.questionIndex)) + return "questionIndex: array expected"; + for (var i = 0; i < message.questionIndex.length; ++i) + if (!$util.isInteger(message.questionIndex[i])) + return "questionIndex: integer[] expected"; + } + return null; + }; + + /** + * Creates a Category message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.Category + * @static + * @param {Object.} object Plain object + * @returns {meerkat.Category} Category + */ + Category.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.Category) + return object; + var message = new $root.meerkat.Category(); + if (object.questionIndex) { + if (!Array.isArray(object.questionIndex)) + throw TypeError(".meerkat.Category.questionIndex: array expected"); + message.questionIndex = []; + for (var i = 0; i < object.questionIndex.length; ++i) + message.questionIndex[i] = object.questionIndex[i] >>> 0; + } + return message; + }; + + /** + * Creates a plain object from a Category message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.Category + * @static + * @param {meerkat.Category} message Category + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Category.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.questionIndex = []; + if (message.questionIndex && message.questionIndex.length) { + object.questionIndex = []; + for (var j = 0; j < message.questionIndex.length; ++j) + object.questionIndex[j] = message.questionIndex[j]; + } + return object; + }; + + /** + * Converts this Category to JSON. + * @function toJSON + * @memberof meerkat.Category + * @instance + * @returns {Object.} JSON object + */ + Category.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Category; + })(); + + meerkat.CategoryChooser = (function() { + + /** + * Properties of a CategoryChooser. + * @memberof meerkat + * @interface ICategoryChooser + * @property {Array.} [category] CategoryChooser category + */ + + /** + * Constructs a new CategoryChooser. + * @memberof meerkat + * @classdesc Represents a CategoryChooser. + * @constructor + * @param {meerkat.ICategoryChooser=} [properties] Properties to set + */ + function CategoryChooser(properties) { + this.category = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CategoryChooser category. + * @member {Array.}category + * @memberof meerkat.CategoryChooser + * @instance + */ + CategoryChooser.prototype.category = $util.emptyArray; + + /** + * Creates a new CategoryChooser instance using the specified properties. + * @function create + * @memberof meerkat.CategoryChooser + * @static + * @param {meerkat.ICategoryChooser=} [properties] Properties to set + * @returns {meerkat.CategoryChooser} CategoryChooser instance + */ + CategoryChooser.create = function create(properties) { + return new CategoryChooser(properties); + }; + + /** + * Encodes the specified CategoryChooser message. Does not implicitly {@link meerkat.CategoryChooser.verify|verify} messages. + * @function encode + * @memberof meerkat.CategoryChooser + * @static + * @param {meerkat.ICategoryChooser} message CategoryChooser message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CategoryChooser.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.category != null && message.category.length) + for (var i = 0; i < message.category.length; ++i) + $root.meerkat.Category.encode(message.category[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified CategoryChooser message, length delimited. Does not implicitly {@link meerkat.CategoryChooser.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.CategoryChooser + * @static + * @param {meerkat.ICategoryChooser} message CategoryChooser message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CategoryChooser.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CategoryChooser message from the specified reader or buffer. + * @function decode + * @memberof meerkat.CategoryChooser + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.CategoryChooser} CategoryChooser + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CategoryChooser.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.CategoryChooser(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.category && message.category.length)) + message.category = []; + message.category.push($root.meerkat.Category.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CategoryChooser message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.CategoryChooser + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.CategoryChooser} CategoryChooser + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CategoryChooser.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CategoryChooser message. + * @function verify + * @memberof meerkat.CategoryChooser + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CategoryChooser.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.category != null && message.hasOwnProperty("category")) { + if (!Array.isArray(message.category)) + return "category: array expected"; + for (var i = 0; i < message.category.length; ++i) { + var error = $root.meerkat.Category.verify(message.category[i]); + if (error) + return "category." + error; + } + } + return null; + }; + + /** + * Creates a CategoryChooser message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.CategoryChooser + * @static + * @param {Object.} object Plain object + * @returns {meerkat.CategoryChooser} CategoryChooser + */ + CategoryChooser.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.CategoryChooser) + return object; + var message = new $root.meerkat.CategoryChooser(); + if (object.category) { + if (!Array.isArray(object.category)) + throw TypeError(".meerkat.CategoryChooser.category: array expected"); + message.category = []; + for (var i = 0; i < object.category.length; ++i) { + if (typeof object.category[i] !== "object") + throw TypeError(".meerkat.CategoryChooser.category: object expected"); + message.category[i] = $root.meerkat.Category.fromObject(object.category[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a CategoryChooser message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.CategoryChooser + * @static + * @param {meerkat.CategoryChooser} message CategoryChooser + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CategoryChooser.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.category = []; + if (message.category && message.category.length) { + object.category = []; + for (var j = 0; j < message.category.length; ++j) + object.category[j] = $root.meerkat.Category.toObject(message.category[j], options); + } + return object; + }; + + /** + * Converts this CategoryChooser to JSON. + * @function toJSON + * @memberof meerkat.CategoryChooser + * @instance + * @returns {Object.} JSON object + */ + CategoryChooser.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CategoryChooser; + })(); + + meerkat.SimpleCategoriesSelectionData = (function() { + + /** + * Properties of a SimpleCategoriesSelectionData. + * @memberof meerkat + * @interface ISimpleCategoriesSelectionData + * @property {meerkat.ICategory} [sharedDefaults] SimpleCategoriesSelectionData sharedDefaults + * @property {Array.} [categoryChooser] SimpleCategoriesSelectionData categoryChooser + */ + + /** + * Constructs a new SimpleCategoriesSelectionData. + * @memberof meerkat + * @classdesc Represents a SimpleCategoriesSelectionData. + * @constructor + * @param {meerkat.ISimpleCategoriesSelectionData=} [properties] Properties to set + */ + function SimpleCategoriesSelectionData(properties) { + this.categoryChooser = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SimpleCategoriesSelectionData sharedDefaults. + * @member {(meerkat.ICategory|null|undefined)}sharedDefaults + * @memberof meerkat.SimpleCategoriesSelectionData + * @instance + */ + SimpleCategoriesSelectionData.prototype.sharedDefaults = null; + + /** + * SimpleCategoriesSelectionData categoryChooser. + * @member {Array.}categoryChooser + * @memberof meerkat.SimpleCategoriesSelectionData + * @instance + */ + SimpleCategoriesSelectionData.prototype.categoryChooser = $util.emptyArray; + + /** + * Creates a new SimpleCategoriesSelectionData instance using the specified properties. + * @function create + * @memberof meerkat.SimpleCategoriesSelectionData + * @static + * @param {meerkat.ISimpleCategoriesSelectionData=} [properties] Properties to set + * @returns {meerkat.SimpleCategoriesSelectionData} SimpleCategoriesSelectionData instance + */ + SimpleCategoriesSelectionData.create = function create(properties) { + return new SimpleCategoriesSelectionData(properties); + }; + + /** + * Encodes the specified SimpleCategoriesSelectionData message. Does not implicitly {@link meerkat.SimpleCategoriesSelectionData.verify|verify} messages. + * @function encode + * @memberof meerkat.SimpleCategoriesSelectionData + * @static + * @param {meerkat.ISimpleCategoriesSelectionData} message SimpleCategoriesSelectionData message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SimpleCategoriesSelectionData.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.sharedDefaults != null && message.hasOwnProperty("sharedDefaults")) + $root.meerkat.Category.encode(message.sharedDefaults, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.categoryChooser != null && message.categoryChooser.length) + for (var i = 0; i < message.categoryChooser.length; ++i) + $root.meerkat.CategoryChooser.encode(message.categoryChooser[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified SimpleCategoriesSelectionData message, length delimited. Does not implicitly {@link meerkat.SimpleCategoriesSelectionData.verify|verify} messages. + * @function encodeDelimited + * @memberof meerkat.SimpleCategoriesSelectionData + * @static + * @param {meerkat.ISimpleCategoriesSelectionData} message SimpleCategoriesSelectionData message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SimpleCategoriesSelectionData.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SimpleCategoriesSelectionData message from the specified reader or buffer. + * @function decode + * @memberof meerkat.SimpleCategoriesSelectionData + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {meerkat.SimpleCategoriesSelectionData} SimpleCategoriesSelectionData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SimpleCategoriesSelectionData.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.SimpleCategoriesSelectionData(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sharedDefaults = $root.meerkat.Category.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.categoryChooser && message.categoryChooser.length)) + message.categoryChooser = []; + message.categoryChooser.push($root.meerkat.CategoryChooser.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SimpleCategoriesSelectionData message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof meerkat.SimpleCategoriesSelectionData + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {meerkat.SimpleCategoriesSelectionData} SimpleCategoriesSelectionData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SimpleCategoriesSelectionData.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SimpleCategoriesSelectionData message. + * @function verify + * @memberof meerkat.SimpleCategoriesSelectionData + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SimpleCategoriesSelectionData.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.sharedDefaults != null && message.hasOwnProperty("sharedDefaults")) { + var error = $root.meerkat.Category.verify(message.sharedDefaults); + if (error) + return "sharedDefaults." + error; + } + if (message.categoryChooser != null && message.hasOwnProperty("categoryChooser")) { + if (!Array.isArray(message.categoryChooser)) + return "categoryChooser: array expected"; + for (var i = 0; i < message.categoryChooser.length; ++i) { + error = $root.meerkat.CategoryChooser.verify(message.categoryChooser[i]); + if (error) + return "categoryChooser." + error; + } + } + return null; + }; + + /** + * Creates a SimpleCategoriesSelectionData message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof meerkat.SimpleCategoriesSelectionData + * @static + * @param {Object.} object Plain object + * @returns {meerkat.SimpleCategoriesSelectionData} SimpleCategoriesSelectionData + */ + SimpleCategoriesSelectionData.fromObject = function fromObject(object) { + if (object instanceof $root.meerkat.SimpleCategoriesSelectionData) + return object; + var message = new $root.meerkat.SimpleCategoriesSelectionData(); + if (object.sharedDefaults != null) { + if (typeof object.sharedDefaults !== "object") + throw TypeError(".meerkat.SimpleCategoriesSelectionData.sharedDefaults: object expected"); + message.sharedDefaults = $root.meerkat.Category.fromObject(object.sharedDefaults); + } + if (object.categoryChooser) { + if (!Array.isArray(object.categoryChooser)) + throw TypeError(".meerkat.SimpleCategoriesSelectionData.categoryChooser: array expected"); + message.categoryChooser = []; + for (var i = 0; i < object.categoryChooser.length; ++i) { + if (typeof object.categoryChooser[i] !== "object") + throw TypeError(".meerkat.SimpleCategoriesSelectionData.categoryChooser: object expected"); + message.categoryChooser[i] = $root.meerkat.CategoryChooser.fromObject(object.categoryChooser[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a SimpleCategoriesSelectionData message. Also converts values to other types if specified. + * @function toObject + * @memberof meerkat.SimpleCategoriesSelectionData + * @static + * @param {meerkat.SimpleCategoriesSelectionData} message SimpleCategoriesSelectionData + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SimpleCategoriesSelectionData.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.categoryChooser = []; + if (options.defaults) + object.sharedDefaults = null; + if (message.sharedDefaults != null && message.hasOwnProperty("sharedDefaults")) + object.sharedDefaults = $root.meerkat.Category.toObject(message.sharedDefaults, options); + if (message.categoryChooser && message.categoryChooser.length) { + object.categoryChooser = []; + for (var j = 0; j < message.categoryChooser.length; ++j) + object.categoryChooser[j] = $root.meerkat.CategoryChooser.toObject(message.categoryChooser[j], options); + } + return object; + }; + + /** + * Converts this SimpleCategoriesSelectionData to JSON. + * @function toJSON + * @memberof meerkat.SimpleCategoriesSelectionData + * @instance + * @returns {Object.} JSON object + */ + SimpleCategoriesSelectionData.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return SimpleCategoriesSelectionData; + })(); + + return meerkat; +})(); + +$root.google = (function() { + + /** + * Namespace google. + * @exports google + * @namespace + */ + var google = {}; + + google.protobuf = (function() { + + /** + * Namespace protobuf. + * @memberof google + * @namespace + */ + var protobuf = {}; + + protobuf.Timestamp = (function() { + + /** + * Properties of a Timestamp. + * @memberof google.protobuf + * @interface ITimestamp + * @property {number|Long} [seconds] Timestamp seconds + * @property {number} [nanos] Timestamp nanos + */ + + /** + * Constructs a new Timestamp. + * @memberof google.protobuf + * @classdesc Represents a Timestamp. + * @constructor + * @param {google.protobuf.ITimestamp=} [properties] Properties to set + */ + function Timestamp(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Timestamp seconds. + * @member {number|Long}seconds + * @memberof google.protobuf.Timestamp + * @instance + */ + Timestamp.prototype.seconds = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Timestamp nanos. + * @member {number}nanos + * @memberof google.protobuf.Timestamp + * @instance + */ + Timestamp.prototype.nanos = 0; + + /** + * Creates a new Timestamp instance using the specified properties. + * @function create + * @memberof google.protobuf.Timestamp + * @static + * @param {google.protobuf.ITimestamp=} [properties] Properties to set + * @returns {google.protobuf.Timestamp} Timestamp instance + */ + Timestamp.create = function create(properties) { + return new Timestamp(properties); + }; + + /** + * Encodes the specified Timestamp message. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. + * @function encode + * @memberof google.protobuf.Timestamp + * @static + * @param {google.protobuf.ITimestamp} message Timestamp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Timestamp.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.seconds != null && message.hasOwnProperty("seconds")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.seconds); + if (message.nanos != null && message.hasOwnProperty("nanos")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.nanos); + return writer; + }; + + /** + * Encodes the specified Timestamp message, length delimited. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.Timestamp + * @static + * @param {google.protobuf.ITimestamp} message Timestamp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Timestamp.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Timestamp message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.Timestamp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.Timestamp} Timestamp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Timestamp.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Timestamp(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.seconds = reader.int64(); + break; + case 2: + message.nanos = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Timestamp message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.Timestamp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.Timestamp} Timestamp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Timestamp.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Timestamp message. + * @function verify + * @memberof google.protobuf.Timestamp + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Timestamp.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.seconds != null && message.hasOwnProperty("seconds")) + if (!$util.isInteger(message.seconds) && !(message.seconds && $util.isInteger(message.seconds.low) && $util.isInteger(message.seconds.high))) + return "seconds: integer|Long expected"; + if (message.nanos != null && message.hasOwnProperty("nanos")) + if (!$util.isInteger(message.nanos)) + return "nanos: integer expected"; + return null; + }; + + /** + * Creates a Timestamp message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.Timestamp + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.Timestamp} Timestamp + */ + Timestamp.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.Timestamp) + return object; + var message = new $root.google.protobuf.Timestamp(); + if (object.seconds != null) + if ($util.Long) + (message.seconds = $util.Long.fromValue(object.seconds)).unsigned = false; + else if (typeof object.seconds === "string") + message.seconds = parseInt(object.seconds, 10); + else if (typeof object.seconds === "number") + message.seconds = object.seconds; + else if (typeof object.seconds === "object") + message.seconds = new $util.LongBits(object.seconds.low >>> 0, object.seconds.high >>> 0).toNumber(); + if (object.nanos != null) + message.nanos = object.nanos | 0; + return message; + }; + + /** + * Creates a plain object from a Timestamp message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.Timestamp + * @static + * @param {google.protobuf.Timestamp} message Timestamp + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Timestamp.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.seconds = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.seconds = options.longs === String ? "0" : 0; + object.nanos = 0; + } + if (message.seconds != null && message.hasOwnProperty("seconds")) + if (typeof message.seconds === "number") + object.seconds = options.longs === String ? String(message.seconds) : message.seconds; + else + object.seconds = options.longs === String ? $util.Long.prototype.toString.call(message.seconds) : options.longs === Number ? new $util.LongBits(message.seconds.low >>> 0, message.seconds.high >>> 0).toNumber() : message.seconds; + if (message.nanos != null && message.hasOwnProperty("nanos")) + object.nanos = message.nanos; + return object; + }; + + /** + * Converts this Timestamp to JSON. + * @function toJSON + * @memberof google.protobuf.Timestamp + * @instance + * @returns {Object.} JSON object + */ + Timestamp.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Timestamp; + })(); + + return protobuf; + })(); + + return google; +})(); + +module.exports = $root; diff --git a/bulletin-board-server-frontend/src/assets/.gitkeep b/bulletin-board-server-frontend/src/assets/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/bulletin-board-server-frontend/src/environments/environment.prod.ts b/bulletin-board-server-frontend/src/environments/environment.prod.ts new file mode 100644 index 0000000..3612073 --- /dev/null +++ b/bulletin-board-server-frontend/src/environments/environment.prod.ts @@ -0,0 +1,3 @@ +export const environment = { + production: true +}; diff --git a/bulletin-board-server-frontend/src/environments/environment.ts b/bulletin-board-server-frontend/src/environments/environment.ts new file mode 100644 index 0000000..b7f639a --- /dev/null +++ b/bulletin-board-server-frontend/src/environments/environment.ts @@ -0,0 +1,8 @@ +// The file contents for the current environment will overwrite these during build. +// The build system defaults to the dev environment which uses `environment.ts`, but if you do +// `ng build --env=prod` then `environment.prod.ts` will be used instead. +// The list of which env maps to which file can be found in `.angular-cli.json`. + +export const environment = { + production: false +}; diff --git a/bulletin-board-server-frontend/src/favicon.ico b/bulletin-board-server-frontend/src/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..8081c7ceaf2be08bf59010158c586170d9d2d517 GIT binary patch literal 5430 zcmc(je{54#6vvCoAI3i*G5%$U7!sA3wtMZ$fH6V9C`=eXGJb@R1%(I_{vnZtpD{6n z5Pl{DmxzBDbrB>}`90e12m8T*36WoeDLA&SD_hw{H^wM!cl_RWcVA!I+x87ee975; z@4kD^=bYPn&pmG@(+JZ`rqQEKxW<}RzhW}I!|ulN=fmjVi@x{p$cC`)5$a!)X&U+blKNvN5tg=uLvuLnuqRM;Yc*swiexsoh#XPNu{9F#c`G zQLe{yWA(Y6(;>y|-efAy11k<09(@Oo1B2@0`PtZSkqK&${ zgEY}`W@t{%?9u5rF?}Y7OL{338l*JY#P!%MVQY@oqnItpZ}?s z!r?*kwuR{A@jg2Chlf0^{q*>8n5Ir~YWf*wmsh7B5&EpHfd5@xVaj&gqsdui^spyL zB|kUoblGoO7G(MuKTfa9?pGH0@QP^b#!lM1yHWLh*2iq#`C1TdrnO-d#?Oh@XV2HK zKA{`eo{--^K&MW66Lgsktfvn#cCAc*(}qsfhrvOjMGLE?`dHVipu1J3Kgr%g?cNa8 z)pkmC8DGH~fG+dlrp(5^-QBeEvkOvv#q7MBVLtm2oD^$lJZx--_=K&Ttd=-krx(Bb zcEoKJda@S!%%@`P-##$>*u%T*mh+QjV@)Qa=Mk1?#zLk+M4tIt%}wagT{5J%!tXAE;r{@=bb%nNVxvI+C+$t?!VJ@0d@HIyMJTI{vEw0Ul ze(ha!e&qANbTL1ZneNl45t=#Ot??C0MHjjgY8%*mGisN|S6%g3;Hlx#fMNcL<87MW zZ>6moo1YD?P!fJ#Jb(4)_cc50X5n0KoDYfdPoL^iV`k&o{LPyaoqMqk92wVM#_O0l z09$(A-D+gVIlq4TA&{1T@BsUH`Bm=r#l$Z51J-U&F32+hfUP-iLo=jg7Xmy+WLq6_tWv&`wDlz#`&)Jp~iQf zZP)tu>}pIIJKuw+$&t}GQuqMd%Z>0?t%&BM&Wo^4P^Y z)c6h^f2R>X8*}q|bblAF?@;%?2>$y+cMQbN{X$)^R>vtNq_5AB|0N5U*d^T?X9{xQnJYeU{ zoZL#obI;~Pp95f1`%X3D$Mh*4^?O?IT~7HqlWguezmg?Ybq|7>qQ(@pPHbE9V?f|( z+0xo!#m@Np9PljsyxBY-UA*{U*la#8Wz2sO|48_-5t8%_!n?S$zlGe+NA%?vmxjS- zHE5O3ZarU=X}$7>;Okp(UWXJxI%G_J-@IH;%5#Rt$(WUX?6*Ux!IRd$dLP6+SmPn= z8zjm4jGjN772R{FGkXwcNv8GBcZI#@Y2m{RNF_w8(Z%^A*!bS*!}s6sh*NnURytky humW;*g7R+&|Ledvc- + + + + BulletinBoardServerFrontend + + + + + + + + + diff --git a/bulletin-board-server-frontend/src/main.ts b/bulletin-board-server-frontend/src/main.ts new file mode 100644 index 0000000..a9ca1ca --- /dev/null +++ b/bulletin-board-server-frontend/src/main.ts @@ -0,0 +1,11 @@ +import { enableProdMode } from '@angular/core'; +import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; + +import { AppModule } from './app/app.module'; +import { environment } from './environments/environment'; + +if (environment.production) { + enableProdMode(); +} + +platformBrowserDynamic().bootstrapModule(AppModule); diff --git a/bulletin-board-server-frontend/src/polyfills.ts b/bulletin-board-server-frontend/src/polyfills.ts new file mode 100644 index 0000000..7831e97 --- /dev/null +++ b/bulletin-board-server-frontend/src/polyfills.ts @@ -0,0 +1,72 @@ +/** + * This file includes polyfills needed by Angular and is loaded before the app. + * You can add your own extra polyfills to this file. + * + * This file is divided into 2 sections: + * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. + * 2. Application imports. Files imported after ZoneJS that should be loaded before your main + * file. + * + * The current setup is for so-called "evergreen" browsers; the last versions of browsers that + * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera), + * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile. + * + * Learn more in https://angular.io/docs/ts/latest/guide/browser-support.html + */ + +/*************************************************************************************************** + * BROWSER POLYFILLS + */ + +/** IE9, IE10 and IE11 requires all of the following polyfills. **/ +// import 'core-js/es6/symbol'; +// import 'core-js/es6/object'; +// import 'core-js/es6/function'; +// import 'core-js/es6/parse-int'; +// import 'core-js/es6/parse-float'; +// import 'core-js/es6/number'; +// import 'core-js/es6/math'; +// import 'core-js/es6/string'; +// import 'core-js/es6/date'; +// import 'core-js/es6/array'; +// import 'core-js/es6/regexp'; +// import 'core-js/es6/map'; +// import 'core-js/es6/weak-map'; +// import 'core-js/es6/set'; + +/** IE10 and IE11 requires the following for NgClass support on SVG elements */ +// import 'classlist.js'; // Run `npm install --save classlist.js`. + +/** Evergreen browsers require these. **/ +import 'core-js/es6/reflect'; +import 'core-js/es7/reflect'; + + +/** + * Required to support Web Animations `@angular/animation`. + * Needed for: All but Chrome, Firefox and Opera. http://caniuse.com/#feat=web-animation + **/ +// import 'web-animations-js'; // Run `npm install --save web-animations-js`. + + + +/*************************************************************************************************** + * Zone JS is required by Angular itself. + */ +import 'zone.js/dist/zone'; // Included with Angular CLI. + + + +/*************************************************************************************************** + * APPLICATION IMPORTS + */ + +/** + * Date, currency, decimal and percent pipes. + * Needed for: All but Chrome, Firefox, Edge, IE11 and Safari 10 + */ +// import 'intl'; // Run `npm install --save intl`. +/** + * Need to import at least one locale-data with intl. + */ +// import 'intl/locale-data/jsonp/en'; diff --git a/bulletin-board-server-frontend/src/proto/DKG.proto b/bulletin-board-server-frontend/src/proto/DKG.proto new file mode 120000 index 0000000..7e491e8 --- /dev/null +++ b/bulletin-board-server-frontend/src/proto/DKG.proto @@ -0,0 +1 @@ +../../../distributed-key-generation/src/main/proto/meerkat/DKG.proto \ No newline at end of file diff --git a/bulletin-board-server-frontend/src/proto/ballot_question_ui_element.proto b/bulletin-board-server-frontend/src/proto/ballot_question_ui_element.proto new file mode 120000 index 0000000..9fe7723 --- /dev/null +++ b/bulletin-board-server-frontend/src/proto/ballot_question_ui_element.proto @@ -0,0 +1 @@ +../../../meerkat-common/src/main/proto/meerkat/ballot_question_ui_element.proto \ No newline at end of file diff --git a/bulletin-board-server-frontend/src/proto/bulletin_board_api.proto b/bulletin-board-server-frontend/src/proto/bulletin_board_api.proto new file mode 120000 index 0000000..25931e9 --- /dev/null +++ b/bulletin-board-server-frontend/src/proto/bulletin_board_api.proto @@ -0,0 +1 @@ +../../../meerkat-common/src/main/proto/meerkat/bulletin_board_api.proto \ No newline at end of file diff --git a/bulletin-board-server-frontend/src/proto/bulletin_board_webapp.proto b/bulletin-board-server-frontend/src/proto/bulletin_board_webapp.proto new file mode 120000 index 0000000..de630ad --- /dev/null +++ b/bulletin-board-server-frontend/src/proto/bulletin_board_webapp.proto @@ -0,0 +1 @@ +../../../bulletin-board-server/src/main/proto/meerkat/bulletin_board_webapp.proto \ No newline at end of file diff --git a/bulletin-board-server-frontend/src/proto/comm.proto b/bulletin-board-server-frontend/src/proto/comm.proto new file mode 120000 index 0000000..7bbef0d --- /dev/null +++ b/bulletin-board-server-frontend/src/proto/comm.proto @@ -0,0 +1 @@ +../../../meerkat-common/src/main/proto/meerkat/comm.proto \ No newline at end of file diff --git a/bulletin-board-server-frontend/src/proto/concrete_crypto.proto b/bulletin-board-server-frontend/src/proto/concrete_crypto.proto new file mode 120000 index 0000000..86bc0c6 --- /dev/null +++ b/bulletin-board-server-frontend/src/proto/concrete_crypto.proto @@ -0,0 +1 @@ +../../../mixer/docs/concrete_crypto.proto \ No newline at end of file diff --git a/bulletin-board-server-frontend/src/proto/crypto.proto b/bulletin-board-server-frontend/src/proto/crypto.proto new file mode 120000 index 0000000..48ff272 --- /dev/null +++ b/bulletin-board-server-frontend/src/proto/crypto.proto @@ -0,0 +1 @@ +../../../mixer/docs/crypto.proto \ No newline at end of file diff --git a/bulletin-board-server-frontend/src/proto/mixing.proto b/bulletin-board-server-frontend/src/proto/mixing.proto new file mode 120000 index 0000000..803d618 --- /dev/null +++ b/bulletin-board-server-frontend/src/proto/mixing.proto @@ -0,0 +1 @@ +../../../mixer/src/main/proto/meerkat/mixing.proto \ No newline at end of file diff --git a/bulletin-board-server-frontend/src/proto/polling_station.proto b/bulletin-board-server-frontend/src/proto/polling_station.proto new file mode 120000 index 0000000..4cffd73 --- /dev/null +++ b/bulletin-board-server-frontend/src/proto/polling_station.proto @@ -0,0 +1 @@ +../../../scanner-api-common/src/main/proto/meerkat/polling_station.proto \ No newline at end of file diff --git a/bulletin-board-server-frontend/src/proto/voting.proto b/bulletin-board-server-frontend/src/proto/voting.proto new file mode 120000 index 0000000..ab5f0f6 --- /dev/null +++ b/bulletin-board-server-frontend/src/proto/voting.proto @@ -0,0 +1 @@ +../../../meerkat-common/src/main/proto/meerkat/voting.proto \ No newline at end of file diff --git a/bulletin-board-server-frontend/src/styles.css b/bulletin-board-server-frontend/src/styles.css new file mode 100644 index 0000000..90d4ee0 --- /dev/null +++ b/bulletin-board-server-frontend/src/styles.css @@ -0,0 +1 @@ +/* You can add global styles to this file, and also import other style files */ diff --git a/bulletin-board-server-frontend/src/test.ts b/bulletin-board-server-frontend/src/test.ts new file mode 100644 index 0000000..cd612ee --- /dev/null +++ b/bulletin-board-server-frontend/src/test.ts @@ -0,0 +1,32 @@ +// This file is required by karma.conf.js and loads recursively all the .spec and framework files + +import 'zone.js/dist/long-stack-trace-zone'; +import 'zone.js/dist/proxy.js'; +import 'zone.js/dist/sync-test'; +import 'zone.js/dist/jasmine-patch'; +import 'zone.js/dist/async-test'; +import 'zone.js/dist/fake-async-test'; +import { getTestBed } from '@angular/core/testing'; +import { + BrowserDynamicTestingModule, + platformBrowserDynamicTesting +} from '@angular/platform-browser-dynamic/testing'; + +// Unfortunately there's no typing for the `__karma__` variable. Just declare it as any. +declare const __karma__: any; +declare const require: any; + +// Prevent Karma from running prematurely. +__karma__.loaded = function () {}; + +// First, initialize the Angular testing environment. +getTestBed().initTestEnvironment( + BrowserDynamicTestingModule, + platformBrowserDynamicTesting() +); +// Then we find all the tests. +const context = require.context('./', true, /\.spec\.ts$/); +// And load the modules. +context.keys().map(context); +// Finally, start Karma to run the tests. +__karma__.start(); diff --git a/bulletin-board-server-frontend/src/tsconfig.app.json b/bulletin-board-server-frontend/src/tsconfig.app.json new file mode 100644 index 0000000..5e2507d --- /dev/null +++ b/bulletin-board-server-frontend/src/tsconfig.app.json @@ -0,0 +1,13 @@ +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "outDir": "../out-tsc/app", + "module": "es2015", + "baseUrl": "", + "types": [] + }, + "exclude": [ + "test.ts", + "**/*.spec.ts" + ] +} diff --git a/bulletin-board-server-frontend/src/tsconfig.spec.json b/bulletin-board-server-frontend/src/tsconfig.spec.json new file mode 100644 index 0000000..510e3f1 --- /dev/null +++ b/bulletin-board-server-frontend/src/tsconfig.spec.json @@ -0,0 +1,20 @@ +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "outDir": "../out-tsc/spec", + "module": "commonjs", + "target": "es5", + "baseUrl": "", + "types": [ + "jasmine", + "node" + ] + }, + "files": [ + "test.ts" + ], + "include": [ + "**/*.spec.ts", + "**/*.d.ts" + ] +} diff --git a/bulletin-board-server-frontend/src/typings.d.ts b/bulletin-board-server-frontend/src/typings.d.ts new file mode 100644 index 0000000..ef5c7bd --- /dev/null +++ b/bulletin-board-server-frontend/src/typings.d.ts @@ -0,0 +1,5 @@ +/* SystemJS module definition */ +declare var module: NodeModule; +interface NodeModule { + id: string; +} diff --git a/bulletin-board-server-frontend/tsconfig.json b/bulletin-board-server-frontend/tsconfig.json new file mode 100644 index 0000000..a35a8ee --- /dev/null +++ b/bulletin-board-server-frontend/tsconfig.json @@ -0,0 +1,20 @@ +{ + "compileOnSave": false, + "compilerOptions": { + "outDir": "./dist/out-tsc", + "baseUrl": "src", + "sourceMap": true, + "declaration": false, + "moduleResolution": "node", + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "target": "es5", + "typeRoots": [ + "node_modules/@types" + ], + "lib": [ + "es2016", + "dom" + ] + } +} diff --git a/bulletin-board-server-frontend/tslint.json b/bulletin-board-server-frontend/tslint.json new file mode 100644 index 0000000..dd117b3 --- /dev/null +++ b/bulletin-board-server-frontend/tslint.json @@ -0,0 +1,135 @@ +{ + "rulesDirectory": [ + "node_modules/codelyzer" + ], + "rules": { + "arrow-return-shorthand": true, + "callable-types": true, + "class-name": true, + "comment-format": [ + true, + "check-space" + ], + "curly": true, + "eofline": true, + "forin": true, + "import-blacklist": [ + true, + "rxjs" + ], + "import-spacing": true, + "indent": [ + true, + "spaces" + ], + "interface-over-type-literal": true, + "label-position": true, + "max-line-length": [ + true, + 140 + ], + "member-access": false, + "member-ordering": [ + true, + "static-before-instance", + "variables-before-functions" + ], + "no-arg": true, + "no-bitwise": true, + "no-console": [ + true, + "debug", + "info", + "time", + "timeEnd", + "trace" + ], + "no-construct": true, + "no-debugger": true, + "no-duplicate-super": true, + "no-empty": false, + "no-empty-interface": true, + "no-eval": true, + "no-inferrable-types": [ + true, + "ignore-params" + ], + "no-misused-new": true, + "no-non-null-assertion": true, + "no-shadowed-variable": true, + "no-string-literal": false, + "no-string-throw": true, + "no-switch-case-fall-through": true, + "no-trailing-whitespace": true, + "no-unnecessary-initializer": true, + "no-unused-expression": true, + "no-use-before-declare": true, + "no-var-keyword": true, + "object-literal-sort-keys": false, + "one-line": [ + true, + "check-open-brace", + "check-catch", + "check-else", + "check-whitespace" + ], + "prefer-const": true, + "quotemark": [ + true, + "single" + ], + "radix": true, + "semicolon": [ + "always" + ], + "triple-equals": [ + true, + "allow-null-check" + ], + "typedef-whitespace": [ + true, + { + "call-signature": "nospace", + "index-signature": "nospace", + "parameter": "nospace", + "property-declaration": "nospace", + "variable-declaration": "nospace" + } + ], + "typeof-compare": true, + "unified-signatures": true, + "variable-name": false, + "whitespace": [ + true, + "check-branch", + "check-decl", + "check-operator", + "check-separator", + "check-type" + ], + "directive-selector": [ + true, + "attribute", + "app", + "camelCase" + ], + "component-selector": [ + true, + "element", + "app", + "kebab-case" + ], + "use-input-property-decorator": true, + "use-output-property-decorator": true, + "use-host-property-decorator": true, + "no-input-rename": true, + "no-output-rename": true, + "use-life-cycle-interface": true, + "use-pipe-transform-interface": true, + "component-class-suffix": true, + "directive-class-suffix": true, + "no-access-missing-member": true, + "templates-use-public": true, + "invoke-injectable": true + } +} diff --git a/bulletin-board-server/src/main/java/meerkat/bulletinboard/webapp/BulletinBoardWebApp.java b/bulletin-board-server/src/main/java/meerkat/bulletinboard/webapp/BulletinBoardWebApp.java index c88874f..6c8020e 100644 --- a/bulletin-board-server/src/main/java/meerkat/bulletinboard/webapp/BulletinBoardWebApp.java +++ b/bulletin-board-server/src/main/java/meerkat/bulletinboard/webapp/BulletinBoardWebApp.java @@ -3,6 +3,7 @@ package meerkat.bulletinboard.webapp; import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; +import javax.servlet.http.HttpServletResponse; import javax.ws.rs.*; import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; @@ -88,10 +89,11 @@ public class BulletinBoardWebApp implements BulletinBoardServer, ServletContextL * @throws CommunicationException */ @Path(STATUS_PATH) - @POST + @GET @Consumes(MEDIATYPE_PROTOBUF) @Produces(MEDIATYPE_PROTOBUF) - public ServerStatus getStatus() throws CommunicationException { + public ServerStatus getStatus(@Context HttpServletResponse response) throws CommunicationException { + response.setHeader("Access-Control-Allow-Origin", "*"); // TODO: Remove return ServerStatus.newBuilder() .setName("Hello") .build(); From 173b952e0920c139d158c1f21fe61aab3adafdef Mon Sep 17 00:00:00 2001 From: Tal Moran Date: Sun, 2 Jul 2017 17:54:36 +0300 Subject: [PATCH 3/7] Added proxy to bb frontend (no need for cross-origin headers); support periodic status calls --- bulletin-board-server-frontend/package.json | 4 +-- .../proxy.conf.json | 6 ++++ .../src/app/app.component.ts | 31 +++++++++++++++++-- .../src/app/bb.service.ts | 2 +- .../webapp/BulletinBoardWebApp.java | 8 ++--- 5 files changed, 41 insertions(+), 10 deletions(-) create mode 100644 bulletin-board-server-frontend/proxy.conf.json diff --git a/bulletin-board-server-frontend/package.json b/bulletin-board-server-frontend/package.json index eff5461..f69f8de 100644 --- a/bulletin-board-server-frontend/package.json +++ b/bulletin-board-server-frontend/package.json @@ -4,7 +4,7 @@ "license": "MIT", "scripts": { "ng": "ng", - "start": "ng serve", + "start": "ng serve --proxy-config proxy.conf.json", "build": "ng build", "test": "ng test", "lint": "ng lint", @@ -23,7 +23,7 @@ "@angular/router": "^4.0.0", "@types/long": "^3.0.31", "core-js": "^2.4.1", - "protobuf.js": "^6.8.0", + "protobufjs": "^6.8.0", "rxjs": "^5.1.0", "zone.js": "^0.8.4" }, diff --git a/bulletin-board-server-frontend/proxy.conf.json b/bulletin-board-server-frontend/proxy.conf.json new file mode 100644 index 0000000..96b7df7 --- /dev/null +++ b/bulletin-board-server-frontend/proxy.conf.json @@ -0,0 +1,6 @@ +{ + "/bbserver" : { + "target" : "http://localhost:8081/", + "secure" : false + } +} diff --git a/bulletin-board-server-frontend/src/app/app.component.ts b/bulletin-board-server-frontend/src/app/app.component.ts index adff3f3..07efb8f 100644 --- a/bulletin-board-server-frontend/src/app/app.component.ts +++ b/bulletin-board-server-frontend/src/app/app.component.ts @@ -1,6 +1,6 @@ import {Component, OnInit} from '@angular/core'; -import {BBService} from "./bb.service"; // respectively "./node_modules/protobufjs" - +import {IntervalObservable} from "rxjs/observable/IntervalObservable"; +import {BBService} from "./bb.service"; @Component({ selector: 'app-root', @@ -15,14 +15,39 @@ export class AppComponent implements OnInit { status = 'Not connected'; errorMessage = ''; + private alive: boolean; // used to unsubscribe from the IntervalObservable + // when OnDestroy is called. + constructor(private bbservice : BBService) { } ngOnInit(): void { + + // Get initial status this.bbservice.getStatus().subscribe( - status => this.status = status.name, + status => { this.status = status.name }, error => this.errorMessage = error ); + + this.alive = true; + // Get new status every second + let o = IntervalObservable.create(1000) + //.takeWhile(() => this.alive) // only fires when component is alive + .subscribe(n => { + if (!this.alive) { + o.unsubscribe(); + return; + } + this.bbservice.getStatus().subscribe( + status => this.status = status.name + " " + n, + error => this.errorMessage = error + ); + }); + } + + + ngOnDestroy(){ + this.alive = false; // switches your IntervalObservable off } } diff --git a/bulletin-board-server-frontend/src/app/bb.service.ts b/bulletin-board-server-frontend/src/app/bb.service.ts index 9e678f0..6de878c 100644 --- a/bulletin-board-server-frontend/src/app/bb.service.ts +++ b/bulletin-board-server-frontend/src/app/bb.service.ts @@ -11,7 +11,7 @@ import 'rxjs/add/operator/map'; @Injectable() export class BBService { private headers = new Headers({'Content-Type': 'application/x-protobuf'}); - private bbUrl = 'http://localhost:8081/bbserver'; // URL to web api + private bbUrl = '/bbserver'; // URL to web api private statusPath = '/status'; constructor(private http: Http) { } diff --git a/bulletin-board-server/src/main/java/meerkat/bulletinboard/webapp/BulletinBoardWebApp.java b/bulletin-board-server/src/main/java/meerkat/bulletinboard/webapp/BulletinBoardWebApp.java index 6c8020e..baa9fe0 100644 --- a/bulletin-board-server/src/main/java/meerkat/bulletinboard/webapp/BulletinBoardWebApp.java +++ b/bulletin-board-server/src/main/java/meerkat/bulletinboard/webapp/BulletinBoardWebApp.java @@ -56,15 +56,15 @@ public class BulletinBoardWebApp implements BulletinBoardServer, ServletContextL String dbType = servletContext.getInitParameter("dbType"); String dbName = servletContext.getInitParameter("dbName"); - if ("SQLite".equals(dbType)){ + if ("SQLite".equalsIgnoreCase(dbType)){ bulletinBoard = new BulletinBoardSQLServer(new SQLiteQueryProvider(dbName)); - } else if ("H2".equals(dbType)) { + } else if ("H2".equalsIgnoreCase(dbType)) { bulletinBoard = new BulletinBoardSQLServer(new H2QueryProvider(dbName)); - } else if ("MySQL".equals(dbType)) { + } else if ("MySQL".equalsIgnoreCase(dbType)) { String dbAddress = servletContext.getInitParameter("dbAddress"); int dbPort = Integer.parseInt(servletContext.getInitParameter("dbPort")); @@ -93,7 +93,7 @@ public class BulletinBoardWebApp implements BulletinBoardServer, ServletContextL @Consumes(MEDIATYPE_PROTOBUF) @Produces(MEDIATYPE_PROTOBUF) public ServerStatus getStatus(@Context HttpServletResponse response) throws CommunicationException { - response.setHeader("Access-Control-Allow-Origin", "*"); // TODO: Remove + // response.setHeader("Access-Control-Allow-Origin", "*"); // TODO: Remove return ServerStatus.newBuilder() .setName("Hello") .build(); From 08d9bd62174f9ab9be7002f942d21c236ec4d1c9 Mon Sep 17 00:00:00 2001 From: Tal Moran Date: Mon, 3 Jul 2017 03:24:00 +0300 Subject: [PATCH 4/7] Integrated bb-server angular frontend in gradle build --- .gitignore | 2 + build.gradle-template | 2 +- bulletin-board-client/build.gradle | 2 +- bulletin-board-server-frontend/build.gradle | 58 + bulletin-board-server-frontend/gradlew | 1 + bulletin-board-server-frontend/package.json | 8 +- .../src/app/app.component.html | 2 +- .../src/app/app.component.ts | 8 +- .../src/app/bb.service.ts | 3 +- .../src/app/bundle.d.ts | 7527 ------- .../src/app/bundle.js | 17755 ---------------- .../src/assets/meerkat-logo.svg | 73 + .../src/proto/DKG.proto | 1 - .../proto/ballot_question_ui_element.proto | 1 - .../src/proto/bulletin_board_api.proto | 1 - .../src/proto/bulletin_board_webapp.proto | 1 - .../src/proto/comm.proto | 1 - .../src/proto/concrete_crypto.proto | 1 - .../src/proto/crypto.proto | 1 - .../src/proto/mixing.proto | 1 - .../src/proto/polling_station.proto | 1 - .../src/proto/voting.proto | 1 - bulletin-board-server/build.gradle | 18 +- .../src/main/webapp/WEB-INF/web.xml | 8 +- distributed-key-generation/build.gradle | 2 +- meerkat-common/build.gradle | 2 +- .../bulletinboard/BulletinBoardConstants.java | 2 +- mixer/build.gradle | 2 +- polling-station/build.gradle | 2 +- restful-api-common/build.gradle | 2 +- scanner-api-common/build.gradle | 2 +- settings.gradle | 1 + voting-booth-gui/build.gradle | 2 +- voting-booth/build.gradle | 2 +- 34 files changed, 178 insertions(+), 25318 deletions(-) create mode 100644 bulletin-board-server-frontend/build.gradle create mode 120000 bulletin-board-server-frontend/gradlew delete mode 100644 bulletin-board-server-frontend/src/app/bundle.d.ts delete mode 100644 bulletin-board-server-frontend/src/app/bundle.js create mode 100644 bulletin-board-server-frontend/src/assets/meerkat-logo.svg delete mode 120000 bulletin-board-server-frontend/src/proto/DKG.proto delete mode 120000 bulletin-board-server-frontend/src/proto/ballot_question_ui_element.proto delete mode 120000 bulletin-board-server-frontend/src/proto/bulletin_board_api.proto delete mode 120000 bulletin-board-server-frontend/src/proto/bulletin_board_webapp.proto delete mode 120000 bulletin-board-server-frontend/src/proto/comm.proto delete mode 120000 bulletin-board-server-frontend/src/proto/concrete_crypto.proto delete mode 120000 bulletin-board-server-frontend/src/proto/crypto.proto delete mode 120000 bulletin-board-server-frontend/src/proto/mixing.proto delete mode 120000 bulletin-board-server-frontend/src/proto/polling_station.proto delete mode 120000 bulletin-board-server-frontend/src/proto/voting.proto diff --git a/.gitignore b/.gitignore index 483d4e0..e6957bb 100644 --- a/.gitignore +++ b/.gitignore @@ -33,4 +33,6 @@ local.properties npm-debug.log testem.log */typings +bundle.js +bundle.d.ts diff --git a/build.gradle-template b/build.gradle-template index 60a340c..92f08f9 100644 --- a/build.gradle-template +++ b/build.gradle-template @@ -1,7 +1,7 @@ plugins { id "us.kirchmeier.capsule" version "1.0.2" - id 'com.google.protobuf' version '0.8.0' + id 'com.google.protobuf' version '0.8.1' } apply plugin: 'java' diff --git a/bulletin-board-client/build.gradle b/bulletin-board-client/build.gradle index b32df6a..c28b700 100644 --- a/bulletin-board-client/build.gradle +++ b/bulletin-board-client/build.gradle @@ -1,7 +1,7 @@ plugins { id "us.kirchmeier.capsule" version '1.0.2' - id 'com.google.protobuf' version '0.8.0' + id 'com.google.protobuf' version '0.8.1' } apply plugin: 'java' diff --git a/bulletin-board-server-frontend/build.gradle b/bulletin-board-server-frontend/build.gradle new file mode 100644 index 0000000..67c01ce --- /dev/null +++ b/bulletin-board-server-frontend/build.gradle @@ -0,0 +1,58 @@ +plugins { + id "com.moowork.node" version "1.2.0" +} + +node { + download = true; +} + +ext { + bundlejs = "src/app/bundle.js" + bundlets = "src/app/bundle.d.ts" +} + +//task installAngularCli(type: NpmTask) { +// args = ['install', '@angular/cli'] +//} +//npm_install.dependsOn(installAngularCli); + +task printProtos { + doLast { + println getProtoFiles().join(" ") + } +} +printProtos.description = "List all the .proto files we can find." + + +def getProtoFiles() { + def protoFiles = [] + + rootProject.subprojects { proj -> + if (proj.hasProperty('sourceSets') && proj.sourceSets.hasProperty('main') && + proj.sourceSets.main.hasProperty('proto')) { + protoFiles = protoFiles + proj.sourceSets.main.proto.getFiles(); + } + } + return protoFiles; +} + + +task generateProtobufBundle(type: NpmTask) { + doFirst { + // We need do this in doFirst since getProtoFiles won't find all subprojects + // until after configuration is complete + def protoFiles = getProtoFiles() + setEnvironment([PROTO_FILES: protoFiles.join(" ")]); + generateProtobufBundle.args = ['run', 'protoc'] + } +} +generateProtobufBundle.description = "Generate the bundle.js/bundle.d.ts files containing compiled protobufs" + + +npm_run_build.dependsOn(generateProtobufBundle) +npm_start.dependsOn(generateProtobufBundle) + + +// It would be nice if this worked, but it seems to get stuck: +//npm_start.dependsOn(project(':bulletin-board-server').jettyStart); + diff --git a/bulletin-board-server-frontend/gradlew b/bulletin-board-server-frontend/gradlew new file mode 120000 index 0000000..502f5a2 --- /dev/null +++ b/bulletin-board-server-frontend/gradlew @@ -0,0 +1 @@ +../gradlew \ No newline at end of file diff --git a/bulletin-board-server-frontend/package.json b/bulletin-board-server-frontend/package.json index f69f8de..ceaaf48 100644 --- a/bulletin-board-server-frontend/package.json +++ b/bulletin-board-server-frontend/package.json @@ -7,8 +7,10 @@ "start": "ng serve --proxy-config proxy.conf.json", "build": "ng build", "test": "ng test", - "lint": "ng lint", - "e2e": "ng e2e" + "lint": "ng e2e", + "pbts": "pbts", + "pbjs": "pbjs", + "protoc" : "pbjs -t static-module -w commonjs -o src/app/bundle.js $PROTO_FILES && pbts -o src/app/bundle.d.ts src/app/bundle.js" }, "private": true, "dependencies": { @@ -28,7 +30,7 @@ "zone.js": "^0.8.4" }, "devDependencies": { - "@angular/cli": "1.2.0", + "@angular/cli": "^1.2.0", "@angular/compiler-cli": "^4.0.0", "@angular/language-service": "^4.0.0", "@types/jasmine": "~2.5.53", diff --git a/bulletin-board-server-frontend/src/app/app.component.html b/bulletin-board-server-frontend/src/app/app.component.html index 801abde..be9af19 100644 --- a/bulletin-board-server-frontend/src/app/app.component.html +++ b/bulletin-board-server-frontend/src/app/app.component.html @@ -5,7 +5,7 @@

Current status: {{status}}

- +
{{errorMessage}} diff --git a/bulletin-board-server-frontend/src/app/app.component.ts b/bulletin-board-server-frontend/src/app/app.component.ts index 07efb8f..708f65d 100644 --- a/bulletin-board-server-frontend/src/app/app.component.ts +++ b/bulletin-board-server-frontend/src/app/app.component.ts @@ -25,8 +25,8 @@ export class AppComponent implements OnInit { // Get initial status this.bbservice.getStatus().subscribe( - status => { this.status = status.name }, - error => this.errorMessage = error + status => { this.status = status.name; this.errorMessage = ""; }, + error => { this.status = "Not connected"; this.errorMessage = error; } ); this.alive = true; @@ -39,8 +39,8 @@ export class AppComponent implements OnInit { return; } this.bbservice.getStatus().subscribe( - status => this.status = status.name + " " + n, - error => this.errorMessage = error + status => { this.status = status.name + " " + n; this.errorMessage = ""; }, + error => { this.errorMessage = error; this.status = "Not connected"; } ); }); } diff --git a/bulletin-board-server-frontend/src/app/bb.service.ts b/bulletin-board-server-frontend/src/app/bb.service.ts index 6de878c..9dcd749 100644 --- a/bulletin-board-server-frontend/src/app/bb.service.ts +++ b/bulletin-board-server-frontend/src/app/bb.service.ts @@ -1,5 +1,4 @@ -import { Component } from '@angular/core'; - +/// import { Injectable } from '@angular/core'; import {Headers, Http, RequestOptions, ResponseContentType} from '@angular/http'; diff --git a/bulletin-board-server-frontend/src/app/bundle.d.ts b/bulletin-board-server-frontend/src/app/bundle.d.ts deleted file mode 100644 index 1b8f4fa..0000000 --- a/bulletin-board-server-frontend/src/app/bundle.d.ts +++ /dev/null @@ -1,7527 +0,0 @@ -import * as $protobuf from "protobufjs"; -import '@types/long'; - -/** Namespace meerkat. */ -export namespace meerkat { - - /** Properties of a UIAnswer. */ - interface IUIAnswer { - - /** UIAnswer answer */ - answer?: Uint8Array; - - /** UIAnswer description */ - description?: string; - } - - /** Represents a UIAnswer. */ - class UIAnswer { - - /** - * Constructs a new UIAnswer. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IUIAnswer); - - /** UIAnswer answer. */ - public answer: Uint8Array; - - /** UIAnswer description. */ - public description: string; - - /** - * Creates a new UIAnswer instance using the specified properties. - * @param [properties] Properties to set - * @returns UIAnswer instance - */ - public static create(properties?: meerkat.IUIAnswer): meerkat.UIAnswer; - - /** - * Encodes the specified UIAnswer message. Does not implicitly {@link meerkat.UIAnswer.verify|verify} messages. - * @param message UIAnswer message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IUIAnswer, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified UIAnswer message, length delimited. Does not implicitly {@link meerkat.UIAnswer.verify|verify} messages. - * @param message UIAnswer message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IUIAnswer, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a UIAnswer message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns UIAnswer - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.UIAnswer; - - /** - * Decodes a UIAnswer message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns UIAnswer - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.UIAnswer; - - /** - * Verifies a UIAnswer message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a UIAnswer message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns UIAnswer - */ - public static fromObject(object: { [k: string]: any }): meerkat.UIAnswer; - - /** - * Creates a plain object from a UIAnswer message. Also converts values to other types if specified. - * @param message UIAnswer - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.UIAnswer, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this UIAnswer to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a ListOfAnswers. */ - interface IListOfAnswers { - - /** ListOfAnswers answers */ - answers?: meerkat.IUIAnswer[]; - } - - /** Represents a ListOfAnswers. */ - class ListOfAnswers { - - /** - * Constructs a new ListOfAnswers. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IListOfAnswers); - - /** ListOfAnswers answers. */ - public answers: meerkat.IUIAnswer[]; - - /** - * Creates a new ListOfAnswers instance using the specified properties. - * @param [properties] Properties to set - * @returns ListOfAnswers instance - */ - public static create(properties?: meerkat.IListOfAnswers): meerkat.ListOfAnswers; - - /** - * Encodes the specified ListOfAnswers message. Does not implicitly {@link meerkat.ListOfAnswers.verify|verify} messages. - * @param message ListOfAnswers message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IListOfAnswers, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ListOfAnswers message, length delimited. Does not implicitly {@link meerkat.ListOfAnswers.verify|verify} messages. - * @param message ListOfAnswers message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IListOfAnswers, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ListOfAnswers message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ListOfAnswers - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.ListOfAnswers; - - /** - * Decodes a ListOfAnswers message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ListOfAnswers - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.ListOfAnswers; - - /** - * Verifies a ListOfAnswers message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ListOfAnswers message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ListOfAnswers - */ - public static fromObject(object: { [k: string]: any }): meerkat.ListOfAnswers; - - /** - * Creates a plain object from a ListOfAnswers message. Also converts values to other types if specified. - * @param message ListOfAnswers - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.ListOfAnswers, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ListOfAnswers to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a UIAnswers. */ - interface IUIAnswers { - - /** UIAnswers AnswersType */ - AnswersType?: number; - - /** UIAnswers answers */ - answers?: meerkat.IListOfAnswers; - } - - /** Represents a UIAnswers. */ - class UIAnswers { - - /** - * Constructs a new UIAnswers. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IUIAnswers); - - /** UIAnswers AnswersType. */ - public AnswersType: number; - - /** UIAnswers answers. */ - public answers?: (meerkat.IListOfAnswers|null); - - /** - * Creates a new UIAnswers instance using the specified properties. - * @param [properties] Properties to set - * @returns UIAnswers instance - */ - public static create(properties?: meerkat.IUIAnswers): meerkat.UIAnswers; - - /** - * Encodes the specified UIAnswers message. Does not implicitly {@link meerkat.UIAnswers.verify|verify} messages. - * @param message UIAnswers message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IUIAnswers, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified UIAnswers message, length delimited. Does not implicitly {@link meerkat.UIAnswers.verify|verify} messages. - * @param message UIAnswers message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IUIAnswers, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a UIAnswers message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns UIAnswers - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.UIAnswers; - - /** - * Decodes a UIAnswers message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns UIAnswers - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.UIAnswers; - - /** - * Verifies a UIAnswers message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a UIAnswers message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns UIAnswers - */ - public static fromObject(object: { [k: string]: any }): meerkat.UIAnswers; - - /** - * Creates a plain object from a UIAnswers message. Also converts values to other types if specified. - * @param message UIAnswers - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.UIAnswers, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this UIAnswers to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a Question. */ - interface IQuestion { - - /** Question question */ - question?: Uint8Array; - } - - /** Represents a Question. */ - class Question { - - /** - * Constructs a new Question. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IQuestion); - - /** Question question. */ - public question: Uint8Array; - - /** - * Creates a new Question instance using the specified properties. - * @param [properties] Properties to set - * @returns Question instance - */ - public static create(properties?: meerkat.IQuestion): meerkat.Question; - - /** - * Encodes the specified Question message. Does not implicitly {@link meerkat.Question.verify|verify} messages. - * @param message Question message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IQuestion, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Question message, length delimited. Does not implicitly {@link meerkat.Question.verify|verify} messages. - * @param message Question message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IQuestion, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Question message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Question - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.Question; - - /** - * Decodes a Question message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Question - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.Question; - - /** - * Verifies a Question message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a Question message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Question - */ - public static fromObject(object: { [k: string]: any }): meerkat.Question; - - /** - * Creates a plain object from a Question message. Also converts values to other types if specified. - * @param message Question - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.Question, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Question to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a UIQuestion. */ - interface IUIQuestion { - - /** UIQuestion QuestionType */ - QuestionType?: number; - - /** UIQuestion question */ - question?: meerkat.IQuestion; - } - - /** Represents a UIQuestion. */ - class UIQuestion { - - /** - * Constructs a new UIQuestion. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IUIQuestion); - - /** UIQuestion QuestionType. */ - public QuestionType: number; - - /** UIQuestion question. */ - public question?: (meerkat.IQuestion|null); - - /** - * Creates a new UIQuestion instance using the specified properties. - * @param [properties] Properties to set - * @returns UIQuestion instance - */ - public static create(properties?: meerkat.IUIQuestion): meerkat.UIQuestion; - - /** - * Encodes the specified UIQuestion message. Does not implicitly {@link meerkat.UIQuestion.verify|verify} messages. - * @param message UIQuestion message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IUIQuestion, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified UIQuestion message, length delimited. Does not implicitly {@link meerkat.UIQuestion.verify|verify} messages. - * @param message UIQuestion message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IUIQuestion, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a UIQuestion message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns UIQuestion - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.UIQuestion; - - /** - * Decodes a UIQuestion message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns UIQuestion - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.UIQuestion; - - /** - * Verifies a UIQuestion message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a UIQuestion message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns UIQuestion - */ - public static fromObject(object: { [k: string]: any }): meerkat.UIQuestion; - - /** - * Creates a plain object from a UIQuestion message. Also converts values to other types if specified. - * @param message UIQuestion - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.UIQuestion, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this UIQuestion to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a BallotQuestionUIElement. */ - interface IBallotQuestionUIElement { - - /** BallotQuestionUIElement answers */ - answers?: meerkat.IUIAnswers; - - /** BallotQuestionUIElement RandomizeListOrder */ - RandomizeListOrder?: boolean; - - /** BallotQuestionUIElement question */ - question?: meerkat.IUIQuestion; - } - - /** Represents a BallotQuestionUIElement. */ - class BallotQuestionUIElement { - - /** - * Constructs a new BallotQuestionUIElement. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IBallotQuestionUIElement); - - /** BallotQuestionUIElement answers. */ - public answers?: (meerkat.IUIAnswers|null); - - /** BallotQuestionUIElement RandomizeListOrder. */ - public RandomizeListOrder: boolean; - - /** BallotQuestionUIElement question. */ - public question?: (meerkat.IUIQuestion|null); - - /** - * Creates a new BallotQuestionUIElement instance using the specified properties. - * @param [properties] Properties to set - * @returns BallotQuestionUIElement instance - */ - public static create(properties?: meerkat.IBallotQuestionUIElement): meerkat.BallotQuestionUIElement; - - /** - * Encodes the specified BallotQuestionUIElement message. Does not implicitly {@link meerkat.BallotQuestionUIElement.verify|verify} messages. - * @param message BallotQuestionUIElement message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IBallotQuestionUIElement, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified BallotQuestionUIElement message, length delimited. Does not implicitly {@link meerkat.BallotQuestionUIElement.verify|verify} messages. - * @param message BallotQuestionUIElement message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IBallotQuestionUIElement, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a BallotQuestionUIElement message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns BallotQuestionUIElement - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.BallotQuestionUIElement; - - /** - * Decodes a BallotQuestionUIElement message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns BallotQuestionUIElement - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.BallotQuestionUIElement; - - /** - * Verifies a BallotQuestionUIElement message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a BallotQuestionUIElement message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns BallotQuestionUIElement - */ - public static fromObject(object: { [k: string]: any }): meerkat.BallotQuestionUIElement; - - /** - * Creates a plain object from a BallotQuestionUIElement message. Also converts values to other types if specified. - * @param message BallotQuestionUIElement - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.BallotQuestionUIElement, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this BallotQuestionUIElement to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a BallotQuestionsUIElements. */ - interface IBallotQuestionsUIElements { - - /** BallotQuestionsUIElements questions */ - questions?: meerkat.IBallotQuestionUIElement[]; - } - - /** Represents a BallotQuestionsUIElements. */ - class BallotQuestionsUIElements { - - /** - * Constructs a new BallotQuestionsUIElements. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IBallotQuestionsUIElements); - - /** BallotQuestionsUIElements questions. */ - public questions: meerkat.IBallotQuestionUIElement[]; - - /** - * Creates a new BallotQuestionsUIElements instance using the specified properties. - * @param [properties] Properties to set - * @returns BallotQuestionsUIElements instance - */ - public static create(properties?: meerkat.IBallotQuestionsUIElements): meerkat.BallotQuestionsUIElements; - - /** - * Encodes the specified BallotQuestionsUIElements message. Does not implicitly {@link meerkat.BallotQuestionsUIElements.verify|verify} messages. - * @param message BallotQuestionsUIElements message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IBallotQuestionsUIElements, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified BallotQuestionsUIElements message, length delimited. Does not implicitly {@link meerkat.BallotQuestionsUIElements.verify|verify} messages. - * @param message BallotQuestionsUIElements message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IBallotQuestionsUIElements, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a BallotQuestionsUIElements message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns BallotQuestionsUIElements - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.BallotQuestionsUIElements; - - /** - * Decodes a BallotQuestionsUIElements message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns BallotQuestionsUIElements - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.BallotQuestionsUIElements; - - /** - * Verifies a BallotQuestionsUIElements message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a BallotQuestionsUIElements message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns BallotQuestionsUIElements - */ - public static fromObject(object: { [k: string]: any }): meerkat.BallotQuestionsUIElements; - - /** - * Creates a plain object from a BallotQuestionsUIElements message. Also converts values to other types if specified. - * @param message BallotQuestionsUIElements - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.BallotQuestionsUIElements, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this BallotQuestionsUIElements to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** ValueType enum. */ - enum ValueType { - TEXT_TYPE = 0, - AUDIO_TYPE = 1, - IMAGE_TYPE = 2 - } - - /** Properties of a BoolMsg. */ - interface IBoolMsg { - - /** BoolMsg value */ - value?: boolean; - } - - /** Represents a BoolMsg. */ - class BoolMsg { - - /** - * Constructs a new BoolMsg. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IBoolMsg); - - /** BoolMsg value. */ - public value: boolean; - - /** - * Creates a new BoolMsg instance using the specified properties. - * @param [properties] Properties to set - * @returns BoolMsg instance - */ - public static create(properties?: meerkat.IBoolMsg): meerkat.BoolMsg; - - /** - * Encodes the specified BoolMsg message. Does not implicitly {@link meerkat.BoolMsg.verify|verify} messages. - * @param message BoolMsg message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IBoolMsg, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified BoolMsg message, length delimited. Does not implicitly {@link meerkat.BoolMsg.verify|verify} messages. - * @param message BoolMsg message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IBoolMsg, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a BoolMsg message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns BoolMsg - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.BoolMsg; - - /** - * Decodes a BoolMsg message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns BoolMsg - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.BoolMsg; - - /** - * Verifies a BoolMsg message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a BoolMsg message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns BoolMsg - */ - public static fromObject(object: { [k: string]: any }): meerkat.BoolMsg; - - /** - * Creates a plain object from a BoolMsg message. Also converts values to other types if specified. - * @param message BoolMsg - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.BoolMsg, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this BoolMsg to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of an IntMsg. */ - interface IIntMsg { - - /** IntMsg value */ - value?: number; - } - - /** Represents an IntMsg. */ - class IntMsg { - - /** - * Constructs a new IntMsg. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IIntMsg); - - /** IntMsg value. */ - public value: number; - - /** - * Creates a new IntMsg instance using the specified properties. - * @param [properties] Properties to set - * @returns IntMsg instance - */ - public static create(properties?: meerkat.IIntMsg): meerkat.IntMsg; - - /** - * Encodes the specified IntMsg message. Does not implicitly {@link meerkat.IntMsg.verify|verify} messages. - * @param message IntMsg message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IIntMsg, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified IntMsg message, length delimited. Does not implicitly {@link meerkat.IntMsg.verify|verify} messages. - * @param message IntMsg message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IIntMsg, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an IntMsg message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns IntMsg - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.IntMsg; - - /** - * Decodes an IntMsg message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns IntMsg - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.IntMsg; - - /** - * Verifies an IntMsg message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates an IntMsg message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns IntMsg - */ - public static fromObject(object: { [k: string]: any }): meerkat.IntMsg; - - /** - * Creates a plain object from an IntMsg message. Also converts values to other types if specified. - * @param message IntMsg - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.IntMsg, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this IntMsg to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a MessageID. */ - interface IMessageID { - - /** MessageID ID */ - ID?: Uint8Array; - } - - /** Represents a MessageID. */ - class MessageID { - - /** - * Constructs a new MessageID. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IMessageID); - - /** MessageID ID. */ - public ID: Uint8Array; - - /** - * Creates a new MessageID instance using the specified properties. - * @param [properties] Properties to set - * @returns MessageID instance - */ - public static create(properties?: meerkat.IMessageID): meerkat.MessageID; - - /** - * Encodes the specified MessageID message. Does not implicitly {@link meerkat.MessageID.verify|verify} messages. - * @param message MessageID message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IMessageID, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified MessageID message, length delimited. Does not implicitly {@link meerkat.MessageID.verify|verify} messages. - * @param message MessageID message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IMessageID, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a MessageID message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns MessageID - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.MessageID; - - /** - * Decodes a MessageID message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns MessageID - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.MessageID; - - /** - * Verifies a MessageID message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a MessageID message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns MessageID - */ - public static fromObject(object: { [k: string]: any }): meerkat.MessageID; - - /** - * Creates a plain object from a MessageID message. Also converts values to other types if specified. - * @param message MessageID - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.MessageID, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this MessageID to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of an UnsignedBulletinBoardMessage. */ - interface IUnsignedBulletinBoardMessage { - - /** UnsignedBulletinBoardMessage tag */ - tag?: string[]; - - /** UnsignedBulletinBoardMessage timestamp */ - timestamp?: google.protobuf.ITimestamp; - - /** UnsignedBulletinBoardMessage msgId */ - msgId?: Uint8Array; - - /** UnsignedBulletinBoardMessage data */ - data?: Uint8Array; - } - - /** Represents an UnsignedBulletinBoardMessage. */ - class UnsignedBulletinBoardMessage { - - /** - * Constructs a new UnsignedBulletinBoardMessage. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IUnsignedBulletinBoardMessage); - - /** UnsignedBulletinBoardMessage tag. */ - public tag: string[]; - - /** UnsignedBulletinBoardMessage timestamp. */ - public timestamp?: (google.protobuf.ITimestamp|null); - - /** UnsignedBulletinBoardMessage msgId. */ - public msgId: Uint8Array; - - /** UnsignedBulletinBoardMessage data. */ - public data: Uint8Array; - - /** UnsignedBulletinBoardMessage dataType. */ - public dataType?: string; - - /** - * Creates a new UnsignedBulletinBoardMessage instance using the specified properties. - * @param [properties] Properties to set - * @returns UnsignedBulletinBoardMessage instance - */ - public static create(properties?: meerkat.IUnsignedBulletinBoardMessage): meerkat.UnsignedBulletinBoardMessage; - - /** - * Encodes the specified UnsignedBulletinBoardMessage message. Does not implicitly {@link meerkat.UnsignedBulletinBoardMessage.verify|verify} messages. - * @param message UnsignedBulletinBoardMessage message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IUnsignedBulletinBoardMessage, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified UnsignedBulletinBoardMessage message, length delimited. Does not implicitly {@link meerkat.UnsignedBulletinBoardMessage.verify|verify} messages. - * @param message UnsignedBulletinBoardMessage message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IUnsignedBulletinBoardMessage, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an UnsignedBulletinBoardMessage message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns UnsignedBulletinBoardMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.UnsignedBulletinBoardMessage; - - /** - * Decodes an UnsignedBulletinBoardMessage message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns UnsignedBulletinBoardMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.UnsignedBulletinBoardMessage; - - /** - * Verifies an UnsignedBulletinBoardMessage message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates an UnsignedBulletinBoardMessage message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns UnsignedBulletinBoardMessage - */ - public static fromObject(object: { [k: string]: any }): meerkat.UnsignedBulletinBoardMessage; - - /** - * Creates a plain object from an UnsignedBulletinBoardMessage message. Also converts values to other types if specified. - * @param message UnsignedBulletinBoardMessage - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.UnsignedBulletinBoardMessage, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this UnsignedBulletinBoardMessage to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a BulletinBoardMessage. */ - interface IBulletinBoardMessage { - - /** BulletinBoardMessage entryNum */ - entryNum?: (number|Long); - - /** BulletinBoardMessage msg */ - msg?: meerkat.IUnsignedBulletinBoardMessage; - - /** BulletinBoardMessage sig */ - sig?: meerkat.ISignature[]; - } - - /** Represents a BulletinBoardMessage. */ - class BulletinBoardMessage { - - /** - * Constructs a new BulletinBoardMessage. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IBulletinBoardMessage); - - /** BulletinBoardMessage entryNum. */ - public entryNum: (number|Long); - - /** BulletinBoardMessage msg. */ - public msg?: (meerkat.IUnsignedBulletinBoardMessage|null); - - /** BulletinBoardMessage sig. */ - public sig: meerkat.ISignature[]; - - /** - * Creates a new BulletinBoardMessage instance using the specified properties. - * @param [properties] Properties to set - * @returns BulletinBoardMessage instance - */ - public static create(properties?: meerkat.IBulletinBoardMessage): meerkat.BulletinBoardMessage; - - /** - * Encodes the specified BulletinBoardMessage message. Does not implicitly {@link meerkat.BulletinBoardMessage.verify|verify} messages. - * @param message BulletinBoardMessage message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IBulletinBoardMessage, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified BulletinBoardMessage message, length delimited. Does not implicitly {@link meerkat.BulletinBoardMessage.verify|verify} messages. - * @param message BulletinBoardMessage message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IBulletinBoardMessage, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a BulletinBoardMessage message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns BulletinBoardMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.BulletinBoardMessage; - - /** - * Decodes a BulletinBoardMessage message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns BulletinBoardMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.BulletinBoardMessage; - - /** - * Verifies a BulletinBoardMessage message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a BulletinBoardMessage message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns BulletinBoardMessage - */ - public static fromObject(object: { [k: string]: any }): meerkat.BulletinBoardMessage; - - /** - * Creates a plain object from a BulletinBoardMessage message. Also converts values to other types if specified. - * @param message BulletinBoardMessage - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.BulletinBoardMessage, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this BulletinBoardMessage to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a BulletinBoardMessageList. */ - interface IBulletinBoardMessageList { - - /** BulletinBoardMessageList message */ - message?: meerkat.IBulletinBoardMessage[]; - } - - /** Represents a BulletinBoardMessageList. */ - class BulletinBoardMessageList { - - /** - * Constructs a new BulletinBoardMessageList. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IBulletinBoardMessageList); - - /** BulletinBoardMessageList message. */ - public message: meerkat.IBulletinBoardMessage[]; - - /** - * Creates a new BulletinBoardMessageList instance using the specified properties. - * @param [properties] Properties to set - * @returns BulletinBoardMessageList instance - */ - public static create(properties?: meerkat.IBulletinBoardMessageList): meerkat.BulletinBoardMessageList; - - /** - * Encodes the specified BulletinBoardMessageList message. Does not implicitly {@link meerkat.BulletinBoardMessageList.verify|verify} messages. - * @param message BulletinBoardMessageList message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IBulletinBoardMessageList, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified BulletinBoardMessageList message, length delimited. Does not implicitly {@link meerkat.BulletinBoardMessageList.verify|verify} messages. - * @param message BulletinBoardMessageList message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IBulletinBoardMessageList, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a BulletinBoardMessageList message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns BulletinBoardMessageList - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.BulletinBoardMessageList; - - /** - * Decodes a BulletinBoardMessageList message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns BulletinBoardMessageList - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.BulletinBoardMessageList; - - /** - * Verifies a BulletinBoardMessageList message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a BulletinBoardMessageList message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns BulletinBoardMessageList - */ - public static fromObject(object: { [k: string]: any }): meerkat.BulletinBoardMessageList; - - /** - * Creates a plain object from a BulletinBoardMessageList message. Also converts values to other types if specified. - * @param message BulletinBoardMessageList - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.BulletinBoardMessageList, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this BulletinBoardMessageList to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** FilterType enum. */ - enum FilterType { - MSG_ID = 0, - EXACT_ENTRY = 1, - MAX_ENTRY = 2, - MIN_ENTRY = 3, - SIGNER_ID = 4, - TAG = 5, - AFTER_TIME = 6, - BEFORE_TIME = 7, - MAX_MESSAGES = 8 - } - - /** Properties of a MessageFilter. */ - interface IMessageFilter { - - /** MessageFilter type */ - type?: meerkat.FilterType; - - /** MessageFilter id */ - id?: Uint8Array; - - /** MessageFilter entry */ - entry?: (number|Long); - - /** MessageFilter tag */ - tag?: string; - - /** MessageFilter maxMessages */ - maxMessages?: (number|Long); - - /** MessageFilter timestamp */ - timestamp?: google.protobuf.ITimestamp; - } - - /** Represents a MessageFilter. */ - class MessageFilter { - - /** - * Constructs a new MessageFilter. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IMessageFilter); - - /** MessageFilter type. */ - public type: meerkat.FilterType; - - /** MessageFilter id. */ - public id: Uint8Array; - - /** MessageFilter entry. */ - public entry: (number|Long); - - /** MessageFilter tag. */ - public tag: string; - - /** MessageFilter maxMessages. */ - public maxMessages: (number|Long); - - /** MessageFilter timestamp. */ - public timestamp?: (google.protobuf.ITimestamp|null); - - /** MessageFilter filter. */ - public filter?: string; - - /** - * Creates a new MessageFilter instance using the specified properties. - * @param [properties] Properties to set - * @returns MessageFilter instance - */ - public static create(properties?: meerkat.IMessageFilter): meerkat.MessageFilter; - - /** - * Encodes the specified MessageFilter message. Does not implicitly {@link meerkat.MessageFilter.verify|verify} messages. - * @param message MessageFilter message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IMessageFilter, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified MessageFilter message, length delimited. Does not implicitly {@link meerkat.MessageFilter.verify|verify} messages. - * @param message MessageFilter message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IMessageFilter, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a MessageFilter message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns MessageFilter - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.MessageFilter; - - /** - * Decodes a MessageFilter message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns MessageFilter - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.MessageFilter; - - /** - * Verifies a MessageFilter message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a MessageFilter message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns MessageFilter - */ - public static fromObject(object: { [k: string]: any }): meerkat.MessageFilter; - - /** - * Creates a plain object from a MessageFilter message. Also converts values to other types if specified. - * @param message MessageFilter - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.MessageFilter, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this MessageFilter to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a MessageFilterList. */ - interface IMessageFilterList { - - /** MessageFilterList filter */ - filter?: meerkat.IMessageFilter[]; - } - - /** Represents a MessageFilterList. */ - class MessageFilterList { - - /** - * Constructs a new MessageFilterList. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IMessageFilterList); - - /** MessageFilterList filter. */ - public filter: meerkat.IMessageFilter[]; - - /** - * Creates a new MessageFilterList instance using the specified properties. - * @param [properties] Properties to set - * @returns MessageFilterList instance - */ - public static create(properties?: meerkat.IMessageFilterList): meerkat.MessageFilterList; - - /** - * Encodes the specified MessageFilterList message. Does not implicitly {@link meerkat.MessageFilterList.verify|verify} messages. - * @param message MessageFilterList message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IMessageFilterList, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified MessageFilterList message, length delimited. Does not implicitly {@link meerkat.MessageFilterList.verify|verify} messages. - * @param message MessageFilterList message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IMessageFilterList, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a MessageFilterList message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns MessageFilterList - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.MessageFilterList; - - /** - * Decodes a MessageFilterList message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns MessageFilterList - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.MessageFilterList; - - /** - * Verifies a MessageFilterList message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a MessageFilterList message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns MessageFilterList - */ - public static fromObject(object: { [k: string]: any }): meerkat.MessageFilterList; - - /** - * Creates a plain object from a MessageFilterList message. Also converts values to other types if specified. - * @param message MessageFilterList - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.MessageFilterList, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this MessageFilterList to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a BeginBatchMessage. */ - interface IBeginBatchMessage { - - /** BeginBatchMessage tag */ - tag?: string[]; - } - - /** Represents a BeginBatchMessage. */ - class BeginBatchMessage { - - /** - * Constructs a new BeginBatchMessage. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IBeginBatchMessage); - - /** BeginBatchMessage tag. */ - public tag: string[]; - - /** - * Creates a new BeginBatchMessage instance using the specified properties. - * @param [properties] Properties to set - * @returns BeginBatchMessage instance - */ - public static create(properties?: meerkat.IBeginBatchMessage): meerkat.BeginBatchMessage; - - /** - * Encodes the specified BeginBatchMessage message. Does not implicitly {@link meerkat.BeginBatchMessage.verify|verify} messages. - * @param message BeginBatchMessage message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IBeginBatchMessage, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified BeginBatchMessage message, length delimited. Does not implicitly {@link meerkat.BeginBatchMessage.verify|verify} messages. - * @param message BeginBatchMessage message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IBeginBatchMessage, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a BeginBatchMessage message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns BeginBatchMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.BeginBatchMessage; - - /** - * Decodes a BeginBatchMessage message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns BeginBatchMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.BeginBatchMessage; - - /** - * Verifies a BeginBatchMessage message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a BeginBatchMessage message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns BeginBatchMessage - */ - public static fromObject(object: { [k: string]: any }): meerkat.BeginBatchMessage; - - /** - * Creates a plain object from a BeginBatchMessage message. Also converts values to other types if specified. - * @param message BeginBatchMessage - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.BeginBatchMessage, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this BeginBatchMessage to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a CloseBatchMessage. */ - interface ICloseBatchMessage { - - /** CloseBatchMessage batchId */ - batchId?: (number|Long); - - /** CloseBatchMessage batchLength */ - batchLength?: number; - - /** CloseBatchMessage timestamp */ - timestamp?: google.protobuf.ITimestamp; - - /** CloseBatchMessage sig */ - sig?: meerkat.ISignature[]; - } - - /** Represents a CloseBatchMessage. */ - class CloseBatchMessage { - - /** - * Constructs a new CloseBatchMessage. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.ICloseBatchMessage); - - /** CloseBatchMessage batchId. */ - public batchId: (number|Long); - - /** CloseBatchMessage batchLength. */ - public batchLength: number; - - /** CloseBatchMessage timestamp. */ - public timestamp?: (google.protobuf.ITimestamp|null); - - /** CloseBatchMessage sig. */ - public sig: meerkat.ISignature[]; - - /** - * Creates a new CloseBatchMessage instance using the specified properties. - * @param [properties] Properties to set - * @returns CloseBatchMessage instance - */ - public static create(properties?: meerkat.ICloseBatchMessage): meerkat.CloseBatchMessage; - - /** - * Encodes the specified CloseBatchMessage message. Does not implicitly {@link meerkat.CloseBatchMessage.verify|verify} messages. - * @param message CloseBatchMessage message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.ICloseBatchMessage, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified CloseBatchMessage message, length delimited. Does not implicitly {@link meerkat.CloseBatchMessage.verify|verify} messages. - * @param message CloseBatchMessage message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.ICloseBatchMessage, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a CloseBatchMessage message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns CloseBatchMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.CloseBatchMessage; - - /** - * Decodes a CloseBatchMessage message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns CloseBatchMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.CloseBatchMessage; - - /** - * Verifies a CloseBatchMessage message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a CloseBatchMessage message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns CloseBatchMessage - */ - public static fromObject(object: { [k: string]: any }): meerkat.CloseBatchMessage; - - /** - * Creates a plain object from a CloseBatchMessage message. Also converts values to other types if specified. - * @param message CloseBatchMessage - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.CloseBatchMessage, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this CloseBatchMessage to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a BatchChunk. */ - interface IBatchChunk { - - /** BatchChunk data */ - data?: Uint8Array; - } - - /** Represents a BatchChunk. */ - class BatchChunk { - - /** - * Constructs a new BatchChunk. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IBatchChunk); - - /** BatchChunk data. */ - public data: Uint8Array; - - /** - * Creates a new BatchChunk instance using the specified properties. - * @param [properties] Properties to set - * @returns BatchChunk instance - */ - public static create(properties?: meerkat.IBatchChunk): meerkat.BatchChunk; - - /** - * Encodes the specified BatchChunk message. Does not implicitly {@link meerkat.BatchChunk.verify|verify} messages. - * @param message BatchChunk message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IBatchChunk, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified BatchChunk message, length delimited. Does not implicitly {@link meerkat.BatchChunk.verify|verify} messages. - * @param message BatchChunk message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IBatchChunk, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a BatchChunk message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns BatchChunk - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.BatchChunk; - - /** - * Decodes a BatchChunk message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns BatchChunk - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.BatchChunk; - - /** - * Verifies a BatchChunk message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a BatchChunk message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns BatchChunk - */ - public static fromObject(object: { [k: string]: any }): meerkat.BatchChunk; - - /** - * Creates a plain object from a BatchChunk message. Also converts values to other types if specified. - * @param message BatchChunk - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.BatchChunk, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this BatchChunk to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a BatchChunkList. */ - interface IBatchChunkList { - - /** BatchChunkList data */ - data?: meerkat.IBatchChunk[]; - } - - /** Represents a BatchChunkList. */ - class BatchChunkList { - - /** - * Constructs a new BatchChunkList. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IBatchChunkList); - - /** BatchChunkList data. */ - public data: meerkat.IBatchChunk[]; - - /** - * Creates a new BatchChunkList instance using the specified properties. - * @param [properties] Properties to set - * @returns BatchChunkList instance - */ - public static create(properties?: meerkat.IBatchChunkList): meerkat.BatchChunkList; - - /** - * Encodes the specified BatchChunkList message. Does not implicitly {@link meerkat.BatchChunkList.verify|verify} messages. - * @param message BatchChunkList message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IBatchChunkList, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified BatchChunkList message, length delimited. Does not implicitly {@link meerkat.BatchChunkList.verify|verify} messages. - * @param message BatchChunkList message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IBatchChunkList, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a BatchChunkList message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns BatchChunkList - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.BatchChunkList; - - /** - * Decodes a BatchChunkList message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns BatchChunkList - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.BatchChunkList; - - /** - * Verifies a BatchChunkList message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a BatchChunkList message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns BatchChunkList - */ - public static fromObject(object: { [k: string]: any }): meerkat.BatchChunkList; - - /** - * Creates a plain object from a BatchChunkList message. Also converts values to other types if specified. - * @param message BatchChunkList - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.BatchChunkList, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this BatchChunkList to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a BatchMessage. */ - interface IBatchMessage { - - /** BatchMessage batchId */ - batchId?: (number|Long); - - /** BatchMessage serialNum */ - serialNum?: number; - - /** BatchMessage data */ - data?: meerkat.IBatchChunk; - } - - /** Represents a BatchMessage. */ - class BatchMessage { - - /** - * Constructs a new BatchMessage. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IBatchMessage); - - /** BatchMessage batchId. */ - public batchId: (number|Long); - - /** BatchMessage serialNum. */ - public serialNum: number; - - /** BatchMessage data. */ - public data?: (meerkat.IBatchChunk|null); - - /** - * Creates a new BatchMessage instance using the specified properties. - * @param [properties] Properties to set - * @returns BatchMessage instance - */ - public static create(properties?: meerkat.IBatchMessage): meerkat.BatchMessage; - - /** - * Encodes the specified BatchMessage message. Does not implicitly {@link meerkat.BatchMessage.verify|verify} messages. - * @param message BatchMessage message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IBatchMessage, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified BatchMessage message, length delimited. Does not implicitly {@link meerkat.BatchMessage.verify|verify} messages. - * @param message BatchMessage message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IBatchMessage, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a BatchMessage message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns BatchMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.BatchMessage; - - /** - * Decodes a BatchMessage message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns BatchMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.BatchMessage; - - /** - * Verifies a BatchMessage message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a BatchMessage message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns BatchMessage - */ - public static fromObject(object: { [k: string]: any }): meerkat.BatchMessage; - - /** - * Creates a plain object from a BatchMessage message. Also converts values to other types if specified. - * @param message BatchMessage - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.BatchMessage, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this BatchMessage to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a SingleSyncQuery. */ - interface ISingleSyncQuery { - - /** SingleSyncQuery timeOfSync */ - timeOfSync?: google.protobuf.ITimestamp; - - /** SingleSyncQuery checksum */ - checksum?: (number|Long); - } - - /** Represents a SingleSyncQuery. */ - class SingleSyncQuery { - - /** - * Constructs a new SingleSyncQuery. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.ISingleSyncQuery); - - /** SingleSyncQuery timeOfSync. */ - public timeOfSync?: (google.protobuf.ITimestamp|null); - - /** SingleSyncQuery checksum. */ - public checksum: (number|Long); - - /** - * Creates a new SingleSyncQuery instance using the specified properties. - * @param [properties] Properties to set - * @returns SingleSyncQuery instance - */ - public static create(properties?: meerkat.ISingleSyncQuery): meerkat.SingleSyncQuery; - - /** - * Encodes the specified SingleSyncQuery message. Does not implicitly {@link meerkat.SingleSyncQuery.verify|verify} messages. - * @param message SingleSyncQuery message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.ISingleSyncQuery, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified SingleSyncQuery message, length delimited. Does not implicitly {@link meerkat.SingleSyncQuery.verify|verify} messages. - * @param message SingleSyncQuery message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.ISingleSyncQuery, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a SingleSyncQuery message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns SingleSyncQuery - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.SingleSyncQuery; - - /** - * Decodes a SingleSyncQuery message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns SingleSyncQuery - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.SingleSyncQuery; - - /** - * Verifies a SingleSyncQuery message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a SingleSyncQuery message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns SingleSyncQuery - */ - public static fromObject(object: { [k: string]: any }): meerkat.SingleSyncQuery; - - /** - * Creates a plain object from a SingleSyncQuery message. Also converts values to other types if specified. - * @param message SingleSyncQuery - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.SingleSyncQuery, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this SingleSyncQuery to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a SyncQuery. */ - interface ISyncQuery { - - /** SyncQuery filterList */ - filterList?: meerkat.IMessageFilterList; - - /** SyncQuery query */ - query?: meerkat.ISingleSyncQuery[]; - } - - /** Represents a SyncQuery. */ - class SyncQuery { - - /** - * Constructs a new SyncQuery. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.ISyncQuery); - - /** SyncQuery filterList. */ - public filterList?: (meerkat.IMessageFilterList|null); - - /** SyncQuery query. */ - public query: meerkat.ISingleSyncQuery[]; - - /** - * Creates a new SyncQuery instance using the specified properties. - * @param [properties] Properties to set - * @returns SyncQuery instance - */ - public static create(properties?: meerkat.ISyncQuery): meerkat.SyncQuery; - - /** - * Encodes the specified SyncQuery message. Does not implicitly {@link meerkat.SyncQuery.verify|verify} messages. - * @param message SyncQuery message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.ISyncQuery, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified SyncQuery message, length delimited. Does not implicitly {@link meerkat.SyncQuery.verify|verify} messages. - * @param message SyncQuery message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.ISyncQuery, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a SyncQuery message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns SyncQuery - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.SyncQuery; - - /** - * Decodes a SyncQuery message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns SyncQuery - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.SyncQuery; - - /** - * Verifies a SyncQuery message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a SyncQuery message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns SyncQuery - */ - public static fromObject(object: { [k: string]: any }): meerkat.SyncQuery; - - /** - * Creates a plain object from a SyncQuery message. Also converts values to other types if specified. - * @param message SyncQuery - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.SyncQuery, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this SyncQuery to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a GenerateSyncQueryParams. */ - interface IGenerateSyncQueryParams { - - /** GenerateSyncQueryParams filterList */ - filterList?: meerkat.IMessageFilterList; - - /** GenerateSyncQueryParams breakpointList */ - breakpointList?: number[]; - } - - /** Represents a GenerateSyncQueryParams. */ - class GenerateSyncQueryParams { - - /** - * Constructs a new GenerateSyncQueryParams. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IGenerateSyncQueryParams); - - /** GenerateSyncQueryParams filterList. */ - public filterList?: (meerkat.IMessageFilterList|null); - - /** GenerateSyncQueryParams breakpointList. */ - public breakpointList: number[]; - - /** - * Creates a new GenerateSyncQueryParams instance using the specified properties. - * @param [properties] Properties to set - * @returns GenerateSyncQueryParams instance - */ - public static create(properties?: meerkat.IGenerateSyncQueryParams): meerkat.GenerateSyncQueryParams; - - /** - * Encodes the specified GenerateSyncQueryParams message. Does not implicitly {@link meerkat.GenerateSyncQueryParams.verify|verify} messages. - * @param message GenerateSyncQueryParams message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IGenerateSyncQueryParams, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified GenerateSyncQueryParams message, length delimited. Does not implicitly {@link meerkat.GenerateSyncQueryParams.verify|verify} messages. - * @param message GenerateSyncQueryParams message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IGenerateSyncQueryParams, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a GenerateSyncQueryParams message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns GenerateSyncQueryParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.GenerateSyncQueryParams; - - /** - * Decodes a GenerateSyncQueryParams message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns GenerateSyncQueryParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.GenerateSyncQueryParams; - - /** - * Verifies a GenerateSyncQueryParams message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a GenerateSyncQueryParams message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns GenerateSyncQueryParams - */ - public static fromObject(object: { [k: string]: any }): meerkat.GenerateSyncQueryParams; - - /** - * Creates a plain object from a GenerateSyncQueryParams message. Also converts values to other types if specified. - * @param message GenerateSyncQueryParams - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.GenerateSyncQueryParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this GenerateSyncQueryParams to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a SyncQueryResponse. */ - interface ISyncQueryResponse { - - /** SyncQueryResponse lastEntryNum */ - lastEntryNum?: (number|Long); - - /** SyncQueryResponse lastTimeOfSync */ - lastTimeOfSync?: google.protobuf.ITimestamp; - } - - /** Represents a SyncQueryResponse. */ - class SyncQueryResponse { - - /** - * Constructs a new SyncQueryResponse. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.ISyncQueryResponse); - - /** SyncQueryResponse lastEntryNum. */ - public lastEntryNum: (number|Long); - - /** SyncQueryResponse lastTimeOfSync. */ - public lastTimeOfSync?: (google.protobuf.ITimestamp|null); - - /** - * Creates a new SyncQueryResponse instance using the specified properties. - * @param [properties] Properties to set - * @returns SyncQueryResponse instance - */ - public static create(properties?: meerkat.ISyncQueryResponse): meerkat.SyncQueryResponse; - - /** - * Encodes the specified SyncQueryResponse message. Does not implicitly {@link meerkat.SyncQueryResponse.verify|verify} messages. - * @param message SyncQueryResponse message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.ISyncQueryResponse, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified SyncQueryResponse message, length delimited. Does not implicitly {@link meerkat.SyncQueryResponse.verify|verify} messages. - * @param message SyncQueryResponse message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.ISyncQueryResponse, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a SyncQueryResponse message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns SyncQueryResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.SyncQueryResponse; - - /** - * Decodes a SyncQueryResponse message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns SyncQueryResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.SyncQueryResponse; - - /** - * Verifies a SyncQueryResponse message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a SyncQueryResponse message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns SyncQueryResponse - */ - public static fromObject(object: { [k: string]: any }): meerkat.SyncQueryResponse; - - /** - * Creates a plain object from a SyncQueryResponse message. Also converts values to other types if specified. - * @param message SyncQueryResponse - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.SyncQueryResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this SyncQueryResponse to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a BatchQuery. */ - interface IBatchQuery { - - /** BatchQuery msgID */ - msgID?: meerkat.IMessageID; - - /** BatchQuery startPosition */ - startPosition?: number; - } - - /** Represents a BatchQuery. */ - class BatchQuery { - - /** - * Constructs a new BatchQuery. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IBatchQuery); - - /** BatchQuery msgID. */ - public msgID?: (meerkat.IMessageID|null); - - /** BatchQuery startPosition. */ - public startPosition: number; - - /** - * Creates a new BatchQuery instance using the specified properties. - * @param [properties] Properties to set - * @returns BatchQuery instance - */ - public static create(properties?: meerkat.IBatchQuery): meerkat.BatchQuery; - - /** - * Encodes the specified BatchQuery message. Does not implicitly {@link meerkat.BatchQuery.verify|verify} messages. - * @param message BatchQuery message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IBatchQuery, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified BatchQuery message, length delimited. Does not implicitly {@link meerkat.BatchQuery.verify|verify} messages. - * @param message BatchQuery message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IBatchQuery, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a BatchQuery message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns BatchQuery - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.BatchQuery; - - /** - * Decodes a BatchQuery message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns BatchQuery - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.BatchQuery; - - /** - * Verifies a BatchQuery message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a BatchQuery message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns BatchQuery - */ - public static fromObject(object: { [k: string]: any }): meerkat.BatchQuery; - - /** - * Creates a plain object from a BatchQuery message. Also converts values to other types if specified. - * @param message BatchQuery - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.BatchQuery, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this BatchQuery to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a ServerStatus. */ - interface IServerStatus { - - /** ServerStatus mode */ - mode?: meerkat.ServerStatus.Mode; - - /** ServerStatus name */ - name?: string; - - /** ServerStatus pk */ - pk?: meerkat.ISignatureVerificationKey; - } - - /** Represents a ServerStatus. */ - class ServerStatus { - - /** - * Constructs a new ServerStatus. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IServerStatus); - - /** ServerStatus mode. */ - public mode: meerkat.ServerStatus.Mode; - - /** ServerStatus name. */ - public name: string; - - /** ServerStatus pk. */ - public pk?: (meerkat.ISignatureVerificationKey|null); - - /** - * Creates a new ServerStatus instance using the specified properties. - * @param [properties] Properties to set - * @returns ServerStatus instance - */ - public static create(properties?: meerkat.IServerStatus): meerkat.ServerStatus; - - /** - * Encodes the specified ServerStatus message. Does not implicitly {@link meerkat.ServerStatus.verify|verify} messages. - * @param message ServerStatus message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IServerStatus, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ServerStatus message, length delimited. Does not implicitly {@link meerkat.ServerStatus.verify|verify} messages. - * @param message ServerStatus message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IServerStatus, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ServerStatus message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ServerStatus - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.ServerStatus; - - /** - * Decodes a ServerStatus message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ServerStatus - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.ServerStatus; - - /** - * Verifies a ServerStatus message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ServerStatus message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ServerStatus - */ - public static fromObject(object: { [k: string]: any }): meerkat.ServerStatus; - - /** - * Creates a plain object from a ServerStatus message. Also converts values to other types if specified. - * @param message ServerStatus - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.ServerStatus, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ServerStatus to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - namespace ServerStatus { - - /** Mode enum. */ - enum Mode { - MODE_SETUP_AUTH = 0, - MODE_SETUP_DB = 1, - MODE_RUNNING = 2 - } - } - - /** Properties of a BroadcastMessage. */ - interface IBroadcastMessage { - - /** BroadcastMessage sender */ - sender?: number; - - /** BroadcastMessage destination */ - destination?: number; - - /** BroadcastMessage isPrivate */ - isPrivate?: boolean; - - /** BroadcastMessage payload */ - payload?: Uint8Array; - } - - /** Represents a BroadcastMessage. */ - class BroadcastMessage { - - /** - * Constructs a new BroadcastMessage. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IBroadcastMessage); - - /** BroadcastMessage sender. */ - public sender: number; - - /** BroadcastMessage destination. */ - public destination: number; - - /** BroadcastMessage isPrivate. */ - public isPrivate: boolean; - - /** BroadcastMessage payload. */ - public payload: Uint8Array; - - /** - * Creates a new BroadcastMessage instance using the specified properties. - * @param [properties] Properties to set - * @returns BroadcastMessage instance - */ - public static create(properties?: meerkat.IBroadcastMessage): meerkat.BroadcastMessage; - - /** - * Encodes the specified BroadcastMessage message. Does not implicitly {@link meerkat.BroadcastMessage.verify|verify} messages. - * @param message BroadcastMessage message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IBroadcastMessage, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified BroadcastMessage message, length delimited. Does not implicitly {@link meerkat.BroadcastMessage.verify|verify} messages. - * @param message BroadcastMessage message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IBroadcastMessage, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a BroadcastMessage message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns BroadcastMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.BroadcastMessage; - - /** - * Decodes a BroadcastMessage message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns BroadcastMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.BroadcastMessage; - - /** - * Verifies a BroadcastMessage message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a BroadcastMessage message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns BroadcastMessage - */ - public static fromObject(object: { [k: string]: any }): meerkat.BroadcastMessage; - - /** - * Creates a plain object from a BroadcastMessage message. Also converts values to other types if specified. - * @param message BroadcastMessage - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.BroadcastMessage, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this BroadcastMessage to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of an ElGamalPublicKey. */ - interface IElGamalPublicKey { - - /** ElGamalPublicKey subjectPublicKeyInfo */ - subjectPublicKeyInfo?: Uint8Array; - } - - /** Represents an ElGamalPublicKey. */ - class ElGamalPublicKey { - - /** - * Constructs a new ElGamalPublicKey. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IElGamalPublicKey); - - /** ElGamalPublicKey subjectPublicKeyInfo. */ - public subjectPublicKeyInfo: Uint8Array; - - /** - * Creates a new ElGamalPublicKey instance using the specified properties. - * @param [properties] Properties to set - * @returns ElGamalPublicKey instance - */ - public static create(properties?: meerkat.IElGamalPublicKey): meerkat.ElGamalPublicKey; - - /** - * Encodes the specified ElGamalPublicKey message. Does not implicitly {@link meerkat.ElGamalPublicKey.verify|verify} messages. - * @param message ElGamalPublicKey message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IElGamalPublicKey, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ElGamalPublicKey message, length delimited. Does not implicitly {@link meerkat.ElGamalPublicKey.verify|verify} messages. - * @param message ElGamalPublicKey message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IElGamalPublicKey, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an ElGamalPublicKey message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ElGamalPublicKey - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.ElGamalPublicKey; - - /** - * Decodes an ElGamalPublicKey message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ElGamalPublicKey - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.ElGamalPublicKey; - - /** - * Verifies an ElGamalPublicKey message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates an ElGamalPublicKey message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ElGamalPublicKey - */ - public static fromObject(object: { [k: string]: any }): meerkat.ElGamalPublicKey; - - /** - * Creates a plain object from an ElGamalPublicKey message. Also converts values to other types if specified. - * @param message ElGamalPublicKey - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.ElGamalPublicKey, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ElGamalPublicKey to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a GroupElement. */ - interface IGroupElement { - - /** GroupElement data */ - data?: Uint8Array; - } - - /** Represents a GroupElement. */ - class GroupElement { - - /** - * Constructs a new GroupElement. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IGroupElement); - - /** GroupElement data. */ - public data: Uint8Array; - - /** - * Creates a new GroupElement instance using the specified properties. - * @param [properties] Properties to set - * @returns GroupElement instance - */ - public static create(properties?: meerkat.IGroupElement): meerkat.GroupElement; - - /** - * Encodes the specified GroupElement message. Does not implicitly {@link meerkat.GroupElement.verify|verify} messages. - * @param message GroupElement message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IGroupElement, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified GroupElement message, length delimited. Does not implicitly {@link meerkat.GroupElement.verify|verify} messages. - * @param message GroupElement message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IGroupElement, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a GroupElement message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns GroupElement - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.GroupElement; - - /** - * Decodes a GroupElement message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns GroupElement - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.GroupElement; - - /** - * Verifies a GroupElement message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a GroupElement message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns GroupElement - */ - public static fromObject(object: { [k: string]: any }): meerkat.GroupElement; - - /** - * Creates a plain object from a GroupElement message. Also converts values to other types if specified. - * @param message GroupElement - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.GroupElement, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this GroupElement to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of an ElGamalCiphertext. */ - interface IElGamalCiphertext { - - /** ElGamalCiphertext c1 */ - c1?: meerkat.IGroupElement; - - /** ElGamalCiphertext c2 */ - c2?: meerkat.IGroupElement; - } - - /** Represents an ElGamalCiphertext. */ - class ElGamalCiphertext { - - /** - * Constructs a new ElGamalCiphertext. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IElGamalCiphertext); - - /** ElGamalCiphertext c1. */ - public c1?: (meerkat.IGroupElement|null); - - /** ElGamalCiphertext c2. */ - public c2?: (meerkat.IGroupElement|null); - - /** - * Creates a new ElGamalCiphertext instance using the specified properties. - * @param [properties] Properties to set - * @returns ElGamalCiphertext instance - */ - public static create(properties?: meerkat.IElGamalCiphertext): meerkat.ElGamalCiphertext; - - /** - * Encodes the specified ElGamalCiphertext message. Does not implicitly {@link meerkat.ElGamalCiphertext.verify|verify} messages. - * @param message ElGamalCiphertext message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IElGamalCiphertext, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ElGamalCiphertext message, length delimited. Does not implicitly {@link meerkat.ElGamalCiphertext.verify|verify} messages. - * @param message ElGamalCiphertext message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IElGamalCiphertext, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an ElGamalCiphertext message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ElGamalCiphertext - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.ElGamalCiphertext; - - /** - * Decodes an ElGamalCiphertext message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ElGamalCiphertext - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.ElGamalCiphertext; - - /** - * Verifies an ElGamalCiphertext message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates an ElGamalCiphertext message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ElGamalCiphertext - */ - public static fromObject(object: { [k: string]: any }): meerkat.ElGamalCiphertext; - - /** - * Creates a plain object from an ElGamalCiphertext message. Also converts values to other types if specified. - * @param message ElGamalCiphertext - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.ElGamalCiphertext, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ElGamalCiphertext to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** SignatureType enum. */ - enum SignatureType { - ECDSA = 0, - DSA = 1, - RSA = 2 - } - - /** Properties of a BigInteger. */ - interface IBigInteger { - - /** BigInteger data */ - data?: Uint8Array; - } - - /** Represents a BigInteger. */ - class BigInteger { - - /** - * Constructs a new BigInteger. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IBigInteger); - - /** BigInteger data. */ - public data: Uint8Array; - - /** - * Creates a new BigInteger instance using the specified properties. - * @param [properties] Properties to set - * @returns BigInteger instance - */ - public static create(properties?: meerkat.IBigInteger): meerkat.BigInteger; - - /** - * Encodes the specified BigInteger message. Does not implicitly {@link meerkat.BigInteger.verify|verify} messages. - * @param message BigInteger message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IBigInteger, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified BigInteger message, length delimited. Does not implicitly {@link meerkat.BigInteger.verify|verify} messages. - * @param message BigInteger message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IBigInteger, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a BigInteger message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns BigInteger - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.BigInteger; - - /** - * Decodes a BigInteger message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns BigInteger - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.BigInteger; - - /** - * Verifies a BigInteger message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a BigInteger message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns BigInteger - */ - public static fromObject(object: { [k: string]: any }): meerkat.BigInteger; - - /** - * Creates a plain object from a BigInteger message. Also converts values to other types if specified. - * @param message BigInteger - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.BigInteger, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this BigInteger to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a Signature. */ - interface ISignature { - - /** Signature type */ - type?: meerkat.SignatureType; - - /** Signature data */ - data?: Uint8Array; - - /** Signature signerId */ - signerId?: Uint8Array; - } - - /** Represents a Signature. */ - class Signature { - - /** - * Constructs a new Signature. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.ISignature); - - /** Signature type. */ - public type: meerkat.SignatureType; - - /** Signature data. */ - public data: Uint8Array; - - /** Signature signerId. */ - public signerId: Uint8Array; - - /** - * Creates a new Signature instance using the specified properties. - * @param [properties] Properties to set - * @returns Signature instance - */ - public static create(properties?: meerkat.ISignature): meerkat.Signature; - - /** - * Encodes the specified Signature message. Does not implicitly {@link meerkat.Signature.verify|verify} messages. - * @param message Signature message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.ISignature, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Signature message, length delimited. Does not implicitly {@link meerkat.Signature.verify|verify} messages. - * @param message Signature message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.ISignature, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Signature message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Signature - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.Signature; - - /** - * Decodes a Signature message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Signature - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.Signature; - - /** - * Verifies a Signature message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a Signature message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Signature - */ - public static fromObject(object: { [k: string]: any }): meerkat.Signature; - - /** - * Creates a plain object from a Signature message. Also converts values to other types if specified. - * @param message Signature - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.Signature, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Signature to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a SignatureVerificationKey. */ - interface ISignatureVerificationKey { - - /** SignatureVerificationKey type */ - type?: meerkat.SignatureType; - - /** SignatureVerificationKey data */ - data?: Uint8Array; - } - - /** Represents a SignatureVerificationKey. */ - class SignatureVerificationKey { - - /** - * Constructs a new SignatureVerificationKey. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.ISignatureVerificationKey); - - /** SignatureVerificationKey type. */ - public type: meerkat.SignatureType; - - /** SignatureVerificationKey data. */ - public data: Uint8Array; - - /** - * Creates a new SignatureVerificationKey instance using the specified properties. - * @param [properties] Properties to set - * @returns SignatureVerificationKey instance - */ - public static create(properties?: meerkat.ISignatureVerificationKey): meerkat.SignatureVerificationKey; - - /** - * Encodes the specified SignatureVerificationKey message. Does not implicitly {@link meerkat.SignatureVerificationKey.verify|verify} messages. - * @param message SignatureVerificationKey message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.ISignatureVerificationKey, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified SignatureVerificationKey message, length delimited. Does not implicitly {@link meerkat.SignatureVerificationKey.verify|verify} messages. - * @param message SignatureVerificationKey message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.ISignatureVerificationKey, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a SignatureVerificationKey message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns SignatureVerificationKey - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.SignatureVerificationKey; - - /** - * Decodes a SignatureVerificationKey message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns SignatureVerificationKey - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.SignatureVerificationKey; - - /** - * Verifies a SignatureVerificationKey message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a SignatureVerificationKey message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns SignatureVerificationKey - */ - public static fromObject(object: { [k: string]: any }): meerkat.SignatureVerificationKey; - - /** - * Creates a plain object from a SignatureVerificationKey message. Also converts values to other types if specified. - * @param message SignatureVerificationKey - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.SignatureVerificationKey, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this SignatureVerificationKey to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of an EncryptionPublicKey. */ - interface IEncryptionPublicKey { - - /** EncryptionPublicKey data */ - data?: Uint8Array; - } - - /** Represents an EncryptionPublicKey. */ - class EncryptionPublicKey { - - /** - * Constructs a new EncryptionPublicKey. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IEncryptionPublicKey); - - /** EncryptionPublicKey data. */ - public data: Uint8Array; - - /** - * Creates a new EncryptionPublicKey instance using the specified properties. - * @param [properties] Properties to set - * @returns EncryptionPublicKey instance - */ - public static create(properties?: meerkat.IEncryptionPublicKey): meerkat.EncryptionPublicKey; - - /** - * Encodes the specified EncryptionPublicKey message. Does not implicitly {@link meerkat.EncryptionPublicKey.verify|verify} messages. - * @param message EncryptionPublicKey message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IEncryptionPublicKey, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified EncryptionPublicKey message, length delimited. Does not implicitly {@link meerkat.EncryptionPublicKey.verify|verify} messages. - * @param message EncryptionPublicKey message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IEncryptionPublicKey, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an EncryptionPublicKey message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns EncryptionPublicKey - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.EncryptionPublicKey; - - /** - * Decodes an EncryptionPublicKey message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns EncryptionPublicKey - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.EncryptionPublicKey; - - /** - * Verifies an EncryptionPublicKey message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates an EncryptionPublicKey message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns EncryptionPublicKey - */ - public static fromObject(object: { [k: string]: any }): meerkat.EncryptionPublicKey; - - /** - * Creates a plain object from an EncryptionPublicKey message. Also converts values to other types if specified. - * @param message EncryptionPublicKey - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.EncryptionPublicKey, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this EncryptionPublicKey to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of an EncryptionRandomness. */ - interface IEncryptionRandomness { - - /** EncryptionRandomness data */ - data?: Uint8Array; - } - - /** Represents an EncryptionRandomness. */ - class EncryptionRandomness { - - /** - * Constructs a new EncryptionRandomness. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IEncryptionRandomness); - - /** EncryptionRandomness data. */ - public data: Uint8Array; - - /** - * Creates a new EncryptionRandomness instance using the specified properties. - * @param [properties] Properties to set - * @returns EncryptionRandomness instance - */ - public static create(properties?: meerkat.IEncryptionRandomness): meerkat.EncryptionRandomness; - - /** - * Encodes the specified EncryptionRandomness message. Does not implicitly {@link meerkat.EncryptionRandomness.verify|verify} messages. - * @param message EncryptionRandomness message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IEncryptionRandomness, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified EncryptionRandomness message, length delimited. Does not implicitly {@link meerkat.EncryptionRandomness.verify|verify} messages. - * @param message EncryptionRandomness message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IEncryptionRandomness, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an EncryptionRandomness message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns EncryptionRandomness - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.EncryptionRandomness; - - /** - * Decodes an EncryptionRandomness message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns EncryptionRandomness - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.EncryptionRandomness; - - /** - * Verifies an EncryptionRandomness message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates an EncryptionRandomness message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns EncryptionRandomness - */ - public static fromObject(object: { [k: string]: any }): meerkat.EncryptionRandomness; - - /** - * Creates a plain object from an EncryptionRandomness message. Also converts values to other types if specified. - * @param message EncryptionRandomness - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.EncryptionRandomness, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this EncryptionRandomness to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a RandomnessGenerationProof. */ - interface IRandomnessGenerationProof { - - /** RandomnessGenerationProof data */ - data?: Uint8Array; - } - - /** Represents a RandomnessGenerationProof. */ - class RandomnessGenerationProof { - - /** - * Constructs a new RandomnessGenerationProof. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IRandomnessGenerationProof); - - /** RandomnessGenerationProof data. */ - public data: Uint8Array; - - /** - * Creates a new RandomnessGenerationProof instance using the specified properties. - * @param [properties] Properties to set - * @returns RandomnessGenerationProof instance - */ - public static create(properties?: meerkat.IRandomnessGenerationProof): meerkat.RandomnessGenerationProof; - - /** - * Encodes the specified RandomnessGenerationProof message. Does not implicitly {@link meerkat.RandomnessGenerationProof.verify|verify} messages. - * @param message RandomnessGenerationProof message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IRandomnessGenerationProof, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified RandomnessGenerationProof message, length delimited. Does not implicitly {@link meerkat.RandomnessGenerationProof.verify|verify} messages. - * @param message RandomnessGenerationProof message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IRandomnessGenerationProof, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a RandomnessGenerationProof message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns RandomnessGenerationProof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.RandomnessGenerationProof; - - /** - * Decodes a RandomnessGenerationProof message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns RandomnessGenerationProof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.RandomnessGenerationProof; - - /** - * Verifies a RandomnessGenerationProof message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a RandomnessGenerationProof message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns RandomnessGenerationProof - */ - public static fromObject(object: { [k: string]: any }): meerkat.RandomnessGenerationProof; - - /** - * Creates a plain object from a RandomnessGenerationProof message. Also converts values to other types if specified. - * @param message RandomnessGenerationProof - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.RandomnessGenerationProof, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this RandomnessGenerationProof to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a RerandomizableEncryptedMessage. */ - interface IRerandomizableEncryptedMessage { - - /** RerandomizableEncryptedMessage data */ - data?: Uint8Array; - } - - /** Represents a RerandomizableEncryptedMessage. */ - class RerandomizableEncryptedMessage { - - /** - * Constructs a new RerandomizableEncryptedMessage. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IRerandomizableEncryptedMessage); - - /** RerandomizableEncryptedMessage data. */ - public data: Uint8Array; - - /** - * Creates a new RerandomizableEncryptedMessage instance using the specified properties. - * @param [properties] Properties to set - * @returns RerandomizableEncryptedMessage instance - */ - public static create(properties?: meerkat.IRerandomizableEncryptedMessage): meerkat.RerandomizableEncryptedMessage; - - /** - * Encodes the specified RerandomizableEncryptedMessage message. Does not implicitly {@link meerkat.RerandomizableEncryptedMessage.verify|verify} messages. - * @param message RerandomizableEncryptedMessage message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IRerandomizableEncryptedMessage, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified RerandomizableEncryptedMessage message, length delimited. Does not implicitly {@link meerkat.RerandomizableEncryptedMessage.verify|verify} messages. - * @param message RerandomizableEncryptedMessage message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IRerandomizableEncryptedMessage, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a RerandomizableEncryptedMessage message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns RerandomizableEncryptedMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.RerandomizableEncryptedMessage; - - /** - * Decodes a RerandomizableEncryptedMessage message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns RerandomizableEncryptedMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.RerandomizableEncryptedMessage; - - /** - * Verifies a RerandomizableEncryptedMessage message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a RerandomizableEncryptedMessage message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns RerandomizableEncryptedMessage - */ - public static fromObject(object: { [k: string]: any }): meerkat.RerandomizableEncryptedMessage; - - /** - * Creates a plain object from a RerandomizableEncryptedMessage message. Also converts values to other types if specified. - * @param message RerandomizableEncryptedMessage - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.RerandomizableEncryptedMessage, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this RerandomizableEncryptedMessage to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a Payload. */ - interface IPayload { - - /** Payload type */ - type?: meerkat.Payload.Type; - - /** Payload id */ - id?: meerkat.IIDMessage; - - /** Payload share */ - share?: meerkat.IShareMessage; - - /** Payload commitment */ - commitment?: meerkat.ICommitmentMessage; - } - - /** Represents a Payload. */ - class Payload { - - /** - * Constructs a new Payload. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IPayload); - - /** Payload type. */ - public type: meerkat.Payload.Type; - - /** Payload id. */ - public id?: (meerkat.IIDMessage|null); - - /** Payload share. */ - public share?: (meerkat.IShareMessage|null); - - /** Payload commitment. */ - public commitment?: (meerkat.ICommitmentMessage|null); - - /** Payload payloadData. */ - public payloadData?: string; - - /** - * Creates a new Payload instance using the specified properties. - * @param [properties] Properties to set - * @returns Payload instance - */ - public static create(properties?: meerkat.IPayload): meerkat.Payload; - - /** - * Encodes the specified Payload message. Does not implicitly {@link meerkat.Payload.verify|verify} messages. - * @param message Payload message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IPayload, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Payload message, length delimited. Does not implicitly {@link meerkat.Payload.verify|verify} messages. - * @param message Payload message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IPayload, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Payload message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Payload - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.Payload; - - /** - * Decodes a Payload message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Payload - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.Payload; - - /** - * Verifies a Payload message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a Payload message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Payload - */ - public static fromObject(object: { [k: string]: any }): meerkat.Payload; - - /** - * Creates a plain object from a Payload message. Also converts values to other types if specified. - * @param message Payload - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.Payload, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Payload to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - namespace Payload { - - /** Type enum. */ - enum Type { - SHARE = 0, - COMMITMENT = 1, - COMPLAINT = 2, - DONE = 3, - ANSWER = 4, - YCOMMITMENT = 5, - YCOMPLAINT = 6, - YANSWER = 7, - ABORT = 8 - } - } - - /** Properties of a IDMessage. */ - interface IIDMessage { - - /** IDMessage id */ - id?: number; - } - - /** Represents a IDMessage. */ - class IDMessage { - - /** - * Constructs a new IDMessage. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IIDMessage); - - /** IDMessage id. */ - public id: number; - - /** - * Creates a new IDMessage instance using the specified properties. - * @param [properties] Properties to set - * @returns IDMessage instance - */ - public static create(properties?: meerkat.IIDMessage): meerkat.IDMessage; - - /** - * Encodes the specified IDMessage message. Does not implicitly {@link meerkat.IDMessage.verify|verify} messages. - * @param message IDMessage message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IIDMessage, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified IDMessage message, length delimited. Does not implicitly {@link meerkat.IDMessage.verify|verify} messages. - * @param message IDMessage message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IIDMessage, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a IDMessage message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns IDMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.IDMessage; - - /** - * Decodes a IDMessage message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns IDMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.IDMessage; - - /** - * Verifies a IDMessage message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a IDMessage message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns IDMessage - */ - public static fromObject(object: { [k: string]: any }): meerkat.IDMessage; - - /** - * Creates a plain object from a IDMessage message. Also converts values to other types if specified. - * @param message IDMessage - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.IDMessage, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this IDMessage to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a ShareMessage. */ - interface IShareMessage { - - /** ShareMessage i */ - i?: number; - - /** ShareMessage j */ - j?: number; - - /** ShareMessage share */ - share?: Uint8Array; - - /** ShareMessage shareT */ - shareT?: Uint8Array; - } - - /** Represents a ShareMessage. */ - class ShareMessage { - - /** - * Constructs a new ShareMessage. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IShareMessage); - - /** ShareMessage i. */ - public i: number; - - /** ShareMessage j. */ - public j: number; - - /** ShareMessage share. */ - public share: Uint8Array; - - /** ShareMessage shareT. */ - public shareT: Uint8Array; - - /** - * Creates a new ShareMessage instance using the specified properties. - * @param [properties] Properties to set - * @returns ShareMessage instance - */ - public static create(properties?: meerkat.IShareMessage): meerkat.ShareMessage; - - /** - * Encodes the specified ShareMessage message. Does not implicitly {@link meerkat.ShareMessage.verify|verify} messages. - * @param message ShareMessage message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IShareMessage, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ShareMessage message, length delimited. Does not implicitly {@link meerkat.ShareMessage.verify|verify} messages. - * @param message ShareMessage message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IShareMessage, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ShareMessage message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ShareMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.ShareMessage; - - /** - * Decodes a ShareMessage message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ShareMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.ShareMessage; - - /** - * Verifies a ShareMessage message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ShareMessage message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ShareMessage - */ - public static fromObject(object: { [k: string]: any }): meerkat.ShareMessage; - - /** - * Creates a plain object from a ShareMessage message. Also converts values to other types if specified. - * @param message ShareMessage - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.ShareMessage, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ShareMessage to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a CommitmentMessage. */ - interface ICommitmentMessage { - - /** CommitmentMessage k */ - k?: number; - - /** CommitmentMessage commitment */ - commitment?: Uint8Array; - } - - /** Represents a CommitmentMessage. */ - class CommitmentMessage { - - /** - * Constructs a new CommitmentMessage. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.ICommitmentMessage); - - /** CommitmentMessage k. */ - public k: number; - - /** CommitmentMessage commitment. */ - public commitment: Uint8Array; - - /** - * Creates a new CommitmentMessage instance using the specified properties. - * @param [properties] Properties to set - * @returns CommitmentMessage instance - */ - public static create(properties?: meerkat.ICommitmentMessage): meerkat.CommitmentMessage; - - /** - * Encodes the specified CommitmentMessage message. Does not implicitly {@link meerkat.CommitmentMessage.verify|verify} messages. - * @param message CommitmentMessage message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.ICommitmentMessage, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified CommitmentMessage message, length delimited. Does not implicitly {@link meerkat.CommitmentMessage.verify|verify} messages. - * @param message CommitmentMessage message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.ICommitmentMessage, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a CommitmentMessage message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns CommitmentMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.CommitmentMessage; - - /** - * Decodes a CommitmentMessage message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns CommitmentMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.CommitmentMessage; - - /** - * Verifies a CommitmentMessage message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a CommitmentMessage message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns CommitmentMessage - */ - public static fromObject(object: { [k: string]: any }): meerkat.CommitmentMessage; - - /** - * Creates a plain object from a CommitmentMessage message. Also converts values to other types if specified. - * @param message CommitmentMessage - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.CommitmentMessage, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this CommitmentMessage to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a MixBatchHeader. */ - interface IMixBatchHeader { - - /** MixBatchHeader logN */ - logN?: number; - - /** MixBatchHeader layers */ - layers?: number; - } - - /** Represents a MixBatchHeader. */ - class MixBatchHeader { - - /** - * Constructs a new MixBatchHeader. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IMixBatchHeader); - - /** MixBatchHeader logN. */ - public logN: number; - - /** MixBatchHeader layers. */ - public layers: number; - - /** - * Creates a new MixBatchHeader instance using the specified properties. - * @param [properties] Properties to set - * @returns MixBatchHeader instance - */ - public static create(properties?: meerkat.IMixBatchHeader): meerkat.MixBatchHeader; - - /** - * Encodes the specified MixBatchHeader message. Does not implicitly {@link meerkat.MixBatchHeader.verify|verify} messages. - * @param message MixBatchHeader message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IMixBatchHeader, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified MixBatchHeader message, length delimited. Does not implicitly {@link meerkat.MixBatchHeader.verify|verify} messages. - * @param message MixBatchHeader message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IMixBatchHeader, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a MixBatchHeader message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns MixBatchHeader - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.MixBatchHeader; - - /** - * Decodes a MixBatchHeader message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns MixBatchHeader - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.MixBatchHeader; - - /** - * Verifies a MixBatchHeader message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a MixBatchHeader message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns MixBatchHeader - */ - public static fromObject(object: { [k: string]: any }): meerkat.MixBatchHeader; - - /** - * Creates a plain object from a MixBatchHeader message. Also converts values to other types if specified. - * @param message MixBatchHeader - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.MixBatchHeader, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this MixBatchHeader to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a Plaintext. */ - interface IPlaintext { - - /** Plaintext data */ - data?: Uint8Array; - } - - /** Represents a Plaintext. */ - class Plaintext { - - /** - * Constructs a new Plaintext. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IPlaintext); - - /** Plaintext data. */ - public data: Uint8Array; - - /** - * Creates a new Plaintext instance using the specified properties. - * @param [properties] Properties to set - * @returns Plaintext instance - */ - public static create(properties?: meerkat.IPlaintext): meerkat.Plaintext; - - /** - * Encodes the specified Plaintext message. Does not implicitly {@link meerkat.Plaintext.verify|verify} messages. - * @param message Plaintext message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IPlaintext, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Plaintext message, length delimited. Does not implicitly {@link meerkat.Plaintext.verify|verify} messages. - * @param message Plaintext message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IPlaintext, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Plaintext message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Plaintext - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.Plaintext; - - /** - * Decodes a Plaintext message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Plaintext - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.Plaintext; - - /** - * Verifies a Plaintext message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a Plaintext message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Plaintext - */ - public static fromObject(object: { [k: string]: any }): meerkat.Plaintext; - - /** - * Creates a plain object from a Plaintext message. Also converts values to other types if specified. - * @param message Plaintext - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.Plaintext, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Plaintext to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a Mix2Proof. */ - interface IMix2Proof { - - /** Mix2Proof firstMessage */ - firstMessage?: meerkat.Mix2Proof.IFirstMessage; - - /** Mix2Proof finalMessage */ - finalMessage?: meerkat.Mix2Proof.IFinalMessage; - - /** Mix2Proof location */ - location?: meerkat.Mix2Proof.ILocation; - } - - /** Represents a Mix2Proof. */ - class Mix2Proof { - - /** - * Constructs a new Mix2Proof. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IMix2Proof); - - /** Mix2Proof firstMessage. */ - public firstMessage?: (meerkat.Mix2Proof.IFirstMessage|null); - - /** Mix2Proof finalMessage. */ - public finalMessage?: (meerkat.Mix2Proof.IFinalMessage|null); - - /** Mix2Proof location. */ - public location?: (meerkat.Mix2Proof.ILocation|null); - - /** - * Creates a new Mix2Proof instance using the specified properties. - * @param [properties] Properties to set - * @returns Mix2Proof instance - */ - public static create(properties?: meerkat.IMix2Proof): meerkat.Mix2Proof; - - /** - * Encodes the specified Mix2Proof message. Does not implicitly {@link meerkat.Mix2Proof.verify|verify} messages. - * @param message Mix2Proof message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IMix2Proof, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Mix2Proof message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.verify|verify} messages. - * @param message Mix2Proof message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IMix2Proof, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Mix2Proof message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Mix2Proof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.Mix2Proof; - - /** - * Decodes a Mix2Proof message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Mix2Proof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.Mix2Proof; - - /** - * Verifies a Mix2Proof message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a Mix2Proof message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Mix2Proof - */ - public static fromObject(object: { [k: string]: any }): meerkat.Mix2Proof; - - /** - * Creates a plain object from a Mix2Proof message. Also converts values to other types if specified. - * @param message Mix2Proof - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.Mix2Proof, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Mix2Proof to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - namespace Mix2Proof { - - /** Properties of a DlogProof. */ - interface IDlogProof { - } - - /** Represents a DlogProof. */ - class DlogProof { - - /** - * Constructs a new DlogProof. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.Mix2Proof.IDlogProof); - - /** - * Creates a new DlogProof instance using the specified properties. - * @param [properties] Properties to set - * @returns DlogProof instance - */ - public static create(properties?: meerkat.Mix2Proof.IDlogProof): meerkat.Mix2Proof.DlogProof; - - /** - * Encodes the specified DlogProof message. Does not implicitly {@link meerkat.Mix2Proof.DlogProof.verify|verify} messages. - * @param message DlogProof message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.Mix2Proof.IDlogProof, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified DlogProof message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.DlogProof.verify|verify} messages. - * @param message DlogProof message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.Mix2Proof.IDlogProof, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a DlogProof message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns DlogProof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.Mix2Proof.DlogProof; - - /** - * Decodes a DlogProof message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns DlogProof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.Mix2Proof.DlogProof; - - /** - * Verifies a DlogProof message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a DlogProof message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns DlogProof - */ - public static fromObject(object: { [k: string]: any }): meerkat.Mix2Proof.DlogProof; - - /** - * Creates a plain object from a DlogProof message. Also converts values to other types if specified. - * @param message DlogProof - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.Mix2Proof.DlogProof, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this DlogProof to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - namespace DlogProof { - - /** Properties of a FirstMessage. */ - interface IFirstMessage { - - /** FirstMessage gr */ - gr?: meerkat.IGroupElement; - - /** FirstMessage hr */ - hr?: meerkat.IGroupElement; - } - - /** Represents a FirstMessage. */ - class FirstMessage { - - /** - * Constructs a new FirstMessage. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.Mix2Proof.DlogProof.IFirstMessage); - - /** FirstMessage gr. */ - public gr?: (meerkat.IGroupElement|null); - - /** FirstMessage hr. */ - public hr?: (meerkat.IGroupElement|null); - - /** - * Creates a new FirstMessage instance using the specified properties. - * @param [properties] Properties to set - * @returns FirstMessage instance - */ - public static create(properties?: meerkat.Mix2Proof.DlogProof.IFirstMessage): meerkat.Mix2Proof.DlogProof.FirstMessage; - - /** - * Encodes the specified FirstMessage message. Does not implicitly {@link meerkat.Mix2Proof.DlogProof.FirstMessage.verify|verify} messages. - * @param message FirstMessage message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.Mix2Proof.DlogProof.IFirstMessage, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified FirstMessage message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.DlogProof.FirstMessage.verify|verify} messages. - * @param message FirstMessage message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.Mix2Proof.DlogProof.IFirstMessage, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a FirstMessage message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns FirstMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.Mix2Proof.DlogProof.FirstMessage; - - /** - * Decodes a FirstMessage message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns FirstMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.Mix2Proof.DlogProof.FirstMessage; - - /** - * Verifies a FirstMessage message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a FirstMessage message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns FirstMessage - */ - public static fromObject(object: { [k: string]: any }): meerkat.Mix2Proof.DlogProof.FirstMessage; - - /** - * Creates a plain object from a FirstMessage message. Also converts values to other types if specified. - * @param message FirstMessage - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.Mix2Proof.DlogProof.FirstMessage, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this FirstMessage to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a FinalMessage. */ - interface IFinalMessage { - - /** FinalMessage xcr */ - xcr?: meerkat.IBigInteger; - } - - /** Represents a FinalMessage. */ - class FinalMessage { - - /** - * Constructs a new FinalMessage. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.Mix2Proof.DlogProof.IFinalMessage); - - /** FinalMessage xcr. */ - public xcr?: (meerkat.IBigInteger|null); - - /** - * Creates a new FinalMessage instance using the specified properties. - * @param [properties] Properties to set - * @returns FinalMessage instance - */ - public static create(properties?: meerkat.Mix2Proof.DlogProof.IFinalMessage): meerkat.Mix2Proof.DlogProof.FinalMessage; - - /** - * Encodes the specified FinalMessage message. Does not implicitly {@link meerkat.Mix2Proof.DlogProof.FinalMessage.verify|verify} messages. - * @param message FinalMessage message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.Mix2Proof.DlogProof.IFinalMessage, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified FinalMessage message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.DlogProof.FinalMessage.verify|verify} messages. - * @param message FinalMessage message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.Mix2Proof.DlogProof.IFinalMessage, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a FinalMessage message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns FinalMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.Mix2Proof.DlogProof.FinalMessage; - - /** - * Decodes a FinalMessage message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns FinalMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.Mix2Proof.DlogProof.FinalMessage; - - /** - * Verifies a FinalMessage message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a FinalMessage message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns FinalMessage - */ - public static fromObject(object: { [k: string]: any }): meerkat.Mix2Proof.DlogProof.FinalMessage; - - /** - * Creates a plain object from a FinalMessage message. Also converts values to other types if specified. - * @param message FinalMessage - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.Mix2Proof.DlogProof.FinalMessage, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this FinalMessage to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - } - - /** Properties of an AndProof. */ - interface IAndProof { - } - - /** Represents an AndProof. */ - class AndProof { - - /** - * Constructs a new AndProof. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.Mix2Proof.IAndProof); - - /** - * Creates a new AndProof instance using the specified properties. - * @param [properties] Properties to set - * @returns AndProof instance - */ - public static create(properties?: meerkat.Mix2Proof.IAndProof): meerkat.Mix2Proof.AndProof; - - /** - * Encodes the specified AndProof message. Does not implicitly {@link meerkat.Mix2Proof.AndProof.verify|verify} messages. - * @param message AndProof message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.Mix2Proof.IAndProof, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified AndProof message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.AndProof.verify|verify} messages. - * @param message AndProof message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.Mix2Proof.IAndProof, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an AndProof message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns AndProof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.Mix2Proof.AndProof; - - /** - * Decodes an AndProof message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns AndProof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.Mix2Proof.AndProof; - - /** - * Verifies an AndProof message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates an AndProof message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns AndProof - */ - public static fromObject(object: { [k: string]: any }): meerkat.Mix2Proof.AndProof; - - /** - * Creates a plain object from an AndProof message. Also converts values to other types if specified. - * @param message AndProof - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.Mix2Proof.AndProof, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this AndProof to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - namespace AndProof { - - /** Properties of a FirstMessage. */ - interface IFirstMessage { - - /** FirstMessage clause0 */ - clause0?: meerkat.Mix2Proof.DlogProof.IFirstMessage; - - /** FirstMessage clause1 */ - clause1?: meerkat.Mix2Proof.DlogProof.IFirstMessage; - } - - /** Represents a FirstMessage. */ - class FirstMessage { - - /** - * Constructs a new FirstMessage. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.Mix2Proof.AndProof.IFirstMessage); - - /** FirstMessage clause0. */ - public clause0?: (meerkat.Mix2Proof.DlogProof.IFirstMessage|null); - - /** FirstMessage clause1. */ - public clause1?: (meerkat.Mix2Proof.DlogProof.IFirstMessage|null); - - /** - * Creates a new FirstMessage instance using the specified properties. - * @param [properties] Properties to set - * @returns FirstMessage instance - */ - public static create(properties?: meerkat.Mix2Proof.AndProof.IFirstMessage): meerkat.Mix2Proof.AndProof.FirstMessage; - - /** - * Encodes the specified FirstMessage message. Does not implicitly {@link meerkat.Mix2Proof.AndProof.FirstMessage.verify|verify} messages. - * @param message FirstMessage message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.Mix2Proof.AndProof.IFirstMessage, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified FirstMessage message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.AndProof.FirstMessage.verify|verify} messages. - * @param message FirstMessage message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.Mix2Proof.AndProof.IFirstMessage, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a FirstMessage message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns FirstMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.Mix2Proof.AndProof.FirstMessage; - - /** - * Decodes a FirstMessage message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns FirstMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.Mix2Proof.AndProof.FirstMessage; - - /** - * Verifies a FirstMessage message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a FirstMessage message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns FirstMessage - */ - public static fromObject(object: { [k: string]: any }): meerkat.Mix2Proof.AndProof.FirstMessage; - - /** - * Creates a plain object from a FirstMessage message. Also converts values to other types if specified. - * @param message FirstMessage - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.Mix2Proof.AndProof.FirstMessage, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this FirstMessage to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a FinalMessage. */ - interface IFinalMessage { - - /** FinalMessage clause0 */ - clause0?: meerkat.Mix2Proof.DlogProof.IFinalMessage; - - /** FinalMessage clause1 */ - clause1?: meerkat.Mix2Proof.DlogProof.IFinalMessage; - } - - /** Represents a FinalMessage. */ - class FinalMessage { - - /** - * Constructs a new FinalMessage. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.Mix2Proof.AndProof.IFinalMessage); - - /** FinalMessage clause0. */ - public clause0?: (meerkat.Mix2Proof.DlogProof.IFinalMessage|null); - - /** FinalMessage clause1. */ - public clause1?: (meerkat.Mix2Proof.DlogProof.IFinalMessage|null); - - /** - * Creates a new FinalMessage instance using the specified properties. - * @param [properties] Properties to set - * @returns FinalMessage instance - */ - public static create(properties?: meerkat.Mix2Proof.AndProof.IFinalMessage): meerkat.Mix2Proof.AndProof.FinalMessage; - - /** - * Encodes the specified FinalMessage message. Does not implicitly {@link meerkat.Mix2Proof.AndProof.FinalMessage.verify|verify} messages. - * @param message FinalMessage message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.Mix2Proof.AndProof.IFinalMessage, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified FinalMessage message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.AndProof.FinalMessage.verify|verify} messages. - * @param message FinalMessage message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.Mix2Proof.AndProof.IFinalMessage, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a FinalMessage message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns FinalMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.Mix2Proof.AndProof.FinalMessage; - - /** - * Decodes a FinalMessage message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns FinalMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.Mix2Proof.AndProof.FinalMessage; - - /** - * Verifies a FinalMessage message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a FinalMessage message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns FinalMessage - */ - public static fromObject(object: { [k: string]: any }): meerkat.Mix2Proof.AndProof.FinalMessage; - - /** - * Creates a plain object from a FinalMessage message. Also converts values to other types if specified. - * @param message FinalMessage - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.Mix2Proof.AndProof.FinalMessage, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this FinalMessage to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - } - - /** Properties of a FirstMessage. */ - interface IFirstMessage { - - /** FirstMessage clause0 */ - clause0?: meerkat.Mix2Proof.AndProof.IFirstMessage; - - /** FirstMessage clause1 */ - clause1?: meerkat.Mix2Proof.AndProof.IFirstMessage; - } - - /** Represents a FirstMessage. */ - class FirstMessage { - - /** - * Constructs a new FirstMessage. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.Mix2Proof.IFirstMessage); - - /** FirstMessage clause0. */ - public clause0?: (meerkat.Mix2Proof.AndProof.IFirstMessage|null); - - /** FirstMessage clause1. */ - public clause1?: (meerkat.Mix2Proof.AndProof.IFirstMessage|null); - - /** - * Creates a new FirstMessage instance using the specified properties. - * @param [properties] Properties to set - * @returns FirstMessage instance - */ - public static create(properties?: meerkat.Mix2Proof.IFirstMessage): meerkat.Mix2Proof.FirstMessage; - - /** - * Encodes the specified FirstMessage message. Does not implicitly {@link meerkat.Mix2Proof.FirstMessage.verify|verify} messages. - * @param message FirstMessage message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.Mix2Proof.IFirstMessage, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified FirstMessage message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.FirstMessage.verify|verify} messages. - * @param message FirstMessage message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.Mix2Proof.IFirstMessage, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a FirstMessage message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns FirstMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.Mix2Proof.FirstMessage; - - /** - * Decodes a FirstMessage message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns FirstMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.Mix2Proof.FirstMessage; - - /** - * Verifies a FirstMessage message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a FirstMessage message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns FirstMessage - */ - public static fromObject(object: { [k: string]: any }): meerkat.Mix2Proof.FirstMessage; - - /** - * Creates a plain object from a FirstMessage message. Also converts values to other types if specified. - * @param message FirstMessage - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.Mix2Proof.FirstMessage, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this FirstMessage to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a FinalMessage. */ - interface IFinalMessage { - - /** FinalMessage clause0 */ - clause0?: meerkat.Mix2Proof.AndProof.IFinalMessage; - - /** FinalMessage clause1 */ - clause1?: meerkat.Mix2Proof.AndProof.IFinalMessage; - - /** FinalMessage c0 */ - c0?: meerkat.IBigInteger; - } - - /** Represents a FinalMessage. */ - class FinalMessage { - - /** - * Constructs a new FinalMessage. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.Mix2Proof.IFinalMessage); - - /** FinalMessage clause0. */ - public clause0?: (meerkat.Mix2Proof.AndProof.IFinalMessage|null); - - /** FinalMessage clause1. */ - public clause1?: (meerkat.Mix2Proof.AndProof.IFinalMessage|null); - - /** FinalMessage c0. */ - public c0?: (meerkat.IBigInteger|null); - - /** - * Creates a new FinalMessage instance using the specified properties. - * @param [properties] Properties to set - * @returns FinalMessage instance - */ - public static create(properties?: meerkat.Mix2Proof.IFinalMessage): meerkat.Mix2Proof.FinalMessage; - - /** - * Encodes the specified FinalMessage message. Does not implicitly {@link meerkat.Mix2Proof.FinalMessage.verify|verify} messages. - * @param message FinalMessage message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.Mix2Proof.IFinalMessage, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified FinalMessage message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.FinalMessage.verify|verify} messages. - * @param message FinalMessage message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.Mix2Proof.IFinalMessage, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a FinalMessage message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns FinalMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.Mix2Proof.FinalMessage; - - /** - * Decodes a FinalMessage message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns FinalMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.Mix2Proof.FinalMessage; - - /** - * Verifies a FinalMessage message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a FinalMessage message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns FinalMessage - */ - public static fromObject(object: { [k: string]: any }): meerkat.Mix2Proof.FinalMessage; - - /** - * Creates a plain object from a FinalMessage message. Also converts values to other types if specified. - * @param message FinalMessage - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.Mix2Proof.FinalMessage, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this FinalMessage to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a Location. */ - interface ILocation { - - /** Location layer */ - layer?: number; - - /** Location switchIdx */ - switchIdx?: number; - - /** Location out0 */ - out0?: number; - - /** Location out1 */ - out1?: number; - } - - /** Represents a Location. */ - class Location { - - /** - * Constructs a new Location. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.Mix2Proof.ILocation); - - /** Location layer. */ - public layer: number; - - /** Location switchIdx. */ - public switchIdx: number; - - /** Location out0. */ - public out0: number; - - /** Location out1. */ - public out1: number; - - /** - * Creates a new Location instance using the specified properties. - * @param [properties] Properties to set - * @returns Location instance - */ - public static create(properties?: meerkat.Mix2Proof.ILocation): meerkat.Mix2Proof.Location; - - /** - * Encodes the specified Location message. Does not implicitly {@link meerkat.Mix2Proof.Location.verify|verify} messages. - * @param message Location message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.Mix2Proof.ILocation, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Location message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.Location.verify|verify} messages. - * @param message Location message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.Mix2Proof.ILocation, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Location message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Location - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.Mix2Proof.Location; - - /** - * Decodes a Location message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Location - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.Mix2Proof.Location; - - /** - * Verifies a Location message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a Location message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Location - */ - public static fromObject(object: { [k: string]: any }): meerkat.Mix2Proof.Location; - - /** - * Creates a plain object from a Location message. Also converts values to other types if specified. - * @param message Location - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.Mix2Proof.Location, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Location to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - } - - /** Properties of a ConnectionServerData. */ - interface IConnectionServerData { - - /** ConnectionServerData serverUrl */ - serverUrl?: string; - - /** ConnectionServerData nonce */ - nonce?: (number|Long); - } - - /** Represents a ConnectionServerData. */ - class ConnectionServerData { - - /** - * Constructs a new ConnectionServerData. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IConnectionServerData); - - /** ConnectionServerData serverUrl. */ - public serverUrl: string; - - /** ConnectionServerData nonce. */ - public nonce: (number|Long); - - /** - * Creates a new ConnectionServerData instance using the specified properties. - * @param [properties] Properties to set - * @returns ConnectionServerData instance - */ - public static create(properties?: meerkat.IConnectionServerData): meerkat.ConnectionServerData; - - /** - * Encodes the specified ConnectionServerData message. Does not implicitly {@link meerkat.ConnectionServerData.verify|verify} messages. - * @param message ConnectionServerData message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IConnectionServerData, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ConnectionServerData message, length delimited. Does not implicitly {@link meerkat.ConnectionServerData.verify|verify} messages. - * @param message ConnectionServerData message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IConnectionServerData, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ConnectionServerData message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ConnectionServerData - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.ConnectionServerData; - - /** - * Decodes a ConnectionServerData message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ConnectionServerData - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.ConnectionServerData; - - /** - * Verifies a ConnectionServerData message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ConnectionServerData message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ConnectionServerData - */ - public static fromObject(object: { [k: string]: any }): meerkat.ConnectionServerData; - - /** - * Creates a plain object from a ConnectionServerData message. Also converts values to other types if specified. - * @param message ConnectionServerData - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.ConnectionServerData, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ConnectionServerData to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a ConnectionClientData. */ - interface IConnectionClientData { - - /** ConnectionClientData scannerId */ - scannerId?: Uint8Array; - - /** ConnectionClientData scannerPK */ - scannerPK?: meerkat.ISignatureVerificationKey; - - /** ConnectionClientData nonce */ - nonce?: (number|Long); - } - - /** Represents a ConnectionClientData. */ - class ConnectionClientData { - - /** - * Constructs a new ConnectionClientData. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IConnectionClientData); - - /** ConnectionClientData scannerId. */ - public scannerId: Uint8Array; - - /** ConnectionClientData scannerPK. */ - public scannerPK?: (meerkat.ISignatureVerificationKey|null); - - /** ConnectionClientData nonce. */ - public nonce: (number|Long); - - /** ConnectionClientData id. */ - public id?: string; - - /** - * Creates a new ConnectionClientData instance using the specified properties. - * @param [properties] Properties to set - * @returns ConnectionClientData instance - */ - public static create(properties?: meerkat.IConnectionClientData): meerkat.ConnectionClientData; - - /** - * Encodes the specified ConnectionClientData message. Does not implicitly {@link meerkat.ConnectionClientData.verify|verify} messages. - * @param message ConnectionClientData message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IConnectionClientData, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ConnectionClientData message, length delimited. Does not implicitly {@link meerkat.ConnectionClientData.verify|verify} messages. - * @param message ConnectionClientData message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IConnectionClientData, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ConnectionClientData message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ConnectionClientData - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.ConnectionClientData; - - /** - * Decodes a ConnectionClientData message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ConnectionClientData - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.ConnectionClientData; - - /** - * Verifies a ConnectionClientData message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ConnectionClientData message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ConnectionClientData - */ - public static fromObject(object: { [k: string]: any }): meerkat.ConnectionClientData; - - /** - * Creates a plain object from a ConnectionClientData message. Also converts values to other types if specified. - * @param message ConnectionClientData - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.ConnectionClientData, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ConnectionClientData to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a ScannedBallot. */ - interface IScannedBallot { - - /** ScannedBallot channel */ - channel?: Uint8Array; - - /** ScannedBallot signedEncryptedBallot */ - signedEncryptedBallot?: meerkat.ISignedEncryptedBallot; - } - - /** Represents a ScannedBallot. */ - class ScannedBallot { - - /** - * Constructs a new ScannedBallot. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IScannedBallot); - - /** ScannedBallot channel. */ - public channel: Uint8Array; - - /** ScannedBallot signedEncryptedBallot. */ - public signedEncryptedBallot?: (meerkat.ISignedEncryptedBallot|null); - - /** - * Creates a new ScannedBallot instance using the specified properties. - * @param [properties] Properties to set - * @returns ScannedBallot instance - */ - public static create(properties?: meerkat.IScannedBallot): meerkat.ScannedBallot; - - /** - * Encodes the specified ScannedBallot message. Does not implicitly {@link meerkat.ScannedBallot.verify|verify} messages. - * @param message ScannedBallot message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IScannedBallot, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ScannedBallot message, length delimited. Does not implicitly {@link meerkat.ScannedBallot.verify|verify} messages. - * @param message ScannedBallot message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IScannedBallot, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ScannedBallot message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ScannedBallot - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.ScannedBallot; - - /** - * Decodes a ScannedBallot message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ScannedBallot - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.ScannedBallot; - - /** - * Verifies a ScannedBallot message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ScannedBallot message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ScannedBallot - */ - public static fromObject(object: { [k: string]: any }): meerkat.ScannedBallot; - - /** - * Creates a plain object from a ScannedBallot message. Also converts values to other types if specified. - * @param message ScannedBallot - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.ScannedBallot, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ScannedBallot to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a ScanError. */ - interface IScanError { - - /** ScanError msg */ - msg?: string; - } - - /** Represents a ScanError. */ - class ScanError { - - /** - * Constructs a new ScanError. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IScanError); - - /** ScanError msg. */ - public msg: string; - - /** - * Creates a new ScanError instance using the specified properties. - * @param [properties] Properties to set - * @returns ScanError instance - */ - public static create(properties?: meerkat.IScanError): meerkat.ScanError; - - /** - * Encodes the specified ScanError message. Does not implicitly {@link meerkat.ScanError.verify|verify} messages. - * @param message ScanError message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IScanError, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ScanError message, length delimited. Does not implicitly {@link meerkat.ScanError.verify|verify} messages. - * @param message ScanError message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IScanError, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ScanError message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ScanError - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.ScanError; - - /** - * Decodes a ScanError message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ScanError - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.ScanError; - - /** - * Verifies a ScanError message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ScanError message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ScanError - */ - public static fromObject(object: { [k: string]: any }): meerkat.ScanError; - - /** - * Creates a plain object from a ScanError message. Also converts values to other types if specified. - * @param message ScanError - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.ScanError, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ScanError to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a ScannedData. */ - interface IScannedData { - - /** ScannedData ballot */ - ballot?: meerkat.IScannedBallot; - - /** ScannedData error */ - error?: meerkat.IScanError; - - /** ScannedData serial */ - serial?: (number|Long); - - /** ScannedData scannerId */ - scannerId?: Uint8Array; - } - - /** Represents a ScannedData. */ - class ScannedData { - - /** - * Constructs a new ScannedData. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IScannedData); - - /** ScannedData ballot. */ - public ballot?: (meerkat.IScannedBallot|null); - - /** ScannedData error. */ - public error?: (meerkat.IScanError|null); - - /** ScannedData serial. */ - public serial: (number|Long); - - /** ScannedData scannerId. */ - public scannerId: Uint8Array; - - /** ScannedData data. */ - public data?: string; - - /** - * Creates a new ScannedData instance using the specified properties. - * @param [properties] Properties to set - * @returns ScannedData instance - */ - public static create(properties?: meerkat.IScannedData): meerkat.ScannedData; - - /** - * Encodes the specified ScannedData message. Does not implicitly {@link meerkat.ScannedData.verify|verify} messages. - * @param message ScannedData message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IScannedData, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ScannedData message, length delimited. Does not implicitly {@link meerkat.ScannedData.verify|verify} messages. - * @param message ScannedData message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IScannedData, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ScannedData message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ScannedData - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.ScannedData; - - /** - * Decodes a ScannedData message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ScannedData - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.ScannedData; - - /** - * Verifies a ScannedData message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ScannedData message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ScannedData - */ - public static fromObject(object: { [k: string]: any }): meerkat.ScannedData; - - /** - * Creates a plain object from a ScannedData message. Also converts values to other types if specified. - * @param message ScannedData - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.ScannedData, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ScannedData to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a SignedScannedData. */ - interface ISignedScannedData { - - /** SignedScannedData data */ - data?: meerkat.IScannedData; - - /** SignedScannedData scannerSig */ - scannerSig?: meerkat.ISignature; - } - - /** Represents a SignedScannedData. */ - class SignedScannedData { - - /** - * Constructs a new SignedScannedData. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.ISignedScannedData); - - /** SignedScannedData data. */ - public data?: (meerkat.IScannedData|null); - - /** SignedScannedData scannerSig. */ - public scannerSig?: (meerkat.ISignature|null); - - /** - * Creates a new SignedScannedData instance using the specified properties. - * @param [properties] Properties to set - * @returns SignedScannedData instance - */ - public static create(properties?: meerkat.ISignedScannedData): meerkat.SignedScannedData; - - /** - * Encodes the specified SignedScannedData message. Does not implicitly {@link meerkat.SignedScannedData.verify|verify} messages. - * @param message SignedScannedData message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.ISignedScannedData, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified SignedScannedData message, length delimited. Does not implicitly {@link meerkat.SignedScannedData.verify|verify} messages. - * @param message SignedScannedData message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.ISignedScannedData, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a SignedScannedData message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns SignedScannedData - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.SignedScannedData; - - /** - * Decodes a SignedScannedData message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns SignedScannedData - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.SignedScannedData; - - /** - * Verifies a SignedScannedData message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a SignedScannedData message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns SignedScannedData - */ - public static fromObject(object: { [k: string]: any }): meerkat.SignedScannedData; - - /** - * Creates a plain object from a SignedScannedData message. Also converts values to other types if specified. - * @param message SignedScannedData - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.SignedScannedData, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this SignedScannedData to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** UIElementDataType enum. */ - enum UIElementDataType { - TEXT = 0, - IMAGE = 1, - VOICE = 2 - } - - /** QuestionType enum. */ - enum QuestionType { - MULTIPLE_CHOICE = 0, - MULTIPLE_SELECTION = 1, - ORDER = 2 - } - - /** Properties of a UIElement. */ - interface IUIElement { - - /** UIElement type */ - type?: meerkat.UIElementDataType; - - /** UIElement data */ - data?: Uint8Array; - } - - /** Represents a UIElement. */ - class UIElement { - - /** - * Constructs a new UIElement. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IUIElement); - - /** UIElement type. */ - public type: meerkat.UIElementDataType; - - /** UIElement data. */ - public data: Uint8Array; - - /** - * Creates a new UIElement instance using the specified properties. - * @param [properties] Properties to set - * @returns UIElement instance - */ - public static create(properties?: meerkat.IUIElement): meerkat.UIElement; - - /** - * Encodes the specified UIElement message. Does not implicitly {@link meerkat.UIElement.verify|verify} messages. - * @param message UIElement message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IUIElement, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified UIElement message, length delimited. Does not implicitly {@link meerkat.UIElement.verify|verify} messages. - * @param message UIElement message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IUIElement, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a UIElement message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns UIElement - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.UIElement; - - /** - * Decodes a UIElement message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns UIElement - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.UIElement; - - /** - * Verifies a UIElement message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a UIElement message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns UIElement - */ - public static fromObject(object: { [k: string]: any }): meerkat.UIElement; - - /** - * Creates a plain object from a UIElement message. Also converts values to other types if specified. - * @param message UIElement - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.UIElement, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this UIElement to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a BallotQuestion. */ - interface IBallotQuestion { - - /** BallotQuestion isMandatory */ - isMandatory?: boolean; - - /** BallotQuestion question */ - question?: meerkat.IUIElement; - - /** BallotQuestion description */ - description?: meerkat.IUIElement; - - /** BallotQuestion answer */ - answer?: meerkat.IUIElement[]; - } - - /** Represents a BallotQuestion. */ - class BallotQuestion { - - /** - * Constructs a new BallotQuestion. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IBallotQuestion); - - /** BallotQuestion isMandatory. */ - public isMandatory: boolean; - - /** BallotQuestion question. */ - public question?: (meerkat.IUIElement|null); - - /** BallotQuestion description. */ - public description?: (meerkat.IUIElement|null); - - /** BallotQuestion answer. */ - public answer: meerkat.IUIElement[]; - - /** - * Creates a new BallotQuestion instance using the specified properties. - * @param [properties] Properties to set - * @returns BallotQuestion instance - */ - public static create(properties?: meerkat.IBallotQuestion): meerkat.BallotQuestion; - - /** - * Encodes the specified BallotQuestion message. Does not implicitly {@link meerkat.BallotQuestion.verify|verify} messages. - * @param message BallotQuestion message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IBallotQuestion, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified BallotQuestion message, length delimited. Does not implicitly {@link meerkat.BallotQuestion.verify|verify} messages. - * @param message BallotQuestion message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IBallotQuestion, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a BallotQuestion message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns BallotQuestion - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.BallotQuestion; - - /** - * Decodes a BallotQuestion message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns BallotQuestion - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.BallotQuestion; - - /** - * Verifies a BallotQuestion message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a BallotQuestion message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns BallotQuestion - */ - public static fromObject(object: { [k: string]: any }): meerkat.BallotQuestion; - - /** - * Creates a plain object from a BallotQuestion message. Also converts values to other types if specified. - * @param message BallotQuestion - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.BallotQuestion, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this BallotQuestion to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a QuestionCluster. */ - interface IQuestionCluster { - - /** QuestionCluster clusterDescription */ - clusterDescription?: meerkat.IUIElement; - - /** QuestionCluster questionIndex */ - questionIndex?: number[]; - } - - /** Represents a QuestionCluster. */ - class QuestionCluster { - - /** - * Constructs a new QuestionCluster. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IQuestionCluster); - - /** QuestionCluster clusterDescription. */ - public clusterDescription?: (meerkat.IUIElement|null); - - /** QuestionCluster questionIndex. */ - public questionIndex: number[]; - - /** - * Creates a new QuestionCluster instance using the specified properties. - * @param [properties] Properties to set - * @returns QuestionCluster instance - */ - public static create(properties?: meerkat.IQuestionCluster): meerkat.QuestionCluster; - - /** - * Encodes the specified QuestionCluster message. Does not implicitly {@link meerkat.QuestionCluster.verify|verify} messages. - * @param message QuestionCluster message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IQuestionCluster, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified QuestionCluster message, length delimited. Does not implicitly {@link meerkat.QuestionCluster.verify|verify} messages. - * @param message QuestionCluster message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IQuestionCluster, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a QuestionCluster message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns QuestionCluster - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.QuestionCluster; - - /** - * Decodes a QuestionCluster message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns QuestionCluster - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.QuestionCluster; - - /** - * Verifies a QuestionCluster message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a QuestionCluster message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns QuestionCluster - */ - public static fromObject(object: { [k: string]: any }): meerkat.QuestionCluster; - - /** - * Creates a plain object from a QuestionCluster message. Also converts values to other types if specified. - * @param message QuestionCluster - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.QuestionCluster, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this QuestionCluster to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a Channel. */ - interface IChannel { - - /** Channel channelDescription */ - channelDescription?: meerkat.IUIElement; - - /** Channel clusterIndex */ - clusterIndex?: number[]; - } - - /** Represents a Channel. */ - class Channel { - - /** - * Constructs a new Channel. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IChannel); - - /** Channel channelDescription. */ - public channelDescription?: (meerkat.IUIElement|null); - - /** Channel clusterIndex. */ - public clusterIndex: number[]; - - /** - * Creates a new Channel instance using the specified properties. - * @param [properties] Properties to set - * @returns Channel instance - */ - public static create(properties?: meerkat.IChannel): meerkat.Channel; - - /** - * Encodes the specified Channel message. Does not implicitly {@link meerkat.Channel.verify|verify} messages. - * @param message Channel message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IChannel, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Channel message, length delimited. Does not implicitly {@link meerkat.Channel.verify|verify} messages. - * @param message Channel message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IChannel, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Channel message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Channel - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.Channel; - - /** - * Decodes a Channel message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Channel - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.Channel; - - /** - * Verifies a Channel message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a Channel message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Channel - */ - public static fromObject(object: { [k: string]: any }): meerkat.Channel; - - /** - * Creates a plain object from a Channel message. Also converts values to other types if specified. - * @param message Channel - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.Channel, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Channel to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a BallotAnswer. */ - interface IBallotAnswer { - - /** BallotAnswer answer */ - answer?: (number|Long)[]; - } - - /** Represents a BallotAnswer. */ - class BallotAnswer { - - /** - * Constructs a new BallotAnswer. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IBallotAnswer); - - /** BallotAnswer answer. */ - public answer: (number|Long)[]; - - /** - * Creates a new BallotAnswer instance using the specified properties. - * @param [properties] Properties to set - * @returns BallotAnswer instance - */ - public static create(properties?: meerkat.IBallotAnswer): meerkat.BallotAnswer; - - /** - * Encodes the specified BallotAnswer message. Does not implicitly {@link meerkat.BallotAnswer.verify|verify} messages. - * @param message BallotAnswer message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IBallotAnswer, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified BallotAnswer message, length delimited. Does not implicitly {@link meerkat.BallotAnswer.verify|verify} messages. - * @param message BallotAnswer message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IBallotAnswer, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a BallotAnswer message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns BallotAnswer - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.BallotAnswer; - - /** - * Decodes a BallotAnswer message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns BallotAnswer - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.BallotAnswer; - - /** - * Verifies a BallotAnswer message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a BallotAnswer message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns BallotAnswer - */ - public static fromObject(object: { [k: string]: any }): meerkat.BallotAnswer; - - /** - * Creates a plain object from a BallotAnswer message. Also converts values to other types if specified. - * @param message BallotAnswer - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.BallotAnswer, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this BallotAnswer to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a PlaintextBallot. */ - interface IPlaintextBallot { - - /** PlaintextBallot serialNumber */ - serialNumber?: (number|Long); - - /** PlaintextBallot channelIdentifier */ - channelIdentifier?: Uint8Array; - - /** PlaintextBallot answers */ - answers?: meerkat.IBallotAnswer[]; - } - - /** Represents a PlaintextBallot. */ - class PlaintextBallot { - - /** - * Constructs a new PlaintextBallot. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IPlaintextBallot); - - /** PlaintextBallot serialNumber. */ - public serialNumber: (number|Long); - - /** PlaintextBallot channelIdentifier. */ - public channelIdentifier: Uint8Array; - - /** PlaintextBallot answers. */ - public answers: meerkat.IBallotAnswer[]; - - /** - * Creates a new PlaintextBallot instance using the specified properties. - * @param [properties] Properties to set - * @returns PlaintextBallot instance - */ - public static create(properties?: meerkat.IPlaintextBallot): meerkat.PlaintextBallot; - - /** - * Encodes the specified PlaintextBallot message. Does not implicitly {@link meerkat.PlaintextBallot.verify|verify} messages. - * @param message PlaintextBallot message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IPlaintextBallot, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified PlaintextBallot message, length delimited. Does not implicitly {@link meerkat.PlaintextBallot.verify|verify} messages. - * @param message PlaintextBallot message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IPlaintextBallot, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a PlaintextBallot message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns PlaintextBallot - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.PlaintextBallot; - - /** - * Decodes a PlaintextBallot message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns PlaintextBallot - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.PlaintextBallot; - - /** - * Verifies a PlaintextBallot message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a PlaintextBallot message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns PlaintextBallot - */ - public static fromObject(object: { [k: string]: any }): meerkat.PlaintextBallot; - - /** - * Creates a plain object from a PlaintextBallot message. Also converts values to other types if specified. - * @param message PlaintextBallot - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.PlaintextBallot, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this PlaintextBallot to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of an EncryptedBallot. */ - interface IEncryptedBallot { - - /** EncryptedBallot serialNumber */ - serialNumber?: (number|Long); - - /** EncryptedBallot data */ - data?: meerkat.IRerandomizableEncryptedMessage; - } - - /** Represents an EncryptedBallot. */ - class EncryptedBallot { - - /** - * Constructs a new EncryptedBallot. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IEncryptedBallot); - - /** EncryptedBallot serialNumber. */ - public serialNumber: (number|Long); - - /** EncryptedBallot data. */ - public data?: (meerkat.IRerandomizableEncryptedMessage|null); - - /** - * Creates a new EncryptedBallot instance using the specified properties. - * @param [properties] Properties to set - * @returns EncryptedBallot instance - */ - public static create(properties?: meerkat.IEncryptedBallot): meerkat.EncryptedBallot; - - /** - * Encodes the specified EncryptedBallot message. Does not implicitly {@link meerkat.EncryptedBallot.verify|verify} messages. - * @param message EncryptedBallot message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IEncryptedBallot, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified EncryptedBallot message, length delimited. Does not implicitly {@link meerkat.EncryptedBallot.verify|verify} messages. - * @param message EncryptedBallot message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IEncryptedBallot, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an EncryptedBallot message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns EncryptedBallot - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.EncryptedBallot; - - /** - * Decodes an EncryptedBallot message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns EncryptedBallot - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.EncryptedBallot; - - /** - * Verifies an EncryptedBallot message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates an EncryptedBallot message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns EncryptedBallot - */ - public static fromObject(object: { [k: string]: any }): meerkat.EncryptedBallot; - - /** - * Creates a plain object from an EncryptedBallot message. Also converts values to other types if specified. - * @param message EncryptedBallot - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.EncryptedBallot, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this EncryptedBallot to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a SignedEncryptedBallot. */ - interface ISignedEncryptedBallot { - - /** SignedEncryptedBallot encryptedBallot */ - encryptedBallot?: meerkat.IEncryptedBallot; - - /** SignedEncryptedBallot signature */ - signature?: meerkat.ISignature; - } - - /** Represents a SignedEncryptedBallot. */ - class SignedEncryptedBallot { - - /** - * Constructs a new SignedEncryptedBallot. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.ISignedEncryptedBallot); - - /** SignedEncryptedBallot encryptedBallot. */ - public encryptedBallot?: (meerkat.IEncryptedBallot|null); - - /** SignedEncryptedBallot signature. */ - public signature?: (meerkat.ISignature|null); - - /** - * Creates a new SignedEncryptedBallot instance using the specified properties. - * @param [properties] Properties to set - * @returns SignedEncryptedBallot instance - */ - public static create(properties?: meerkat.ISignedEncryptedBallot): meerkat.SignedEncryptedBallot; - - /** - * Encodes the specified SignedEncryptedBallot message. Does not implicitly {@link meerkat.SignedEncryptedBallot.verify|verify} messages. - * @param message SignedEncryptedBallot message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.ISignedEncryptedBallot, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified SignedEncryptedBallot message, length delimited. Does not implicitly {@link meerkat.SignedEncryptedBallot.verify|verify} messages. - * @param message SignedEncryptedBallot message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.ISignedEncryptedBallot, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a SignedEncryptedBallot message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns SignedEncryptedBallot - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.SignedEncryptedBallot; - - /** - * Decodes a SignedEncryptedBallot message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns SignedEncryptedBallot - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.SignedEncryptedBallot; - - /** - * Verifies a SignedEncryptedBallot message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a SignedEncryptedBallot message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns SignedEncryptedBallot - */ - public static fromObject(object: { [k: string]: any }): meerkat.SignedEncryptedBallot; - - /** - * Creates a plain object from a SignedEncryptedBallot message. Also converts values to other types if specified. - * @param message SignedEncryptedBallot - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.SignedEncryptedBallot, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this SignedEncryptedBallot to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a BallotSecrets. */ - interface IBallotSecrets { - - /** BallotSecrets plaintextBallot */ - plaintextBallot?: meerkat.IPlaintextBallot; - - /** BallotSecrets encryptionRandomness */ - encryptionRandomness?: meerkat.IEncryptionRandomness; - - /** BallotSecrets proof */ - proof?: meerkat.IRandomnessGenerationProof; - } - - /** Represents a BallotSecrets. */ - class BallotSecrets { - - /** - * Constructs a new BallotSecrets. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IBallotSecrets); - - /** BallotSecrets plaintextBallot. */ - public plaintextBallot?: (meerkat.IPlaintextBallot|null); - - /** BallotSecrets encryptionRandomness. */ - public encryptionRandomness?: (meerkat.IEncryptionRandomness|null); - - /** BallotSecrets proof. */ - public proof?: (meerkat.IRandomnessGenerationProof|null); - - /** - * Creates a new BallotSecrets instance using the specified properties. - * @param [properties] Properties to set - * @returns BallotSecrets instance - */ - public static create(properties?: meerkat.IBallotSecrets): meerkat.BallotSecrets; - - /** - * Encodes the specified BallotSecrets message. Does not implicitly {@link meerkat.BallotSecrets.verify|verify} messages. - * @param message BallotSecrets message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IBallotSecrets, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified BallotSecrets message, length delimited. Does not implicitly {@link meerkat.BallotSecrets.verify|verify} messages. - * @param message BallotSecrets message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IBallotSecrets, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a BallotSecrets message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns BallotSecrets - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.BallotSecrets; - - /** - * Decodes a BallotSecrets message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns BallotSecrets - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.BallotSecrets; - - /** - * Verifies a BallotSecrets message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a BallotSecrets message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns BallotSecrets - */ - public static fromObject(object: { [k: string]: any }): meerkat.BallotSecrets; - - /** - * Creates a plain object from a BallotSecrets message. Also converts values to other types if specified. - * @param message BallotSecrets - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.BallotSecrets, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this BallotSecrets to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a BoothParams. */ - interface IBoothParams { - - /** BoothParams pscVerificationKeys */ - pscVerificationKeys?: meerkat.ISignatureVerificationKey[]; - } - - /** Represents a BoothParams. */ - class BoothParams { - - /** - * Constructs a new BoothParams. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IBoothParams); - - /** BoothParams pscVerificationKeys. */ - public pscVerificationKeys: meerkat.ISignatureVerificationKey[]; - - /** - * Creates a new BoothParams instance using the specified properties. - * @param [properties] Properties to set - * @returns BoothParams instance - */ - public static create(properties?: meerkat.IBoothParams): meerkat.BoothParams; - - /** - * Encodes the specified BoothParams message. Does not implicitly {@link meerkat.BoothParams.verify|verify} messages. - * @param message BoothParams message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IBoothParams, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified BoothParams message, length delimited. Does not implicitly {@link meerkat.BoothParams.verify|verify} messages. - * @param message BoothParams message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IBoothParams, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a BoothParams message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns BoothParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.BoothParams; - - /** - * Decodes a BoothParams message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns BoothParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.BoothParams; - - /** - * Verifies a BoothParams message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a BoothParams message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns BoothParams - */ - public static fromObject(object: { [k: string]: any }): meerkat.BoothParams; - - /** - * Creates a plain object from a BoothParams message. Also converts values to other types if specified. - * @param message BoothParams - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.BoothParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this BoothParams to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a BoothSystemMessages. */ - interface IBoothSystemMessages { - - /** BoothSystemMessages systemMessage */ - systemMessage?: { [k: string]: meerkat.IUIElement }; - } - - /** Represents a BoothSystemMessages. */ - class BoothSystemMessages { - - /** - * Constructs a new BoothSystemMessages. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IBoothSystemMessages); - - /** BoothSystemMessages systemMessage. */ - public systemMessage: { [k: string]: meerkat.IUIElement }; - - /** - * Creates a new BoothSystemMessages instance using the specified properties. - * @param [properties] Properties to set - * @returns BoothSystemMessages instance - */ - public static create(properties?: meerkat.IBoothSystemMessages): meerkat.BoothSystemMessages; - - /** - * Encodes the specified BoothSystemMessages message. Does not implicitly {@link meerkat.BoothSystemMessages.verify|verify} messages. - * @param message BoothSystemMessages message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IBoothSystemMessages, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified BoothSystemMessages message, length delimited. Does not implicitly {@link meerkat.BoothSystemMessages.verify|verify} messages. - * @param message BoothSystemMessages message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IBoothSystemMessages, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a BoothSystemMessages message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns BoothSystemMessages - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.BoothSystemMessages; - - /** - * Decodes a BoothSystemMessages message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns BoothSystemMessages - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.BoothSystemMessages; - - /** - * Verifies a BoothSystemMessages message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a BoothSystemMessages message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns BoothSystemMessages - */ - public static fromObject(object: { [k: string]: any }): meerkat.BoothSystemMessages; - - /** - * Creates a plain object from a BoothSystemMessages message. Also converts values to other types if specified. - * @param message BoothSystemMessages - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.BoothSystemMessages, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this BoothSystemMessages to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a BallotAnswerTranslationTable. */ - interface IBallotAnswerTranslationTable { - - /** BallotAnswerTranslationTable data */ - data?: Uint8Array; - } - - /** Represents a BallotAnswerTranslationTable. */ - class BallotAnswerTranslationTable { - - /** - * Constructs a new BallotAnswerTranslationTable. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IBallotAnswerTranslationTable); - - /** BallotAnswerTranslationTable data. */ - public data: Uint8Array; - - /** - * Creates a new BallotAnswerTranslationTable instance using the specified properties. - * @param [properties] Properties to set - * @returns BallotAnswerTranslationTable instance - */ - public static create(properties?: meerkat.IBallotAnswerTranslationTable): meerkat.BallotAnswerTranslationTable; - - /** - * Encodes the specified BallotAnswerTranslationTable message. Does not implicitly {@link meerkat.BallotAnswerTranslationTable.verify|verify} messages. - * @param message BallotAnswerTranslationTable message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IBallotAnswerTranslationTable, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified BallotAnswerTranslationTable message, length delimited. Does not implicitly {@link meerkat.BallotAnswerTranslationTable.verify|verify} messages. - * @param message BallotAnswerTranslationTable message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IBallotAnswerTranslationTable, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a BallotAnswerTranslationTable message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns BallotAnswerTranslationTable - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.BallotAnswerTranslationTable; - - /** - * Decodes a BallotAnswerTranslationTable message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns BallotAnswerTranslationTable - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.BallotAnswerTranslationTable; - - /** - * Verifies a BallotAnswerTranslationTable message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a BallotAnswerTranslationTable message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns BallotAnswerTranslationTable - */ - public static fromObject(object: { [k: string]: any }): meerkat.BallotAnswerTranslationTable; - - /** - * Creates a plain object from a BallotAnswerTranslationTable message. Also converts values to other types if specified. - * @param message BallotAnswerTranslationTable - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.BallotAnswerTranslationTable, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this BallotAnswerTranslationTable to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a BulletinBoardClientParams. */ - interface IBulletinBoardClientParams { - - /** BulletinBoardClientParams bulletinBoardAddress */ - bulletinBoardAddress?: string[]; - - /** BulletinBoardClientParams minRedundancy */ - minRedundancy?: number; - } - - /** Represents a BulletinBoardClientParams. */ - class BulletinBoardClientParams { - - /** - * Constructs a new BulletinBoardClientParams. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IBulletinBoardClientParams); - - /** BulletinBoardClientParams bulletinBoardAddress. */ - public bulletinBoardAddress: string[]; - - /** BulletinBoardClientParams minRedundancy. */ - public minRedundancy: number; - - /** - * Creates a new BulletinBoardClientParams instance using the specified properties. - * @param [properties] Properties to set - * @returns BulletinBoardClientParams instance - */ - public static create(properties?: meerkat.IBulletinBoardClientParams): meerkat.BulletinBoardClientParams; - - /** - * Encodes the specified BulletinBoardClientParams message. Does not implicitly {@link meerkat.BulletinBoardClientParams.verify|verify} messages. - * @param message BulletinBoardClientParams message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IBulletinBoardClientParams, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified BulletinBoardClientParams message, length delimited. Does not implicitly {@link meerkat.BulletinBoardClientParams.verify|verify} messages. - * @param message BulletinBoardClientParams message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IBulletinBoardClientParams, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a BulletinBoardClientParams message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns BulletinBoardClientParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.BulletinBoardClientParams; - - /** - * Decodes a BulletinBoardClientParams message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns BulletinBoardClientParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.BulletinBoardClientParams; - - /** - * Verifies a BulletinBoardClientParams message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a BulletinBoardClientParams message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns BulletinBoardClientParams - */ - public static fromObject(object: { [k: string]: any }): meerkat.BulletinBoardClientParams; - - /** - * Creates a plain object from a BulletinBoardClientParams message. Also converts values to other types if specified. - * @param message BulletinBoardClientParams - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.BulletinBoardClientParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this BulletinBoardClientParams to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of an ElectionParams. */ - interface IElectionParams { - - /** ElectionParams trusteeVerificationKeys */ - trusteeVerificationKeys?: meerkat.ISignatureVerificationKey[]; - - /** ElectionParams trusteeSignatureThreshold */ - trusteeSignatureThreshold?: number; - - /** ElectionParams ballotEncryptionKey */ - ballotEncryptionKey?: meerkat.IEncryptionPublicKey; - - /** ElectionParams mixerVerificationKeys */ - mixerVerificationKeys?: meerkat.ISignatureVerificationKey[]; - - /** ElectionParams mixerThreshold */ - mixerThreshold?: number; - - /** ElectionParams channelChoiceQuestions */ - channelChoiceQuestions?: meerkat.IBallotQuestion[]; - - /** ElectionParams selectionData */ - selectionData?: meerkat.ISimpleCategoriesSelectionData; - - /** ElectionParams raceQuestions */ - raceQuestions?: meerkat.IBallotQuestion[]; - - /** ElectionParams bulletinBoardClientParams */ - bulletinBoardClientParams?: meerkat.IBulletinBoardClientParams; - } - - /** Represents an ElectionParams. */ - class ElectionParams { - - /** - * Constructs a new ElectionParams. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.IElectionParams); - - /** ElectionParams trusteeVerificationKeys. */ - public trusteeVerificationKeys: meerkat.ISignatureVerificationKey[]; - - /** ElectionParams trusteeSignatureThreshold. */ - public trusteeSignatureThreshold: number; - - /** ElectionParams ballotEncryptionKey. */ - public ballotEncryptionKey?: (meerkat.IEncryptionPublicKey|null); - - /** ElectionParams mixerVerificationKeys. */ - public mixerVerificationKeys: meerkat.ISignatureVerificationKey[]; - - /** ElectionParams mixerThreshold. */ - public mixerThreshold: number; - - /** ElectionParams channelChoiceQuestions. */ - public channelChoiceQuestions: meerkat.IBallotQuestion[]; - - /** ElectionParams selectionData. */ - public selectionData?: (meerkat.ISimpleCategoriesSelectionData|null); - - /** ElectionParams raceQuestions. */ - public raceQuestions: meerkat.IBallotQuestion[]; - - /** ElectionParams bulletinBoardClientParams. */ - public bulletinBoardClientParams?: (meerkat.IBulletinBoardClientParams|null); - - /** - * Creates a new ElectionParams instance using the specified properties. - * @param [properties] Properties to set - * @returns ElectionParams instance - */ - public static create(properties?: meerkat.IElectionParams): meerkat.ElectionParams; - - /** - * Encodes the specified ElectionParams message. Does not implicitly {@link meerkat.ElectionParams.verify|verify} messages. - * @param message ElectionParams message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.IElectionParams, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ElectionParams message, length delimited. Does not implicitly {@link meerkat.ElectionParams.verify|verify} messages. - * @param message ElectionParams message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.IElectionParams, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an ElectionParams message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ElectionParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.ElectionParams; - - /** - * Decodes an ElectionParams message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ElectionParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.ElectionParams; - - /** - * Verifies an ElectionParams message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates an ElectionParams message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ElectionParams - */ - public static fromObject(object: { [k: string]: any }): meerkat.ElectionParams; - - /** - * Creates a plain object from an ElectionParams message. Also converts values to other types if specified. - * @param message ElectionParams - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.ElectionParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ElectionParams to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a Category. */ - interface ICategory { - - /** Category questionIndex */ - questionIndex?: number[]; - } - - /** Represents a Category. */ - class Category { - - /** - * Constructs a new Category. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.ICategory); - - /** Category questionIndex. */ - public questionIndex: number[]; - - /** - * Creates a new Category instance using the specified properties. - * @param [properties] Properties to set - * @returns Category instance - */ - public static create(properties?: meerkat.ICategory): meerkat.Category; - - /** - * Encodes the specified Category message. Does not implicitly {@link meerkat.Category.verify|verify} messages. - * @param message Category message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.ICategory, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Category message, length delimited. Does not implicitly {@link meerkat.Category.verify|verify} messages. - * @param message Category message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.ICategory, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Category message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Category - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.Category; - - /** - * Decodes a Category message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Category - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.Category; - - /** - * Verifies a Category message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a Category message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Category - */ - public static fromObject(object: { [k: string]: any }): meerkat.Category; - - /** - * Creates a plain object from a Category message. Also converts values to other types if specified. - * @param message Category - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.Category, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Category to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a CategoryChooser. */ - interface ICategoryChooser { - - /** CategoryChooser category */ - category?: meerkat.ICategory[]; - } - - /** Represents a CategoryChooser. */ - class CategoryChooser { - - /** - * Constructs a new CategoryChooser. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.ICategoryChooser); - - /** CategoryChooser category. */ - public category: meerkat.ICategory[]; - - /** - * Creates a new CategoryChooser instance using the specified properties. - * @param [properties] Properties to set - * @returns CategoryChooser instance - */ - public static create(properties?: meerkat.ICategoryChooser): meerkat.CategoryChooser; - - /** - * Encodes the specified CategoryChooser message. Does not implicitly {@link meerkat.CategoryChooser.verify|verify} messages. - * @param message CategoryChooser message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.ICategoryChooser, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified CategoryChooser message, length delimited. Does not implicitly {@link meerkat.CategoryChooser.verify|verify} messages. - * @param message CategoryChooser message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.ICategoryChooser, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a CategoryChooser message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns CategoryChooser - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.CategoryChooser; - - /** - * Decodes a CategoryChooser message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns CategoryChooser - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.CategoryChooser; - - /** - * Verifies a CategoryChooser message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a CategoryChooser message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns CategoryChooser - */ - public static fromObject(object: { [k: string]: any }): meerkat.CategoryChooser; - - /** - * Creates a plain object from a CategoryChooser message. Also converts values to other types if specified. - * @param message CategoryChooser - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.CategoryChooser, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this CategoryChooser to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a SimpleCategoriesSelectionData. */ - interface ISimpleCategoriesSelectionData { - - /** SimpleCategoriesSelectionData sharedDefaults */ - sharedDefaults?: meerkat.ICategory; - - /** SimpleCategoriesSelectionData categoryChooser */ - categoryChooser?: meerkat.ICategoryChooser[]; - } - - /** Represents a SimpleCategoriesSelectionData. */ - class SimpleCategoriesSelectionData { - - /** - * Constructs a new SimpleCategoriesSelectionData. - * @param [properties] Properties to set - */ - constructor(properties?: meerkat.ISimpleCategoriesSelectionData); - - /** SimpleCategoriesSelectionData sharedDefaults. */ - public sharedDefaults?: (meerkat.ICategory|null); - - /** SimpleCategoriesSelectionData categoryChooser. */ - public categoryChooser: meerkat.ICategoryChooser[]; - - /** - * Creates a new SimpleCategoriesSelectionData instance using the specified properties. - * @param [properties] Properties to set - * @returns SimpleCategoriesSelectionData instance - */ - public static create(properties?: meerkat.ISimpleCategoriesSelectionData): meerkat.SimpleCategoriesSelectionData; - - /** - * Encodes the specified SimpleCategoriesSelectionData message. Does not implicitly {@link meerkat.SimpleCategoriesSelectionData.verify|verify} messages. - * @param message SimpleCategoriesSelectionData message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: meerkat.ISimpleCategoriesSelectionData, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified SimpleCategoriesSelectionData message, length delimited. Does not implicitly {@link meerkat.SimpleCategoriesSelectionData.verify|verify} messages. - * @param message SimpleCategoriesSelectionData message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: meerkat.ISimpleCategoriesSelectionData, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a SimpleCategoriesSelectionData message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns SimpleCategoriesSelectionData - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): meerkat.SimpleCategoriesSelectionData; - - /** - * Decodes a SimpleCategoriesSelectionData message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns SimpleCategoriesSelectionData - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): meerkat.SimpleCategoriesSelectionData; - - /** - * Verifies a SimpleCategoriesSelectionData message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a SimpleCategoriesSelectionData message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns SimpleCategoriesSelectionData - */ - public static fromObject(object: { [k: string]: any }): meerkat.SimpleCategoriesSelectionData; - - /** - * Creates a plain object from a SimpleCategoriesSelectionData message. Also converts values to other types if specified. - * @param message SimpleCategoriesSelectionData - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: meerkat.SimpleCategoriesSelectionData, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this SimpleCategoriesSelectionData to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } -} - -/** Namespace google. */ -export namespace google { - - /** Namespace protobuf. */ - namespace protobuf { - - /** Properties of a Timestamp. */ - interface ITimestamp { - - /** Timestamp seconds */ - seconds?: (number|Long); - - /** Timestamp nanos */ - nanos?: number; - } - - /** Represents a Timestamp. */ - class Timestamp { - - /** - * Constructs a new Timestamp. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.ITimestamp); - - /** Timestamp seconds. */ - public seconds: (number|Long); - - /** Timestamp nanos. */ - public nanos: number; - - /** - * Creates a new Timestamp instance using the specified properties. - * @param [properties] Properties to set - * @returns Timestamp instance - */ - public static create(properties?: google.protobuf.ITimestamp): google.protobuf.Timestamp; - - /** - * Encodes the specified Timestamp message. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. - * @param message Timestamp message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Timestamp message, length delimited. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. - * @param message Timestamp message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Timestamp message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Timestamp - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Timestamp; - - /** - * Decodes a Timestamp message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Timestamp - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Timestamp; - - /** - * Verifies a Timestamp message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a Timestamp message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Timestamp - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.Timestamp; - - /** - * Creates a plain object from a Timestamp message. Also converts values to other types if specified. - * @param message Timestamp - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.Timestamp, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Timestamp to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - } -} diff --git a/bulletin-board-server-frontend/src/app/bundle.js b/bulletin-board-server-frontend/src/app/bundle.js deleted file mode 100644 index 3de0349..0000000 --- a/bulletin-board-server-frontend/src/app/bundle.js +++ /dev/null @@ -1,17755 +0,0 @@ -/*eslint-disable block-scoped-var, no-redeclare, no-control-regex, no-prototype-builtins*/ -"use strict"; - -var $protobuf = require("protobufjs/minimal"); - -// Common aliases -var $Reader = $protobuf.Reader, $Writer = $protobuf.Writer, $util = $protobuf.util; - -// Exported root namespace -var $root = $protobuf.roots["default"] || ($protobuf.roots["default"] = {}); - -$root.meerkat = (function() { - - /** - * Namespace meerkat. - * @exports meerkat - * @namespace - */ - var meerkat = {}; - - meerkat.UIAnswer = (function() { - - /** - * Properties of a UIAnswer. - * @memberof meerkat - * @interface IUIAnswer - * @property {Uint8Array} [answer] UIAnswer answer - * @property {string} [description] UIAnswer description - */ - - /** - * Constructs a new UIAnswer. - * @memberof meerkat - * @classdesc Represents a UIAnswer. - * @constructor - * @param {meerkat.IUIAnswer=} [properties] Properties to set - */ - function UIAnswer(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * UIAnswer answer. - * @member {Uint8Array}answer - * @memberof meerkat.UIAnswer - * @instance - */ - UIAnswer.prototype.answer = $util.newBuffer([]); - - /** - * UIAnswer description. - * @member {string}description - * @memberof meerkat.UIAnswer - * @instance - */ - UIAnswer.prototype.description = ""; - - /** - * Creates a new UIAnswer instance using the specified properties. - * @function create - * @memberof meerkat.UIAnswer - * @static - * @param {meerkat.IUIAnswer=} [properties] Properties to set - * @returns {meerkat.UIAnswer} UIAnswer instance - */ - UIAnswer.create = function create(properties) { - return new UIAnswer(properties); - }; - - /** - * Encodes the specified UIAnswer message. Does not implicitly {@link meerkat.UIAnswer.verify|verify} messages. - * @function encode - * @memberof meerkat.UIAnswer - * @static - * @param {meerkat.IUIAnswer} message UIAnswer message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - UIAnswer.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.answer != null && message.hasOwnProperty("answer")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.answer); - if (message.description != null && message.hasOwnProperty("description")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.description); - return writer; - }; - - /** - * Encodes the specified UIAnswer message, length delimited. Does not implicitly {@link meerkat.UIAnswer.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.UIAnswer - * @static - * @param {meerkat.IUIAnswer} message UIAnswer message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - UIAnswer.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a UIAnswer message from the specified reader or buffer. - * @function decode - * @memberof meerkat.UIAnswer - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.UIAnswer} UIAnswer - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - UIAnswer.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.UIAnswer(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.answer = reader.bytes(); - break; - case 2: - message.description = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a UIAnswer message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.UIAnswer - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.UIAnswer} UIAnswer - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - UIAnswer.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a UIAnswer message. - * @function verify - * @memberof meerkat.UIAnswer - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - UIAnswer.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.answer != null && message.hasOwnProperty("answer")) - if (!(message.answer && typeof message.answer.length === "number" || $util.isString(message.answer))) - return "answer: buffer expected"; - if (message.description != null && message.hasOwnProperty("description")) - if (!$util.isString(message.description)) - return "description: string expected"; - return null; - }; - - /** - * Creates a UIAnswer message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.UIAnswer - * @static - * @param {Object.} object Plain object - * @returns {meerkat.UIAnswer} UIAnswer - */ - UIAnswer.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.UIAnswer) - return object; - var message = new $root.meerkat.UIAnswer(); - if (object.answer != null) - if (typeof object.answer === "string") - $util.base64.decode(object.answer, message.answer = $util.newBuffer($util.base64.length(object.answer)), 0); - else if (object.answer.length) - message.answer = object.answer; - if (object.description != null) - message.description = String(object.description); - return message; - }; - - /** - * Creates a plain object from a UIAnswer message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.UIAnswer - * @static - * @param {meerkat.UIAnswer} message UIAnswer - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - UIAnswer.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.answer = options.bytes === String ? "" : []; - object.description = ""; - } - if (message.answer != null && message.hasOwnProperty("answer")) - object.answer = options.bytes === String ? $util.base64.encode(message.answer, 0, message.answer.length) : options.bytes === Array ? Array.prototype.slice.call(message.answer) : message.answer; - if (message.description != null && message.hasOwnProperty("description")) - object.description = message.description; - return object; - }; - - /** - * Converts this UIAnswer to JSON. - * @function toJSON - * @memberof meerkat.UIAnswer - * @instance - * @returns {Object.} JSON object - */ - UIAnswer.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return UIAnswer; - })(); - - meerkat.ListOfAnswers = (function() { - - /** - * Properties of a ListOfAnswers. - * @memberof meerkat - * @interface IListOfAnswers - * @property {Array.} [answers] ListOfAnswers answers - */ - - /** - * Constructs a new ListOfAnswers. - * @memberof meerkat - * @classdesc Represents a ListOfAnswers. - * @constructor - * @param {meerkat.IListOfAnswers=} [properties] Properties to set - */ - function ListOfAnswers(properties) { - this.answers = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ListOfAnswers answers. - * @member {Array.}answers - * @memberof meerkat.ListOfAnswers - * @instance - */ - ListOfAnswers.prototype.answers = $util.emptyArray; - - /** - * Creates a new ListOfAnswers instance using the specified properties. - * @function create - * @memberof meerkat.ListOfAnswers - * @static - * @param {meerkat.IListOfAnswers=} [properties] Properties to set - * @returns {meerkat.ListOfAnswers} ListOfAnswers instance - */ - ListOfAnswers.create = function create(properties) { - return new ListOfAnswers(properties); - }; - - /** - * Encodes the specified ListOfAnswers message. Does not implicitly {@link meerkat.ListOfAnswers.verify|verify} messages. - * @function encode - * @memberof meerkat.ListOfAnswers - * @static - * @param {meerkat.IListOfAnswers} message ListOfAnswers message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ListOfAnswers.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.answers != null && message.answers.length) - for (var i = 0; i < message.answers.length; ++i) - $root.meerkat.UIAnswer.encode(message.answers[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified ListOfAnswers message, length delimited. Does not implicitly {@link meerkat.ListOfAnswers.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.ListOfAnswers - * @static - * @param {meerkat.IListOfAnswers} message ListOfAnswers message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ListOfAnswers.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ListOfAnswers message from the specified reader or buffer. - * @function decode - * @memberof meerkat.ListOfAnswers - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.ListOfAnswers} ListOfAnswers - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ListOfAnswers.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.ListOfAnswers(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.answers && message.answers.length)) - message.answers = []; - message.answers.push($root.meerkat.UIAnswer.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ListOfAnswers message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.ListOfAnswers - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.ListOfAnswers} ListOfAnswers - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ListOfAnswers.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ListOfAnswers message. - * @function verify - * @memberof meerkat.ListOfAnswers - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ListOfAnswers.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.answers != null && message.hasOwnProperty("answers")) { - if (!Array.isArray(message.answers)) - return "answers: array expected"; - for (var i = 0; i < message.answers.length; ++i) { - var error = $root.meerkat.UIAnswer.verify(message.answers[i]); - if (error) - return "answers." + error; - } - } - return null; - }; - - /** - * Creates a ListOfAnswers message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.ListOfAnswers - * @static - * @param {Object.} object Plain object - * @returns {meerkat.ListOfAnswers} ListOfAnswers - */ - ListOfAnswers.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.ListOfAnswers) - return object; - var message = new $root.meerkat.ListOfAnswers(); - if (object.answers) { - if (!Array.isArray(object.answers)) - throw TypeError(".meerkat.ListOfAnswers.answers: array expected"); - message.answers = []; - for (var i = 0; i < object.answers.length; ++i) { - if (typeof object.answers[i] !== "object") - throw TypeError(".meerkat.ListOfAnswers.answers: object expected"); - message.answers[i] = $root.meerkat.UIAnswer.fromObject(object.answers[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a ListOfAnswers message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.ListOfAnswers - * @static - * @param {meerkat.ListOfAnswers} message ListOfAnswers - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ListOfAnswers.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.answers = []; - if (message.answers && message.answers.length) { - object.answers = []; - for (var j = 0; j < message.answers.length; ++j) - object.answers[j] = $root.meerkat.UIAnswer.toObject(message.answers[j], options); - } - return object; - }; - - /** - * Converts this ListOfAnswers to JSON. - * @function toJSON - * @memberof meerkat.ListOfAnswers - * @instance - * @returns {Object.} JSON object - */ - ListOfAnswers.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ListOfAnswers; - })(); - - meerkat.UIAnswers = (function() { - - /** - * Properties of a UIAnswers. - * @memberof meerkat - * @interface IUIAnswers - * @property {number} [AnswersType] UIAnswers AnswersType - * @property {meerkat.IListOfAnswers} [answers] UIAnswers answers - */ - - /** - * Constructs a new UIAnswers. - * @memberof meerkat - * @classdesc Represents a UIAnswers. - * @constructor - * @param {meerkat.IUIAnswers=} [properties] Properties to set - */ - function UIAnswers(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * UIAnswers AnswersType. - * @member {number}AnswersType - * @memberof meerkat.UIAnswers - * @instance - */ - UIAnswers.prototype.AnswersType = 0; - - /** - * UIAnswers answers. - * @member {(meerkat.IListOfAnswers|null|undefined)}answers - * @memberof meerkat.UIAnswers - * @instance - */ - UIAnswers.prototype.answers = null; - - /** - * Creates a new UIAnswers instance using the specified properties. - * @function create - * @memberof meerkat.UIAnswers - * @static - * @param {meerkat.IUIAnswers=} [properties] Properties to set - * @returns {meerkat.UIAnswers} UIAnswers instance - */ - UIAnswers.create = function create(properties) { - return new UIAnswers(properties); - }; - - /** - * Encodes the specified UIAnswers message. Does not implicitly {@link meerkat.UIAnswers.verify|verify} messages. - * @function encode - * @memberof meerkat.UIAnswers - * @static - * @param {meerkat.IUIAnswers} message UIAnswers message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - UIAnswers.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.AnswersType != null && message.hasOwnProperty("AnswersType")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.AnswersType); - if (message.answers != null && message.hasOwnProperty("answers")) - $root.meerkat.ListOfAnswers.encode(message.answers, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified UIAnswers message, length delimited. Does not implicitly {@link meerkat.UIAnswers.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.UIAnswers - * @static - * @param {meerkat.IUIAnswers} message UIAnswers message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - UIAnswers.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a UIAnswers message from the specified reader or buffer. - * @function decode - * @memberof meerkat.UIAnswers - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.UIAnswers} UIAnswers - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - UIAnswers.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.UIAnswers(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.AnswersType = reader.int32(); - break; - case 2: - message.answers = $root.meerkat.ListOfAnswers.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a UIAnswers message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.UIAnswers - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.UIAnswers} UIAnswers - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - UIAnswers.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a UIAnswers message. - * @function verify - * @memberof meerkat.UIAnswers - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - UIAnswers.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.AnswersType != null && message.hasOwnProperty("AnswersType")) - if (!$util.isInteger(message.AnswersType)) - return "AnswersType: integer expected"; - if (message.answers != null && message.hasOwnProperty("answers")) { - var error = $root.meerkat.ListOfAnswers.verify(message.answers); - if (error) - return "answers." + error; - } - return null; - }; - - /** - * Creates a UIAnswers message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.UIAnswers - * @static - * @param {Object.} object Plain object - * @returns {meerkat.UIAnswers} UIAnswers - */ - UIAnswers.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.UIAnswers) - return object; - var message = new $root.meerkat.UIAnswers(); - if (object.AnswersType != null) - message.AnswersType = object.AnswersType | 0; - if (object.answers != null) { - if (typeof object.answers !== "object") - throw TypeError(".meerkat.UIAnswers.answers: object expected"); - message.answers = $root.meerkat.ListOfAnswers.fromObject(object.answers); - } - return message; - }; - - /** - * Creates a plain object from a UIAnswers message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.UIAnswers - * @static - * @param {meerkat.UIAnswers} message UIAnswers - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - UIAnswers.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.AnswersType = 0; - object.answers = null; - } - if (message.AnswersType != null && message.hasOwnProperty("AnswersType")) - object.AnswersType = message.AnswersType; - if (message.answers != null && message.hasOwnProperty("answers")) - object.answers = $root.meerkat.ListOfAnswers.toObject(message.answers, options); - return object; - }; - - /** - * Converts this UIAnswers to JSON. - * @function toJSON - * @memberof meerkat.UIAnswers - * @instance - * @returns {Object.} JSON object - */ - UIAnswers.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return UIAnswers; - })(); - - meerkat.Question = (function() { - - /** - * Properties of a Question. - * @memberof meerkat - * @interface IQuestion - * @property {Uint8Array} [question] Question question - */ - - /** - * Constructs a new Question. - * @memberof meerkat - * @classdesc Represents a Question. - * @constructor - * @param {meerkat.IQuestion=} [properties] Properties to set - */ - function Question(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Question question. - * @member {Uint8Array}question - * @memberof meerkat.Question - * @instance - */ - Question.prototype.question = $util.newBuffer([]); - - /** - * Creates a new Question instance using the specified properties. - * @function create - * @memberof meerkat.Question - * @static - * @param {meerkat.IQuestion=} [properties] Properties to set - * @returns {meerkat.Question} Question instance - */ - Question.create = function create(properties) { - return new Question(properties); - }; - - /** - * Encodes the specified Question message. Does not implicitly {@link meerkat.Question.verify|verify} messages. - * @function encode - * @memberof meerkat.Question - * @static - * @param {meerkat.IQuestion} message Question message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Question.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.question != null && message.hasOwnProperty("question")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.question); - return writer; - }; - - /** - * Encodes the specified Question message, length delimited. Does not implicitly {@link meerkat.Question.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.Question - * @static - * @param {meerkat.IQuestion} message Question message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Question.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Question message from the specified reader or buffer. - * @function decode - * @memberof meerkat.Question - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.Question} Question - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Question.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.Question(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.question = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Question message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.Question - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.Question} Question - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Question.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Question message. - * @function verify - * @memberof meerkat.Question - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Question.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.question != null && message.hasOwnProperty("question")) - if (!(message.question && typeof message.question.length === "number" || $util.isString(message.question))) - return "question: buffer expected"; - return null; - }; - - /** - * Creates a Question message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.Question - * @static - * @param {Object.} object Plain object - * @returns {meerkat.Question} Question - */ - Question.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.Question) - return object; - var message = new $root.meerkat.Question(); - if (object.question != null) - if (typeof object.question === "string") - $util.base64.decode(object.question, message.question = $util.newBuffer($util.base64.length(object.question)), 0); - else if (object.question.length) - message.question = object.question; - return message; - }; - - /** - * Creates a plain object from a Question message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.Question - * @static - * @param {meerkat.Question} message Question - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Question.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.question = options.bytes === String ? "" : []; - if (message.question != null && message.hasOwnProperty("question")) - object.question = options.bytes === String ? $util.base64.encode(message.question, 0, message.question.length) : options.bytes === Array ? Array.prototype.slice.call(message.question) : message.question; - return object; - }; - - /** - * Converts this Question to JSON. - * @function toJSON - * @memberof meerkat.Question - * @instance - * @returns {Object.} JSON object - */ - Question.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Question; - })(); - - meerkat.UIQuestion = (function() { - - /** - * Properties of a UIQuestion. - * @memberof meerkat - * @interface IUIQuestion - * @property {number} [QuestionType] UIQuestion QuestionType - * @property {meerkat.IQuestion} [question] UIQuestion question - */ - - /** - * Constructs a new UIQuestion. - * @memberof meerkat - * @classdesc Represents a UIQuestion. - * @constructor - * @param {meerkat.IUIQuestion=} [properties] Properties to set - */ - function UIQuestion(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * UIQuestion QuestionType. - * @member {number}QuestionType - * @memberof meerkat.UIQuestion - * @instance - */ - UIQuestion.prototype.QuestionType = 0; - - /** - * UIQuestion question. - * @member {(meerkat.IQuestion|null|undefined)}question - * @memberof meerkat.UIQuestion - * @instance - */ - UIQuestion.prototype.question = null; - - /** - * Creates a new UIQuestion instance using the specified properties. - * @function create - * @memberof meerkat.UIQuestion - * @static - * @param {meerkat.IUIQuestion=} [properties] Properties to set - * @returns {meerkat.UIQuestion} UIQuestion instance - */ - UIQuestion.create = function create(properties) { - return new UIQuestion(properties); - }; - - /** - * Encodes the specified UIQuestion message. Does not implicitly {@link meerkat.UIQuestion.verify|verify} messages. - * @function encode - * @memberof meerkat.UIQuestion - * @static - * @param {meerkat.IUIQuestion} message UIQuestion message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - UIQuestion.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.QuestionType != null && message.hasOwnProperty("QuestionType")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.QuestionType); - if (message.question != null && message.hasOwnProperty("question")) - $root.meerkat.Question.encode(message.question, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified UIQuestion message, length delimited. Does not implicitly {@link meerkat.UIQuestion.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.UIQuestion - * @static - * @param {meerkat.IUIQuestion} message UIQuestion message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - UIQuestion.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a UIQuestion message from the specified reader or buffer. - * @function decode - * @memberof meerkat.UIQuestion - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.UIQuestion} UIQuestion - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - UIQuestion.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.UIQuestion(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.QuestionType = reader.int32(); - break; - case 2: - message.question = $root.meerkat.Question.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a UIQuestion message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.UIQuestion - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.UIQuestion} UIQuestion - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - UIQuestion.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a UIQuestion message. - * @function verify - * @memberof meerkat.UIQuestion - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - UIQuestion.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.QuestionType != null && message.hasOwnProperty("QuestionType")) - if (!$util.isInteger(message.QuestionType)) - return "QuestionType: integer expected"; - if (message.question != null && message.hasOwnProperty("question")) { - var error = $root.meerkat.Question.verify(message.question); - if (error) - return "question." + error; - } - return null; - }; - - /** - * Creates a UIQuestion message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.UIQuestion - * @static - * @param {Object.} object Plain object - * @returns {meerkat.UIQuestion} UIQuestion - */ - UIQuestion.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.UIQuestion) - return object; - var message = new $root.meerkat.UIQuestion(); - if (object.QuestionType != null) - message.QuestionType = object.QuestionType | 0; - if (object.question != null) { - if (typeof object.question !== "object") - throw TypeError(".meerkat.UIQuestion.question: object expected"); - message.question = $root.meerkat.Question.fromObject(object.question); - } - return message; - }; - - /** - * Creates a plain object from a UIQuestion message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.UIQuestion - * @static - * @param {meerkat.UIQuestion} message UIQuestion - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - UIQuestion.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.QuestionType = 0; - object.question = null; - } - if (message.QuestionType != null && message.hasOwnProperty("QuestionType")) - object.QuestionType = message.QuestionType; - if (message.question != null && message.hasOwnProperty("question")) - object.question = $root.meerkat.Question.toObject(message.question, options); - return object; - }; - - /** - * Converts this UIQuestion to JSON. - * @function toJSON - * @memberof meerkat.UIQuestion - * @instance - * @returns {Object.} JSON object - */ - UIQuestion.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return UIQuestion; - })(); - - meerkat.BallotQuestionUIElement = (function() { - - /** - * Properties of a BallotQuestionUIElement. - * @memberof meerkat - * @interface IBallotQuestionUIElement - * @property {meerkat.IUIAnswers} [answers] BallotQuestionUIElement answers - * @property {boolean} [RandomizeListOrder] BallotQuestionUIElement RandomizeListOrder - * @property {meerkat.IUIQuestion} [question] BallotQuestionUIElement question - */ - - /** - * Constructs a new BallotQuestionUIElement. - * @memberof meerkat - * @classdesc Represents a BallotQuestionUIElement. - * @constructor - * @param {meerkat.IBallotQuestionUIElement=} [properties] Properties to set - */ - function BallotQuestionUIElement(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * BallotQuestionUIElement answers. - * @member {(meerkat.IUIAnswers|null|undefined)}answers - * @memberof meerkat.BallotQuestionUIElement - * @instance - */ - BallotQuestionUIElement.prototype.answers = null; - - /** - * BallotQuestionUIElement RandomizeListOrder. - * @member {boolean}RandomizeListOrder - * @memberof meerkat.BallotQuestionUIElement - * @instance - */ - BallotQuestionUIElement.prototype.RandomizeListOrder = false; - - /** - * BallotQuestionUIElement question. - * @member {(meerkat.IUIQuestion|null|undefined)}question - * @memberof meerkat.BallotQuestionUIElement - * @instance - */ - BallotQuestionUIElement.prototype.question = null; - - /** - * Creates a new BallotQuestionUIElement instance using the specified properties. - * @function create - * @memberof meerkat.BallotQuestionUIElement - * @static - * @param {meerkat.IBallotQuestionUIElement=} [properties] Properties to set - * @returns {meerkat.BallotQuestionUIElement} BallotQuestionUIElement instance - */ - BallotQuestionUIElement.create = function create(properties) { - return new BallotQuestionUIElement(properties); - }; - - /** - * Encodes the specified BallotQuestionUIElement message. Does not implicitly {@link meerkat.BallotQuestionUIElement.verify|verify} messages. - * @function encode - * @memberof meerkat.BallotQuestionUIElement - * @static - * @param {meerkat.IBallotQuestionUIElement} message BallotQuestionUIElement message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BallotQuestionUIElement.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.answers != null && message.hasOwnProperty("answers")) - $root.meerkat.UIAnswers.encode(message.answers, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.RandomizeListOrder != null && message.hasOwnProperty("RandomizeListOrder")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.RandomizeListOrder); - if (message.question != null && message.hasOwnProperty("question")) - $root.meerkat.UIQuestion.encode(message.question, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified BallotQuestionUIElement message, length delimited. Does not implicitly {@link meerkat.BallotQuestionUIElement.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.BallotQuestionUIElement - * @static - * @param {meerkat.IBallotQuestionUIElement} message BallotQuestionUIElement message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BallotQuestionUIElement.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a BallotQuestionUIElement message from the specified reader or buffer. - * @function decode - * @memberof meerkat.BallotQuestionUIElement - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.BallotQuestionUIElement} BallotQuestionUIElement - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BallotQuestionUIElement.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.BallotQuestionUIElement(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.answers = $root.meerkat.UIAnswers.decode(reader, reader.uint32()); - break; - case 2: - message.RandomizeListOrder = reader.bool(); - break; - case 3: - message.question = $root.meerkat.UIQuestion.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a BallotQuestionUIElement message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.BallotQuestionUIElement - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.BallotQuestionUIElement} BallotQuestionUIElement - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BallotQuestionUIElement.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a BallotQuestionUIElement message. - * @function verify - * @memberof meerkat.BallotQuestionUIElement - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - BallotQuestionUIElement.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.answers != null && message.hasOwnProperty("answers")) { - var error = $root.meerkat.UIAnswers.verify(message.answers); - if (error) - return "answers." + error; - } - if (message.RandomizeListOrder != null && message.hasOwnProperty("RandomizeListOrder")) - if (typeof message.RandomizeListOrder !== "boolean") - return "RandomizeListOrder: boolean expected"; - if (message.question != null && message.hasOwnProperty("question")) { - error = $root.meerkat.UIQuestion.verify(message.question); - if (error) - return "question." + error; - } - return null; - }; - - /** - * Creates a BallotQuestionUIElement message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.BallotQuestionUIElement - * @static - * @param {Object.} object Plain object - * @returns {meerkat.BallotQuestionUIElement} BallotQuestionUIElement - */ - BallotQuestionUIElement.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.BallotQuestionUIElement) - return object; - var message = new $root.meerkat.BallotQuestionUIElement(); - if (object.answers != null) { - if (typeof object.answers !== "object") - throw TypeError(".meerkat.BallotQuestionUIElement.answers: object expected"); - message.answers = $root.meerkat.UIAnswers.fromObject(object.answers); - } - if (object.RandomizeListOrder != null) - message.RandomizeListOrder = Boolean(object.RandomizeListOrder); - if (object.question != null) { - if (typeof object.question !== "object") - throw TypeError(".meerkat.BallotQuestionUIElement.question: object expected"); - message.question = $root.meerkat.UIQuestion.fromObject(object.question); - } - return message; - }; - - /** - * Creates a plain object from a BallotQuestionUIElement message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.BallotQuestionUIElement - * @static - * @param {meerkat.BallotQuestionUIElement} message BallotQuestionUIElement - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - BallotQuestionUIElement.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.answers = null; - object.RandomizeListOrder = false; - object.question = null; - } - if (message.answers != null && message.hasOwnProperty("answers")) - object.answers = $root.meerkat.UIAnswers.toObject(message.answers, options); - if (message.RandomizeListOrder != null && message.hasOwnProperty("RandomizeListOrder")) - object.RandomizeListOrder = message.RandomizeListOrder; - if (message.question != null && message.hasOwnProperty("question")) - object.question = $root.meerkat.UIQuestion.toObject(message.question, options); - return object; - }; - - /** - * Converts this BallotQuestionUIElement to JSON. - * @function toJSON - * @memberof meerkat.BallotQuestionUIElement - * @instance - * @returns {Object.} JSON object - */ - BallotQuestionUIElement.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return BallotQuestionUIElement; - })(); - - meerkat.BallotQuestionsUIElements = (function() { - - /** - * Properties of a BallotQuestionsUIElements. - * @memberof meerkat - * @interface IBallotQuestionsUIElements - * @property {Array.} [questions] BallotQuestionsUIElements questions - */ - - /** - * Constructs a new BallotQuestionsUIElements. - * @memberof meerkat - * @classdesc Represents a BallotQuestionsUIElements. - * @constructor - * @param {meerkat.IBallotQuestionsUIElements=} [properties] Properties to set - */ - function BallotQuestionsUIElements(properties) { - this.questions = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * BallotQuestionsUIElements questions. - * @member {Array.}questions - * @memberof meerkat.BallotQuestionsUIElements - * @instance - */ - BallotQuestionsUIElements.prototype.questions = $util.emptyArray; - - /** - * Creates a new BallotQuestionsUIElements instance using the specified properties. - * @function create - * @memberof meerkat.BallotQuestionsUIElements - * @static - * @param {meerkat.IBallotQuestionsUIElements=} [properties] Properties to set - * @returns {meerkat.BallotQuestionsUIElements} BallotQuestionsUIElements instance - */ - BallotQuestionsUIElements.create = function create(properties) { - return new BallotQuestionsUIElements(properties); - }; - - /** - * Encodes the specified BallotQuestionsUIElements message. Does not implicitly {@link meerkat.BallotQuestionsUIElements.verify|verify} messages. - * @function encode - * @memberof meerkat.BallotQuestionsUIElements - * @static - * @param {meerkat.IBallotQuestionsUIElements} message BallotQuestionsUIElements message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BallotQuestionsUIElements.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.questions != null && message.questions.length) - for (var i = 0; i < message.questions.length; ++i) - $root.meerkat.BallotQuestionUIElement.encode(message.questions[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified BallotQuestionsUIElements message, length delimited. Does not implicitly {@link meerkat.BallotQuestionsUIElements.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.BallotQuestionsUIElements - * @static - * @param {meerkat.IBallotQuestionsUIElements} message BallotQuestionsUIElements message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BallotQuestionsUIElements.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a BallotQuestionsUIElements message from the specified reader or buffer. - * @function decode - * @memberof meerkat.BallotQuestionsUIElements - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.BallotQuestionsUIElements} BallotQuestionsUIElements - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BallotQuestionsUIElements.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.BallotQuestionsUIElements(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.questions && message.questions.length)) - message.questions = []; - message.questions.push($root.meerkat.BallotQuestionUIElement.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a BallotQuestionsUIElements message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.BallotQuestionsUIElements - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.BallotQuestionsUIElements} BallotQuestionsUIElements - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BallotQuestionsUIElements.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a BallotQuestionsUIElements message. - * @function verify - * @memberof meerkat.BallotQuestionsUIElements - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - BallotQuestionsUIElements.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.questions != null && message.hasOwnProperty("questions")) { - if (!Array.isArray(message.questions)) - return "questions: array expected"; - for (var i = 0; i < message.questions.length; ++i) { - var error = $root.meerkat.BallotQuestionUIElement.verify(message.questions[i]); - if (error) - return "questions." + error; - } - } - return null; - }; - - /** - * Creates a BallotQuestionsUIElements message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.BallotQuestionsUIElements - * @static - * @param {Object.} object Plain object - * @returns {meerkat.BallotQuestionsUIElements} BallotQuestionsUIElements - */ - BallotQuestionsUIElements.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.BallotQuestionsUIElements) - return object; - var message = new $root.meerkat.BallotQuestionsUIElements(); - if (object.questions) { - if (!Array.isArray(object.questions)) - throw TypeError(".meerkat.BallotQuestionsUIElements.questions: array expected"); - message.questions = []; - for (var i = 0; i < object.questions.length; ++i) { - if (typeof object.questions[i] !== "object") - throw TypeError(".meerkat.BallotQuestionsUIElements.questions: object expected"); - message.questions[i] = $root.meerkat.BallotQuestionUIElement.fromObject(object.questions[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a BallotQuestionsUIElements message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.BallotQuestionsUIElements - * @static - * @param {meerkat.BallotQuestionsUIElements} message BallotQuestionsUIElements - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - BallotQuestionsUIElements.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.questions = []; - if (message.questions && message.questions.length) { - object.questions = []; - for (var j = 0; j < message.questions.length; ++j) - object.questions[j] = $root.meerkat.BallotQuestionUIElement.toObject(message.questions[j], options); - } - return object; - }; - - /** - * Converts this BallotQuestionsUIElements to JSON. - * @function toJSON - * @memberof meerkat.BallotQuestionsUIElements - * @instance - * @returns {Object.} JSON object - */ - BallotQuestionsUIElements.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return BallotQuestionsUIElements; - })(); - - /** - * ValueType enum. - * @enum {string} - * @property {number} TEXT_TYPE=0 TEXT_TYPE value - * @property {number} AUDIO_TYPE=1 AUDIO_TYPE value - * @property {number} IMAGE_TYPE=2 IMAGE_TYPE value - */ - meerkat.ValueType = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "TEXT_TYPE"] = 0; - values[valuesById[1] = "AUDIO_TYPE"] = 1; - values[valuesById[2] = "IMAGE_TYPE"] = 2; - return values; - })(); - - meerkat.BoolMsg = (function() { - - /** - * Properties of a BoolMsg. - * @memberof meerkat - * @interface IBoolMsg - * @property {boolean} [value] BoolMsg value - */ - - /** - * Constructs a new BoolMsg. - * @memberof meerkat - * @classdesc Represents a BoolMsg. - * @constructor - * @param {meerkat.IBoolMsg=} [properties] Properties to set - */ - function BoolMsg(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * BoolMsg value. - * @member {boolean}value - * @memberof meerkat.BoolMsg - * @instance - */ - BoolMsg.prototype.value = false; - - /** - * Creates a new BoolMsg instance using the specified properties. - * @function create - * @memberof meerkat.BoolMsg - * @static - * @param {meerkat.IBoolMsg=} [properties] Properties to set - * @returns {meerkat.BoolMsg} BoolMsg instance - */ - BoolMsg.create = function create(properties) { - return new BoolMsg(properties); - }; - - /** - * Encodes the specified BoolMsg message. Does not implicitly {@link meerkat.BoolMsg.verify|verify} messages. - * @function encode - * @memberof meerkat.BoolMsg - * @static - * @param {meerkat.IBoolMsg} message BoolMsg message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BoolMsg.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.value != null && message.hasOwnProperty("value")) - writer.uint32(/* id 1, wireType 0 =*/8).bool(message.value); - return writer; - }; - - /** - * Encodes the specified BoolMsg message, length delimited. Does not implicitly {@link meerkat.BoolMsg.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.BoolMsg - * @static - * @param {meerkat.IBoolMsg} message BoolMsg message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BoolMsg.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a BoolMsg message from the specified reader or buffer. - * @function decode - * @memberof meerkat.BoolMsg - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.BoolMsg} BoolMsg - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BoolMsg.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.BoolMsg(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.value = reader.bool(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a BoolMsg message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.BoolMsg - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.BoolMsg} BoolMsg - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BoolMsg.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a BoolMsg message. - * @function verify - * @memberof meerkat.BoolMsg - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - BoolMsg.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.value != null && message.hasOwnProperty("value")) - if (typeof message.value !== "boolean") - return "value: boolean expected"; - return null; - }; - - /** - * Creates a BoolMsg message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.BoolMsg - * @static - * @param {Object.} object Plain object - * @returns {meerkat.BoolMsg} BoolMsg - */ - BoolMsg.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.BoolMsg) - return object; - var message = new $root.meerkat.BoolMsg(); - if (object.value != null) - message.value = Boolean(object.value); - return message; - }; - - /** - * Creates a plain object from a BoolMsg message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.BoolMsg - * @static - * @param {meerkat.BoolMsg} message BoolMsg - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - BoolMsg.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.value = false; - if (message.value != null && message.hasOwnProperty("value")) - object.value = message.value; - return object; - }; - - /** - * Converts this BoolMsg to JSON. - * @function toJSON - * @memberof meerkat.BoolMsg - * @instance - * @returns {Object.} JSON object - */ - BoolMsg.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return BoolMsg; - })(); - - meerkat.IntMsg = (function() { - - /** - * Properties of an IntMsg. - * @memberof meerkat - * @interface IIntMsg - * @property {number} [value] IntMsg value - */ - - /** - * Constructs a new IntMsg. - * @memberof meerkat - * @classdesc Represents an IntMsg. - * @constructor - * @param {meerkat.IIntMsg=} [properties] Properties to set - */ - function IntMsg(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * IntMsg value. - * @member {number}value - * @memberof meerkat.IntMsg - * @instance - */ - IntMsg.prototype.value = 0; - - /** - * Creates a new IntMsg instance using the specified properties. - * @function create - * @memberof meerkat.IntMsg - * @static - * @param {meerkat.IIntMsg=} [properties] Properties to set - * @returns {meerkat.IntMsg} IntMsg instance - */ - IntMsg.create = function create(properties) { - return new IntMsg(properties); - }; - - /** - * Encodes the specified IntMsg message. Does not implicitly {@link meerkat.IntMsg.verify|verify} messages. - * @function encode - * @memberof meerkat.IntMsg - * @static - * @param {meerkat.IIntMsg} message IntMsg message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - IntMsg.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.value != null && message.hasOwnProperty("value")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.value); - return writer; - }; - - /** - * Encodes the specified IntMsg message, length delimited. Does not implicitly {@link meerkat.IntMsg.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.IntMsg - * @static - * @param {meerkat.IIntMsg} message IntMsg message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - IntMsg.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an IntMsg message from the specified reader or buffer. - * @function decode - * @memberof meerkat.IntMsg - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.IntMsg} IntMsg - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - IntMsg.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.IntMsg(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.value = reader.int32(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an IntMsg message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.IntMsg - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.IntMsg} IntMsg - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - IntMsg.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an IntMsg message. - * @function verify - * @memberof meerkat.IntMsg - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - IntMsg.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.value != null && message.hasOwnProperty("value")) - if (!$util.isInteger(message.value)) - return "value: integer expected"; - return null; - }; - - /** - * Creates an IntMsg message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.IntMsg - * @static - * @param {Object.} object Plain object - * @returns {meerkat.IntMsg} IntMsg - */ - IntMsg.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.IntMsg) - return object; - var message = new $root.meerkat.IntMsg(); - if (object.value != null) - message.value = object.value | 0; - return message; - }; - - /** - * Creates a plain object from an IntMsg message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.IntMsg - * @static - * @param {meerkat.IntMsg} message IntMsg - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - IntMsg.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.value = 0; - if (message.value != null && message.hasOwnProperty("value")) - object.value = message.value; - return object; - }; - - /** - * Converts this IntMsg to JSON. - * @function toJSON - * @memberof meerkat.IntMsg - * @instance - * @returns {Object.} JSON object - */ - IntMsg.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return IntMsg; - })(); - - meerkat.MessageID = (function() { - - /** - * Properties of a MessageID. - * @memberof meerkat - * @interface IMessageID - * @property {Uint8Array} [ID] MessageID ID - */ - - /** - * Constructs a new MessageID. - * @memberof meerkat - * @classdesc Represents a MessageID. - * @constructor - * @param {meerkat.IMessageID=} [properties] Properties to set - */ - function MessageID(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MessageID ID. - * @member {Uint8Array}ID - * @memberof meerkat.MessageID - * @instance - */ - MessageID.prototype.ID = $util.newBuffer([]); - - /** - * Creates a new MessageID instance using the specified properties. - * @function create - * @memberof meerkat.MessageID - * @static - * @param {meerkat.IMessageID=} [properties] Properties to set - * @returns {meerkat.MessageID} MessageID instance - */ - MessageID.create = function create(properties) { - return new MessageID(properties); - }; - - /** - * Encodes the specified MessageID message. Does not implicitly {@link meerkat.MessageID.verify|verify} messages. - * @function encode - * @memberof meerkat.MessageID - * @static - * @param {meerkat.IMessageID} message MessageID message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MessageID.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.ID != null && message.hasOwnProperty("ID")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.ID); - return writer; - }; - - /** - * Encodes the specified MessageID message, length delimited. Does not implicitly {@link meerkat.MessageID.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.MessageID - * @static - * @param {meerkat.IMessageID} message MessageID message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MessageID.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MessageID message from the specified reader or buffer. - * @function decode - * @memberof meerkat.MessageID - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.MessageID} MessageID - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MessageID.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.MessageID(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.ID = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MessageID message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.MessageID - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.MessageID} MessageID - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MessageID.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MessageID message. - * @function verify - * @memberof meerkat.MessageID - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MessageID.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.ID != null && message.hasOwnProperty("ID")) - if (!(message.ID && typeof message.ID.length === "number" || $util.isString(message.ID))) - return "ID: buffer expected"; - return null; - }; - - /** - * Creates a MessageID message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.MessageID - * @static - * @param {Object.} object Plain object - * @returns {meerkat.MessageID} MessageID - */ - MessageID.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.MessageID) - return object; - var message = new $root.meerkat.MessageID(); - if (object.ID != null) - if (typeof object.ID === "string") - $util.base64.decode(object.ID, message.ID = $util.newBuffer($util.base64.length(object.ID)), 0); - else if (object.ID.length) - message.ID = object.ID; - return message; - }; - - /** - * Creates a plain object from a MessageID message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.MessageID - * @static - * @param {meerkat.MessageID} message MessageID - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MessageID.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.ID = options.bytes === String ? "" : []; - if (message.ID != null && message.hasOwnProperty("ID")) - object.ID = options.bytes === String ? $util.base64.encode(message.ID, 0, message.ID.length) : options.bytes === Array ? Array.prototype.slice.call(message.ID) : message.ID; - return object; - }; - - /** - * Converts this MessageID to JSON. - * @function toJSON - * @memberof meerkat.MessageID - * @instance - * @returns {Object.} JSON object - */ - MessageID.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MessageID; - })(); - - meerkat.UnsignedBulletinBoardMessage = (function() { - - /** - * Properties of an UnsignedBulletinBoardMessage. - * @memberof meerkat - * @interface IUnsignedBulletinBoardMessage - * @property {Array.} [tag] UnsignedBulletinBoardMessage tag - * @property {google.protobuf.ITimestamp} [timestamp] UnsignedBulletinBoardMessage timestamp - * @property {Uint8Array} [msgId] UnsignedBulletinBoardMessage msgId - * @property {Uint8Array} [data] UnsignedBulletinBoardMessage data - */ - - /** - * Constructs a new UnsignedBulletinBoardMessage. - * @memberof meerkat - * @classdesc Represents an UnsignedBulletinBoardMessage. - * @constructor - * @param {meerkat.IUnsignedBulletinBoardMessage=} [properties] Properties to set - */ - function UnsignedBulletinBoardMessage(properties) { - this.tag = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * UnsignedBulletinBoardMessage tag. - * @member {Array.}tag - * @memberof meerkat.UnsignedBulletinBoardMessage - * @instance - */ - UnsignedBulletinBoardMessage.prototype.tag = $util.emptyArray; - - /** - * UnsignedBulletinBoardMessage timestamp. - * @member {(google.protobuf.ITimestamp|null|undefined)}timestamp - * @memberof meerkat.UnsignedBulletinBoardMessage - * @instance - */ - UnsignedBulletinBoardMessage.prototype.timestamp = null; - - /** - * UnsignedBulletinBoardMessage msgId. - * @member {Uint8Array}msgId - * @memberof meerkat.UnsignedBulletinBoardMessage - * @instance - */ - UnsignedBulletinBoardMessage.prototype.msgId = $util.newBuffer([]); - - /** - * UnsignedBulletinBoardMessage data. - * @member {Uint8Array}data - * @memberof meerkat.UnsignedBulletinBoardMessage - * @instance - */ - UnsignedBulletinBoardMessage.prototype.data = $util.newBuffer([]); - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; - - /** - * UnsignedBulletinBoardMessage dataType. - * @member {string|undefined} dataType - * @memberof meerkat.UnsignedBulletinBoardMessage - * @instance - */ - Object.defineProperty(UnsignedBulletinBoardMessage.prototype, "dataType", { - get: $util.oneOfGetter($oneOfFields = ["msgId", "data"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new UnsignedBulletinBoardMessage instance using the specified properties. - * @function create - * @memberof meerkat.UnsignedBulletinBoardMessage - * @static - * @param {meerkat.IUnsignedBulletinBoardMessage=} [properties] Properties to set - * @returns {meerkat.UnsignedBulletinBoardMessage} UnsignedBulletinBoardMessage instance - */ - UnsignedBulletinBoardMessage.create = function create(properties) { - return new UnsignedBulletinBoardMessage(properties); - }; - - /** - * Encodes the specified UnsignedBulletinBoardMessage message. Does not implicitly {@link meerkat.UnsignedBulletinBoardMessage.verify|verify} messages. - * @function encode - * @memberof meerkat.UnsignedBulletinBoardMessage - * @static - * @param {meerkat.IUnsignedBulletinBoardMessage} message UnsignedBulletinBoardMessage message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - UnsignedBulletinBoardMessage.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.tag != null && message.tag.length) - for (var i = 0; i < message.tag.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.tag[i]); - if (message.timestamp != null && message.hasOwnProperty("timestamp")) - $root.google.protobuf.Timestamp.encode(message.timestamp, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.msgId != null && message.hasOwnProperty("msgId")) - writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.msgId); - if (message.data != null && message.hasOwnProperty("data")) - writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.data); - return writer; - }; - - /** - * Encodes the specified UnsignedBulletinBoardMessage message, length delimited. Does not implicitly {@link meerkat.UnsignedBulletinBoardMessage.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.UnsignedBulletinBoardMessage - * @static - * @param {meerkat.IUnsignedBulletinBoardMessage} message UnsignedBulletinBoardMessage message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - UnsignedBulletinBoardMessage.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an UnsignedBulletinBoardMessage message from the specified reader or buffer. - * @function decode - * @memberof meerkat.UnsignedBulletinBoardMessage - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.UnsignedBulletinBoardMessage} UnsignedBulletinBoardMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - UnsignedBulletinBoardMessage.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.UnsignedBulletinBoardMessage(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.tag && message.tag.length)) - message.tag = []; - message.tag.push(reader.string()); - break; - case 2: - message.timestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 3: - message.msgId = reader.bytes(); - break; - case 4: - message.data = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an UnsignedBulletinBoardMessage message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.UnsignedBulletinBoardMessage - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.UnsignedBulletinBoardMessage} UnsignedBulletinBoardMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - UnsignedBulletinBoardMessage.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an UnsignedBulletinBoardMessage message. - * @function verify - * @memberof meerkat.UnsignedBulletinBoardMessage - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - UnsignedBulletinBoardMessage.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - var properties = {}; - if (message.tag != null && message.hasOwnProperty("tag")) { - if (!Array.isArray(message.tag)) - return "tag: array expected"; - for (var i = 0; i < message.tag.length; ++i) - if (!$util.isString(message.tag[i])) - return "tag: string[] expected"; - } - if (message.timestamp != null && message.hasOwnProperty("timestamp")) { - var error = $root.google.protobuf.Timestamp.verify(message.timestamp); - if (error) - return "timestamp." + error; - } - if (message.msgId != null && message.hasOwnProperty("msgId")) { - properties.dataType = 1; - if (!(message.msgId && typeof message.msgId.length === "number" || $util.isString(message.msgId))) - return "msgId: buffer expected"; - } - if (message.data != null && message.hasOwnProperty("data")) { - if (properties.dataType === 1) - return "dataType: multiple values"; - properties.dataType = 1; - if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) - return "data: buffer expected"; - } - return null; - }; - - /** - * Creates an UnsignedBulletinBoardMessage message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.UnsignedBulletinBoardMessage - * @static - * @param {Object.} object Plain object - * @returns {meerkat.UnsignedBulletinBoardMessage} UnsignedBulletinBoardMessage - */ - UnsignedBulletinBoardMessage.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.UnsignedBulletinBoardMessage) - return object; - var message = new $root.meerkat.UnsignedBulletinBoardMessage(); - if (object.tag) { - if (!Array.isArray(object.tag)) - throw TypeError(".meerkat.UnsignedBulletinBoardMessage.tag: array expected"); - message.tag = []; - for (var i = 0; i < object.tag.length; ++i) - message.tag[i] = String(object.tag[i]); - } - if (object.timestamp != null) { - if (typeof object.timestamp !== "object") - throw TypeError(".meerkat.UnsignedBulletinBoardMessage.timestamp: object expected"); - message.timestamp = $root.google.protobuf.Timestamp.fromObject(object.timestamp); - } - if (object.msgId != null) - if (typeof object.msgId === "string") - $util.base64.decode(object.msgId, message.msgId = $util.newBuffer($util.base64.length(object.msgId)), 0); - else if (object.msgId.length) - message.msgId = object.msgId; - if (object.data != null) - if (typeof object.data === "string") - $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); - else if (object.data.length) - message.data = object.data; - return message; - }; - - /** - * Creates a plain object from an UnsignedBulletinBoardMessage message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.UnsignedBulletinBoardMessage - * @static - * @param {meerkat.UnsignedBulletinBoardMessage} message UnsignedBulletinBoardMessage - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - UnsignedBulletinBoardMessage.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.tag = []; - if (options.defaults) - object.timestamp = null; - if (message.tag && message.tag.length) { - object.tag = []; - for (var j = 0; j < message.tag.length; ++j) - object.tag[j] = message.tag[j]; - } - if (message.timestamp != null && message.hasOwnProperty("timestamp")) - object.timestamp = $root.google.protobuf.Timestamp.toObject(message.timestamp, options); - if (message.msgId != null && message.hasOwnProperty("msgId")) { - object.msgId = options.bytes === String ? $util.base64.encode(message.msgId, 0, message.msgId.length) : options.bytes === Array ? Array.prototype.slice.call(message.msgId) : message.msgId; - if (options.oneofs) - object.dataType = "msgId"; - } - if (message.data != null && message.hasOwnProperty("data")) { - object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; - if (options.oneofs) - object.dataType = "data"; - } - return object; - }; - - /** - * Converts this UnsignedBulletinBoardMessage to JSON. - * @function toJSON - * @memberof meerkat.UnsignedBulletinBoardMessage - * @instance - * @returns {Object.} JSON object - */ - UnsignedBulletinBoardMessage.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return UnsignedBulletinBoardMessage; - })(); - - meerkat.BulletinBoardMessage = (function() { - - /** - * Properties of a BulletinBoardMessage. - * @memberof meerkat - * @interface IBulletinBoardMessage - * @property {number|Long} [entryNum] BulletinBoardMessage entryNum - * @property {meerkat.IUnsignedBulletinBoardMessage} [msg] BulletinBoardMessage msg - * @property {Array.} [sig] BulletinBoardMessage sig - */ - - /** - * Constructs a new BulletinBoardMessage. - * @memberof meerkat - * @classdesc Represents a BulletinBoardMessage. - * @constructor - * @param {meerkat.IBulletinBoardMessage=} [properties] Properties to set - */ - function BulletinBoardMessage(properties) { - this.sig = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * BulletinBoardMessage entryNum. - * @member {number|Long}entryNum - * @memberof meerkat.BulletinBoardMessage - * @instance - */ - BulletinBoardMessage.prototype.entryNum = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * BulletinBoardMessage msg. - * @member {(meerkat.IUnsignedBulletinBoardMessage|null|undefined)}msg - * @memberof meerkat.BulletinBoardMessage - * @instance - */ - BulletinBoardMessage.prototype.msg = null; - - /** - * BulletinBoardMessage sig. - * @member {Array.}sig - * @memberof meerkat.BulletinBoardMessage - * @instance - */ - BulletinBoardMessage.prototype.sig = $util.emptyArray; - - /** - * Creates a new BulletinBoardMessage instance using the specified properties. - * @function create - * @memberof meerkat.BulletinBoardMessage - * @static - * @param {meerkat.IBulletinBoardMessage=} [properties] Properties to set - * @returns {meerkat.BulletinBoardMessage} BulletinBoardMessage instance - */ - BulletinBoardMessage.create = function create(properties) { - return new BulletinBoardMessage(properties); - }; - - /** - * Encodes the specified BulletinBoardMessage message. Does not implicitly {@link meerkat.BulletinBoardMessage.verify|verify} messages. - * @function encode - * @memberof meerkat.BulletinBoardMessage - * @static - * @param {meerkat.IBulletinBoardMessage} message BulletinBoardMessage message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BulletinBoardMessage.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.entryNum != null && message.hasOwnProperty("entryNum")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.entryNum); - if (message.msg != null && message.hasOwnProperty("msg")) - $root.meerkat.UnsignedBulletinBoardMessage.encode(message.msg, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.sig != null && message.sig.length) - for (var i = 0; i < message.sig.length; ++i) - $root.meerkat.Signature.encode(message.sig[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified BulletinBoardMessage message, length delimited. Does not implicitly {@link meerkat.BulletinBoardMessage.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.BulletinBoardMessage - * @static - * @param {meerkat.IBulletinBoardMessage} message BulletinBoardMessage message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BulletinBoardMessage.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a BulletinBoardMessage message from the specified reader or buffer. - * @function decode - * @memberof meerkat.BulletinBoardMessage - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.BulletinBoardMessage} BulletinBoardMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BulletinBoardMessage.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.BulletinBoardMessage(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.entryNum = reader.int64(); - break; - case 2: - message.msg = $root.meerkat.UnsignedBulletinBoardMessage.decode(reader, reader.uint32()); - break; - case 3: - if (!(message.sig && message.sig.length)) - message.sig = []; - message.sig.push($root.meerkat.Signature.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a BulletinBoardMessage message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.BulletinBoardMessage - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.BulletinBoardMessage} BulletinBoardMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BulletinBoardMessage.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a BulletinBoardMessage message. - * @function verify - * @memberof meerkat.BulletinBoardMessage - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - BulletinBoardMessage.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.entryNum != null && message.hasOwnProperty("entryNum")) - if (!$util.isInteger(message.entryNum) && !(message.entryNum && $util.isInteger(message.entryNum.low) && $util.isInteger(message.entryNum.high))) - return "entryNum: integer|Long expected"; - if (message.msg != null && message.hasOwnProperty("msg")) { - var error = $root.meerkat.UnsignedBulletinBoardMessage.verify(message.msg); - if (error) - return "msg." + error; - } - if (message.sig != null && message.hasOwnProperty("sig")) { - if (!Array.isArray(message.sig)) - return "sig: array expected"; - for (var i = 0; i < message.sig.length; ++i) { - error = $root.meerkat.Signature.verify(message.sig[i]); - if (error) - return "sig." + error; - } - } - return null; - }; - - /** - * Creates a BulletinBoardMessage message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.BulletinBoardMessage - * @static - * @param {Object.} object Plain object - * @returns {meerkat.BulletinBoardMessage} BulletinBoardMessage - */ - BulletinBoardMessage.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.BulletinBoardMessage) - return object; - var message = new $root.meerkat.BulletinBoardMessage(); - if (object.entryNum != null) - if ($util.Long) - (message.entryNum = $util.Long.fromValue(object.entryNum)).unsigned = false; - else if (typeof object.entryNum === "string") - message.entryNum = parseInt(object.entryNum, 10); - else if (typeof object.entryNum === "number") - message.entryNum = object.entryNum; - else if (typeof object.entryNum === "object") - message.entryNum = new $util.LongBits(object.entryNum.low >>> 0, object.entryNum.high >>> 0).toNumber(); - if (object.msg != null) { - if (typeof object.msg !== "object") - throw TypeError(".meerkat.BulletinBoardMessage.msg: object expected"); - message.msg = $root.meerkat.UnsignedBulletinBoardMessage.fromObject(object.msg); - } - if (object.sig) { - if (!Array.isArray(object.sig)) - throw TypeError(".meerkat.BulletinBoardMessage.sig: array expected"); - message.sig = []; - for (var i = 0; i < object.sig.length; ++i) { - if (typeof object.sig[i] !== "object") - throw TypeError(".meerkat.BulletinBoardMessage.sig: object expected"); - message.sig[i] = $root.meerkat.Signature.fromObject(object.sig[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a BulletinBoardMessage message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.BulletinBoardMessage - * @static - * @param {meerkat.BulletinBoardMessage} message BulletinBoardMessage - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - BulletinBoardMessage.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.sig = []; - if (options.defaults) { - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.entryNum = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.entryNum = options.longs === String ? "0" : 0; - object.msg = null; - } - if (message.entryNum != null && message.hasOwnProperty("entryNum")) - if (typeof message.entryNum === "number") - object.entryNum = options.longs === String ? String(message.entryNum) : message.entryNum; - else - object.entryNum = options.longs === String ? $util.Long.prototype.toString.call(message.entryNum) : options.longs === Number ? new $util.LongBits(message.entryNum.low >>> 0, message.entryNum.high >>> 0).toNumber() : message.entryNum; - if (message.msg != null && message.hasOwnProperty("msg")) - object.msg = $root.meerkat.UnsignedBulletinBoardMessage.toObject(message.msg, options); - if (message.sig && message.sig.length) { - object.sig = []; - for (var j = 0; j < message.sig.length; ++j) - object.sig[j] = $root.meerkat.Signature.toObject(message.sig[j], options); - } - return object; - }; - - /** - * Converts this BulletinBoardMessage to JSON. - * @function toJSON - * @memberof meerkat.BulletinBoardMessage - * @instance - * @returns {Object.} JSON object - */ - BulletinBoardMessage.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return BulletinBoardMessage; - })(); - - meerkat.BulletinBoardMessageList = (function() { - - /** - * Properties of a BulletinBoardMessageList. - * @memberof meerkat - * @interface IBulletinBoardMessageList - * @property {Array.} [message] BulletinBoardMessageList message - */ - - /** - * Constructs a new BulletinBoardMessageList. - * @memberof meerkat - * @classdesc Represents a BulletinBoardMessageList. - * @constructor - * @param {meerkat.IBulletinBoardMessageList=} [properties] Properties to set - */ - function BulletinBoardMessageList(properties) { - this.message = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * BulletinBoardMessageList message. - * @member {Array.}message - * @memberof meerkat.BulletinBoardMessageList - * @instance - */ - BulletinBoardMessageList.prototype.message = $util.emptyArray; - - /** - * Creates a new BulletinBoardMessageList instance using the specified properties. - * @function create - * @memberof meerkat.BulletinBoardMessageList - * @static - * @param {meerkat.IBulletinBoardMessageList=} [properties] Properties to set - * @returns {meerkat.BulletinBoardMessageList} BulletinBoardMessageList instance - */ - BulletinBoardMessageList.create = function create(properties) { - return new BulletinBoardMessageList(properties); - }; - - /** - * Encodes the specified BulletinBoardMessageList message. Does not implicitly {@link meerkat.BulletinBoardMessageList.verify|verify} messages. - * @function encode - * @memberof meerkat.BulletinBoardMessageList - * @static - * @param {meerkat.IBulletinBoardMessageList} message BulletinBoardMessageList message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BulletinBoardMessageList.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.message != null && message.message.length) - for (var i = 0; i < message.message.length; ++i) - $root.meerkat.BulletinBoardMessage.encode(message.message[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified BulletinBoardMessageList message, length delimited. Does not implicitly {@link meerkat.BulletinBoardMessageList.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.BulletinBoardMessageList - * @static - * @param {meerkat.IBulletinBoardMessageList} message BulletinBoardMessageList message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BulletinBoardMessageList.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a BulletinBoardMessageList message from the specified reader or buffer. - * @function decode - * @memberof meerkat.BulletinBoardMessageList - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.BulletinBoardMessageList} BulletinBoardMessageList - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BulletinBoardMessageList.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.BulletinBoardMessageList(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.message && message.message.length)) - message.message = []; - message.message.push($root.meerkat.BulletinBoardMessage.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a BulletinBoardMessageList message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.BulletinBoardMessageList - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.BulletinBoardMessageList} BulletinBoardMessageList - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BulletinBoardMessageList.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a BulletinBoardMessageList message. - * @function verify - * @memberof meerkat.BulletinBoardMessageList - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - BulletinBoardMessageList.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.message != null && message.hasOwnProperty("message")) { - if (!Array.isArray(message.message)) - return "message: array expected"; - for (var i = 0; i < message.message.length; ++i) { - var error = $root.meerkat.BulletinBoardMessage.verify(message.message[i]); - if (error) - return "message." + error; - } - } - return null; - }; - - /** - * Creates a BulletinBoardMessageList message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.BulletinBoardMessageList - * @static - * @param {Object.} object Plain object - * @returns {meerkat.BulletinBoardMessageList} BulletinBoardMessageList - */ - BulletinBoardMessageList.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.BulletinBoardMessageList) - return object; - var message = new $root.meerkat.BulletinBoardMessageList(); - if (object.message) { - if (!Array.isArray(object.message)) - throw TypeError(".meerkat.BulletinBoardMessageList.message: array expected"); - message.message = []; - for (var i = 0; i < object.message.length; ++i) { - if (typeof object.message[i] !== "object") - throw TypeError(".meerkat.BulletinBoardMessageList.message: object expected"); - message.message[i] = $root.meerkat.BulletinBoardMessage.fromObject(object.message[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a BulletinBoardMessageList message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.BulletinBoardMessageList - * @static - * @param {meerkat.BulletinBoardMessageList} message BulletinBoardMessageList - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - BulletinBoardMessageList.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.message = []; - if (message.message && message.message.length) { - object.message = []; - for (var j = 0; j < message.message.length; ++j) - object.message[j] = $root.meerkat.BulletinBoardMessage.toObject(message.message[j], options); - } - return object; - }; - - /** - * Converts this BulletinBoardMessageList to JSON. - * @function toJSON - * @memberof meerkat.BulletinBoardMessageList - * @instance - * @returns {Object.} JSON object - */ - BulletinBoardMessageList.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return BulletinBoardMessageList; - })(); - - /** - * FilterType enum. - * @enum {string} - * @property {number} MSG_ID=0 MSG_ID value - * @property {number} EXACT_ENTRY=1 EXACT_ENTRY value - * @property {number} MAX_ENTRY=2 MAX_ENTRY value - * @property {number} MIN_ENTRY=3 MIN_ENTRY value - * @property {number} SIGNER_ID=4 SIGNER_ID value - * @property {number} TAG=5 TAG value - * @property {number} AFTER_TIME=6 AFTER_TIME value - * @property {number} BEFORE_TIME=7 BEFORE_TIME value - * @property {number} MAX_MESSAGES=8 MAX_MESSAGES value - */ - meerkat.FilterType = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "MSG_ID"] = 0; - values[valuesById[1] = "EXACT_ENTRY"] = 1; - values[valuesById[2] = "MAX_ENTRY"] = 2; - values[valuesById[3] = "MIN_ENTRY"] = 3; - values[valuesById[4] = "SIGNER_ID"] = 4; - values[valuesById[5] = "TAG"] = 5; - values[valuesById[6] = "AFTER_TIME"] = 6; - values[valuesById[7] = "BEFORE_TIME"] = 7; - values[valuesById[8] = "MAX_MESSAGES"] = 8; - return values; - })(); - - meerkat.MessageFilter = (function() { - - /** - * Properties of a MessageFilter. - * @memberof meerkat - * @interface IMessageFilter - * @property {meerkat.FilterType} [type] MessageFilter type - * @property {Uint8Array} [id] MessageFilter id - * @property {number|Long} [entry] MessageFilter entry - * @property {string} [tag] MessageFilter tag - * @property {number|Long} [maxMessages] MessageFilter maxMessages - * @property {google.protobuf.ITimestamp} [timestamp] MessageFilter timestamp - */ - - /** - * Constructs a new MessageFilter. - * @memberof meerkat - * @classdesc Represents a MessageFilter. - * @constructor - * @param {meerkat.IMessageFilter=} [properties] Properties to set - */ - function MessageFilter(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MessageFilter type. - * @member {meerkat.FilterType}type - * @memberof meerkat.MessageFilter - * @instance - */ - MessageFilter.prototype.type = 0; - - /** - * MessageFilter id. - * @member {Uint8Array}id - * @memberof meerkat.MessageFilter - * @instance - */ - MessageFilter.prototype.id = $util.newBuffer([]); - - /** - * MessageFilter entry. - * @member {number|Long}entry - * @memberof meerkat.MessageFilter - * @instance - */ - MessageFilter.prototype.entry = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * MessageFilter tag. - * @member {string}tag - * @memberof meerkat.MessageFilter - * @instance - */ - MessageFilter.prototype.tag = ""; - - /** - * MessageFilter maxMessages. - * @member {number|Long}maxMessages - * @memberof meerkat.MessageFilter - * @instance - */ - MessageFilter.prototype.maxMessages = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * MessageFilter timestamp. - * @member {(google.protobuf.ITimestamp|null|undefined)}timestamp - * @memberof meerkat.MessageFilter - * @instance - */ - MessageFilter.prototype.timestamp = null; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; - - /** - * MessageFilter filter. - * @member {string|undefined} filter - * @memberof meerkat.MessageFilter - * @instance - */ - Object.defineProperty(MessageFilter.prototype, "filter", { - get: $util.oneOfGetter($oneOfFields = ["id", "entry", "tag", "maxMessages", "timestamp"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new MessageFilter instance using the specified properties. - * @function create - * @memberof meerkat.MessageFilter - * @static - * @param {meerkat.IMessageFilter=} [properties] Properties to set - * @returns {meerkat.MessageFilter} MessageFilter instance - */ - MessageFilter.create = function create(properties) { - return new MessageFilter(properties); - }; - - /** - * Encodes the specified MessageFilter message. Does not implicitly {@link meerkat.MessageFilter.verify|verify} messages. - * @function encode - * @memberof meerkat.MessageFilter - * @static - * @param {meerkat.IMessageFilter} message MessageFilter message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MessageFilter.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.id != null && message.hasOwnProperty("id")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.id); - if (message.entry != null && message.hasOwnProperty("entry")) - writer.uint32(/* id 3, wireType 0 =*/24).int64(message.entry); - if (message.tag != null && message.hasOwnProperty("tag")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.tag); - if (message.maxMessages != null && message.hasOwnProperty("maxMessages")) - writer.uint32(/* id 5, wireType 0 =*/40).int64(message.maxMessages); - if (message.timestamp != null && message.hasOwnProperty("timestamp")) - $root.google.protobuf.Timestamp.encode(message.timestamp, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified MessageFilter message, length delimited. Does not implicitly {@link meerkat.MessageFilter.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.MessageFilter - * @static - * @param {meerkat.IMessageFilter} message MessageFilter message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MessageFilter.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MessageFilter message from the specified reader or buffer. - * @function decode - * @memberof meerkat.MessageFilter - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.MessageFilter} MessageFilter - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MessageFilter.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.MessageFilter(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.type = reader.int32(); - break; - case 2: - message.id = reader.bytes(); - break; - case 3: - message.entry = reader.int64(); - break; - case 4: - message.tag = reader.string(); - break; - case 5: - message.maxMessages = reader.int64(); - break; - case 6: - message.timestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MessageFilter message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.MessageFilter - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.MessageFilter} MessageFilter - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MessageFilter.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MessageFilter message. - * @function verify - * @memberof meerkat.MessageFilter - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MessageFilter.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - var properties = {}; - if (message.type != null && message.hasOwnProperty("type")) - switch (message.type) { - default: - return "type: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - break; - } - if (message.id != null && message.hasOwnProperty("id")) { - properties.filter = 1; - if (!(message.id && typeof message.id.length === "number" || $util.isString(message.id))) - return "id: buffer expected"; - } - if (message.entry != null && message.hasOwnProperty("entry")) { - if (properties.filter === 1) - return "filter: multiple values"; - properties.filter = 1; - if (!$util.isInteger(message.entry) && !(message.entry && $util.isInteger(message.entry.low) && $util.isInteger(message.entry.high))) - return "entry: integer|Long expected"; - } - if (message.tag != null && message.hasOwnProperty("tag")) { - if (properties.filter === 1) - return "filter: multiple values"; - properties.filter = 1; - if (!$util.isString(message.tag)) - return "tag: string expected"; - } - if (message.maxMessages != null && message.hasOwnProperty("maxMessages")) { - if (properties.filter === 1) - return "filter: multiple values"; - properties.filter = 1; - if (!$util.isInteger(message.maxMessages) && !(message.maxMessages && $util.isInteger(message.maxMessages.low) && $util.isInteger(message.maxMessages.high))) - return "maxMessages: integer|Long expected"; - } - if (message.timestamp != null && message.hasOwnProperty("timestamp")) { - if (properties.filter === 1) - return "filter: multiple values"; - properties.filter = 1; - var error = $root.google.protobuf.Timestamp.verify(message.timestamp); - if (error) - return "timestamp." + error; - } - return null; - }; - - /** - * Creates a MessageFilter message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.MessageFilter - * @static - * @param {Object.} object Plain object - * @returns {meerkat.MessageFilter} MessageFilter - */ - MessageFilter.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.MessageFilter) - return object; - var message = new $root.meerkat.MessageFilter(); - switch (object.type) { - case "MSG_ID": - case 0: - message.type = 0; - break; - case "EXACT_ENTRY": - case 1: - message.type = 1; - break; - case "MAX_ENTRY": - case 2: - message.type = 2; - break; - case "MIN_ENTRY": - case 3: - message.type = 3; - break; - case "SIGNER_ID": - case 4: - message.type = 4; - break; - case "TAG": - case 5: - message.type = 5; - break; - case "AFTER_TIME": - case 6: - message.type = 6; - break; - case "BEFORE_TIME": - case 7: - message.type = 7; - break; - case "MAX_MESSAGES": - case 8: - message.type = 8; - break; - } - if (object.id != null) - if (typeof object.id === "string") - $util.base64.decode(object.id, message.id = $util.newBuffer($util.base64.length(object.id)), 0); - else if (object.id.length) - message.id = object.id; - if (object.entry != null) - if ($util.Long) - (message.entry = $util.Long.fromValue(object.entry)).unsigned = false; - else if (typeof object.entry === "string") - message.entry = parseInt(object.entry, 10); - else if (typeof object.entry === "number") - message.entry = object.entry; - else if (typeof object.entry === "object") - message.entry = new $util.LongBits(object.entry.low >>> 0, object.entry.high >>> 0).toNumber(); - if (object.tag != null) - message.tag = String(object.tag); - if (object.maxMessages != null) - if ($util.Long) - (message.maxMessages = $util.Long.fromValue(object.maxMessages)).unsigned = false; - else if (typeof object.maxMessages === "string") - message.maxMessages = parseInt(object.maxMessages, 10); - else if (typeof object.maxMessages === "number") - message.maxMessages = object.maxMessages; - else if (typeof object.maxMessages === "object") - message.maxMessages = new $util.LongBits(object.maxMessages.low >>> 0, object.maxMessages.high >>> 0).toNumber(); - if (object.timestamp != null) { - if (typeof object.timestamp !== "object") - throw TypeError(".meerkat.MessageFilter.timestamp: object expected"); - message.timestamp = $root.google.protobuf.Timestamp.fromObject(object.timestamp); - } - return message; - }; - - /** - * Creates a plain object from a MessageFilter message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.MessageFilter - * @static - * @param {meerkat.MessageFilter} message MessageFilter - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MessageFilter.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.type = options.enums === String ? "MSG_ID" : 0; - if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.meerkat.FilterType[message.type] : message.type; - if (message.id != null && message.hasOwnProperty("id")) { - object.id = options.bytes === String ? $util.base64.encode(message.id, 0, message.id.length) : options.bytes === Array ? Array.prototype.slice.call(message.id) : message.id; - if (options.oneofs) - object.filter = "id"; - } - if (message.entry != null && message.hasOwnProperty("entry")) { - if (typeof message.entry === "number") - object.entry = options.longs === String ? String(message.entry) : message.entry; - else - object.entry = options.longs === String ? $util.Long.prototype.toString.call(message.entry) : options.longs === Number ? new $util.LongBits(message.entry.low >>> 0, message.entry.high >>> 0).toNumber() : message.entry; - if (options.oneofs) - object.filter = "entry"; - } - if (message.tag != null && message.hasOwnProperty("tag")) { - object.tag = message.tag; - if (options.oneofs) - object.filter = "tag"; - } - if (message.maxMessages != null && message.hasOwnProperty("maxMessages")) { - if (typeof message.maxMessages === "number") - object.maxMessages = options.longs === String ? String(message.maxMessages) : message.maxMessages; - else - object.maxMessages = options.longs === String ? $util.Long.prototype.toString.call(message.maxMessages) : options.longs === Number ? new $util.LongBits(message.maxMessages.low >>> 0, message.maxMessages.high >>> 0).toNumber() : message.maxMessages; - if (options.oneofs) - object.filter = "maxMessages"; - } - if (message.timestamp != null && message.hasOwnProperty("timestamp")) { - object.timestamp = $root.google.protobuf.Timestamp.toObject(message.timestamp, options); - if (options.oneofs) - object.filter = "timestamp"; - } - return object; - }; - - /** - * Converts this MessageFilter to JSON. - * @function toJSON - * @memberof meerkat.MessageFilter - * @instance - * @returns {Object.} JSON object - */ - MessageFilter.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MessageFilter; - })(); - - meerkat.MessageFilterList = (function() { - - /** - * Properties of a MessageFilterList. - * @memberof meerkat - * @interface IMessageFilterList - * @property {Array.} [filter] MessageFilterList filter - */ - - /** - * Constructs a new MessageFilterList. - * @memberof meerkat - * @classdesc Represents a MessageFilterList. - * @constructor - * @param {meerkat.IMessageFilterList=} [properties] Properties to set - */ - function MessageFilterList(properties) { - this.filter = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MessageFilterList filter. - * @member {Array.}filter - * @memberof meerkat.MessageFilterList - * @instance - */ - MessageFilterList.prototype.filter = $util.emptyArray; - - /** - * Creates a new MessageFilterList instance using the specified properties. - * @function create - * @memberof meerkat.MessageFilterList - * @static - * @param {meerkat.IMessageFilterList=} [properties] Properties to set - * @returns {meerkat.MessageFilterList} MessageFilterList instance - */ - MessageFilterList.create = function create(properties) { - return new MessageFilterList(properties); - }; - - /** - * Encodes the specified MessageFilterList message. Does not implicitly {@link meerkat.MessageFilterList.verify|verify} messages. - * @function encode - * @memberof meerkat.MessageFilterList - * @static - * @param {meerkat.IMessageFilterList} message MessageFilterList message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MessageFilterList.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.filter != null && message.filter.length) - for (var i = 0; i < message.filter.length; ++i) - $root.meerkat.MessageFilter.encode(message.filter[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified MessageFilterList message, length delimited. Does not implicitly {@link meerkat.MessageFilterList.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.MessageFilterList - * @static - * @param {meerkat.IMessageFilterList} message MessageFilterList message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MessageFilterList.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MessageFilterList message from the specified reader or buffer. - * @function decode - * @memberof meerkat.MessageFilterList - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.MessageFilterList} MessageFilterList - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MessageFilterList.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.MessageFilterList(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.filter && message.filter.length)) - message.filter = []; - message.filter.push($root.meerkat.MessageFilter.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MessageFilterList message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.MessageFilterList - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.MessageFilterList} MessageFilterList - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MessageFilterList.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MessageFilterList message. - * @function verify - * @memberof meerkat.MessageFilterList - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MessageFilterList.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.filter != null && message.hasOwnProperty("filter")) { - if (!Array.isArray(message.filter)) - return "filter: array expected"; - for (var i = 0; i < message.filter.length; ++i) { - var error = $root.meerkat.MessageFilter.verify(message.filter[i]); - if (error) - return "filter." + error; - } - } - return null; - }; - - /** - * Creates a MessageFilterList message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.MessageFilterList - * @static - * @param {Object.} object Plain object - * @returns {meerkat.MessageFilterList} MessageFilterList - */ - MessageFilterList.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.MessageFilterList) - return object; - var message = new $root.meerkat.MessageFilterList(); - if (object.filter) { - if (!Array.isArray(object.filter)) - throw TypeError(".meerkat.MessageFilterList.filter: array expected"); - message.filter = []; - for (var i = 0; i < object.filter.length; ++i) { - if (typeof object.filter[i] !== "object") - throw TypeError(".meerkat.MessageFilterList.filter: object expected"); - message.filter[i] = $root.meerkat.MessageFilter.fromObject(object.filter[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a MessageFilterList message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.MessageFilterList - * @static - * @param {meerkat.MessageFilterList} message MessageFilterList - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MessageFilterList.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.filter = []; - if (message.filter && message.filter.length) { - object.filter = []; - for (var j = 0; j < message.filter.length; ++j) - object.filter[j] = $root.meerkat.MessageFilter.toObject(message.filter[j], options); - } - return object; - }; - - /** - * Converts this MessageFilterList to JSON. - * @function toJSON - * @memberof meerkat.MessageFilterList - * @instance - * @returns {Object.} JSON object - */ - MessageFilterList.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MessageFilterList; - })(); - - meerkat.BeginBatchMessage = (function() { - - /** - * Properties of a BeginBatchMessage. - * @memberof meerkat - * @interface IBeginBatchMessage - * @property {Array.} [tag] BeginBatchMessage tag - */ - - /** - * Constructs a new BeginBatchMessage. - * @memberof meerkat - * @classdesc Represents a BeginBatchMessage. - * @constructor - * @param {meerkat.IBeginBatchMessage=} [properties] Properties to set - */ - function BeginBatchMessage(properties) { - this.tag = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * BeginBatchMessage tag. - * @member {Array.}tag - * @memberof meerkat.BeginBatchMessage - * @instance - */ - BeginBatchMessage.prototype.tag = $util.emptyArray; - - /** - * Creates a new BeginBatchMessage instance using the specified properties. - * @function create - * @memberof meerkat.BeginBatchMessage - * @static - * @param {meerkat.IBeginBatchMessage=} [properties] Properties to set - * @returns {meerkat.BeginBatchMessage} BeginBatchMessage instance - */ - BeginBatchMessage.create = function create(properties) { - return new BeginBatchMessage(properties); - }; - - /** - * Encodes the specified BeginBatchMessage message. Does not implicitly {@link meerkat.BeginBatchMessage.verify|verify} messages. - * @function encode - * @memberof meerkat.BeginBatchMessage - * @static - * @param {meerkat.IBeginBatchMessage} message BeginBatchMessage message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BeginBatchMessage.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.tag != null && message.tag.length) - for (var i = 0; i < message.tag.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.tag[i]); - return writer; - }; - - /** - * Encodes the specified BeginBatchMessage message, length delimited. Does not implicitly {@link meerkat.BeginBatchMessage.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.BeginBatchMessage - * @static - * @param {meerkat.IBeginBatchMessage} message BeginBatchMessage message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BeginBatchMessage.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a BeginBatchMessage message from the specified reader or buffer. - * @function decode - * @memberof meerkat.BeginBatchMessage - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.BeginBatchMessage} BeginBatchMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BeginBatchMessage.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.BeginBatchMessage(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.tag && message.tag.length)) - message.tag = []; - message.tag.push(reader.string()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a BeginBatchMessage message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.BeginBatchMessage - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.BeginBatchMessage} BeginBatchMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BeginBatchMessage.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a BeginBatchMessage message. - * @function verify - * @memberof meerkat.BeginBatchMessage - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - BeginBatchMessage.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.tag != null && message.hasOwnProperty("tag")) { - if (!Array.isArray(message.tag)) - return "tag: array expected"; - for (var i = 0; i < message.tag.length; ++i) - if (!$util.isString(message.tag[i])) - return "tag: string[] expected"; - } - return null; - }; - - /** - * Creates a BeginBatchMessage message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.BeginBatchMessage - * @static - * @param {Object.} object Plain object - * @returns {meerkat.BeginBatchMessage} BeginBatchMessage - */ - BeginBatchMessage.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.BeginBatchMessage) - return object; - var message = new $root.meerkat.BeginBatchMessage(); - if (object.tag) { - if (!Array.isArray(object.tag)) - throw TypeError(".meerkat.BeginBatchMessage.tag: array expected"); - message.tag = []; - for (var i = 0; i < object.tag.length; ++i) - message.tag[i] = String(object.tag[i]); - } - return message; - }; - - /** - * Creates a plain object from a BeginBatchMessage message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.BeginBatchMessage - * @static - * @param {meerkat.BeginBatchMessage} message BeginBatchMessage - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - BeginBatchMessage.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.tag = []; - if (message.tag && message.tag.length) { - object.tag = []; - for (var j = 0; j < message.tag.length; ++j) - object.tag[j] = message.tag[j]; - } - return object; - }; - - /** - * Converts this BeginBatchMessage to JSON. - * @function toJSON - * @memberof meerkat.BeginBatchMessage - * @instance - * @returns {Object.} JSON object - */ - BeginBatchMessage.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return BeginBatchMessage; - })(); - - meerkat.CloseBatchMessage = (function() { - - /** - * Properties of a CloseBatchMessage. - * @memberof meerkat - * @interface ICloseBatchMessage - * @property {number|Long} [batchId] CloseBatchMessage batchId - * @property {number} [batchLength] CloseBatchMessage batchLength - * @property {google.protobuf.ITimestamp} [timestamp] CloseBatchMessage timestamp - * @property {Array.} [sig] CloseBatchMessage sig - */ - - /** - * Constructs a new CloseBatchMessage. - * @memberof meerkat - * @classdesc Represents a CloseBatchMessage. - * @constructor - * @param {meerkat.ICloseBatchMessage=} [properties] Properties to set - */ - function CloseBatchMessage(properties) { - this.sig = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * CloseBatchMessage batchId. - * @member {number|Long}batchId - * @memberof meerkat.CloseBatchMessage - * @instance - */ - CloseBatchMessage.prototype.batchId = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * CloseBatchMessage batchLength. - * @member {number}batchLength - * @memberof meerkat.CloseBatchMessage - * @instance - */ - CloseBatchMessage.prototype.batchLength = 0; - - /** - * CloseBatchMessage timestamp. - * @member {(google.protobuf.ITimestamp|null|undefined)}timestamp - * @memberof meerkat.CloseBatchMessage - * @instance - */ - CloseBatchMessage.prototype.timestamp = null; - - /** - * CloseBatchMessage sig. - * @member {Array.}sig - * @memberof meerkat.CloseBatchMessage - * @instance - */ - CloseBatchMessage.prototype.sig = $util.emptyArray; - - /** - * Creates a new CloseBatchMessage instance using the specified properties. - * @function create - * @memberof meerkat.CloseBatchMessage - * @static - * @param {meerkat.ICloseBatchMessage=} [properties] Properties to set - * @returns {meerkat.CloseBatchMessage} CloseBatchMessage instance - */ - CloseBatchMessage.create = function create(properties) { - return new CloseBatchMessage(properties); - }; - - /** - * Encodes the specified CloseBatchMessage message. Does not implicitly {@link meerkat.CloseBatchMessage.verify|verify} messages. - * @function encode - * @memberof meerkat.CloseBatchMessage - * @static - * @param {meerkat.ICloseBatchMessage} message CloseBatchMessage message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CloseBatchMessage.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.batchId != null && message.hasOwnProperty("batchId")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.batchId); - if (message.batchLength != null && message.hasOwnProperty("batchLength")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.batchLength); - if (message.timestamp != null && message.hasOwnProperty("timestamp")) - $root.google.protobuf.Timestamp.encode(message.timestamp, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.sig != null && message.sig.length) - for (var i = 0; i < message.sig.length; ++i) - $root.meerkat.Signature.encode(message.sig[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified CloseBatchMessage message, length delimited. Does not implicitly {@link meerkat.CloseBatchMessage.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.CloseBatchMessage - * @static - * @param {meerkat.ICloseBatchMessage} message CloseBatchMessage message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CloseBatchMessage.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a CloseBatchMessage message from the specified reader or buffer. - * @function decode - * @memberof meerkat.CloseBatchMessage - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.CloseBatchMessage} CloseBatchMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CloseBatchMessage.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.CloseBatchMessage(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.batchId = reader.int64(); - break; - case 2: - message.batchLength = reader.int32(); - break; - case 3: - message.timestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 4: - if (!(message.sig && message.sig.length)) - message.sig = []; - message.sig.push($root.meerkat.Signature.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a CloseBatchMessage message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.CloseBatchMessage - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.CloseBatchMessage} CloseBatchMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CloseBatchMessage.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a CloseBatchMessage message. - * @function verify - * @memberof meerkat.CloseBatchMessage - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - CloseBatchMessage.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.batchId != null && message.hasOwnProperty("batchId")) - if (!$util.isInteger(message.batchId) && !(message.batchId && $util.isInteger(message.batchId.low) && $util.isInteger(message.batchId.high))) - return "batchId: integer|Long expected"; - if (message.batchLength != null && message.hasOwnProperty("batchLength")) - if (!$util.isInteger(message.batchLength)) - return "batchLength: integer expected"; - if (message.timestamp != null && message.hasOwnProperty("timestamp")) { - var error = $root.google.protobuf.Timestamp.verify(message.timestamp); - if (error) - return "timestamp." + error; - } - if (message.sig != null && message.hasOwnProperty("sig")) { - if (!Array.isArray(message.sig)) - return "sig: array expected"; - for (var i = 0; i < message.sig.length; ++i) { - error = $root.meerkat.Signature.verify(message.sig[i]); - if (error) - return "sig." + error; - } - } - return null; - }; - - /** - * Creates a CloseBatchMessage message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.CloseBatchMessage - * @static - * @param {Object.} object Plain object - * @returns {meerkat.CloseBatchMessage} CloseBatchMessage - */ - CloseBatchMessage.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.CloseBatchMessage) - return object; - var message = new $root.meerkat.CloseBatchMessage(); - if (object.batchId != null) - if ($util.Long) - (message.batchId = $util.Long.fromValue(object.batchId)).unsigned = false; - else if (typeof object.batchId === "string") - message.batchId = parseInt(object.batchId, 10); - else if (typeof object.batchId === "number") - message.batchId = object.batchId; - else if (typeof object.batchId === "object") - message.batchId = new $util.LongBits(object.batchId.low >>> 0, object.batchId.high >>> 0).toNumber(); - if (object.batchLength != null) - message.batchLength = object.batchLength | 0; - if (object.timestamp != null) { - if (typeof object.timestamp !== "object") - throw TypeError(".meerkat.CloseBatchMessage.timestamp: object expected"); - message.timestamp = $root.google.protobuf.Timestamp.fromObject(object.timestamp); - } - if (object.sig) { - if (!Array.isArray(object.sig)) - throw TypeError(".meerkat.CloseBatchMessage.sig: array expected"); - message.sig = []; - for (var i = 0; i < object.sig.length; ++i) { - if (typeof object.sig[i] !== "object") - throw TypeError(".meerkat.CloseBatchMessage.sig: object expected"); - message.sig[i] = $root.meerkat.Signature.fromObject(object.sig[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a CloseBatchMessage message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.CloseBatchMessage - * @static - * @param {meerkat.CloseBatchMessage} message CloseBatchMessage - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - CloseBatchMessage.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.sig = []; - if (options.defaults) { - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.batchId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.batchId = options.longs === String ? "0" : 0; - object.batchLength = 0; - object.timestamp = null; - } - if (message.batchId != null && message.hasOwnProperty("batchId")) - if (typeof message.batchId === "number") - object.batchId = options.longs === String ? String(message.batchId) : message.batchId; - else - object.batchId = options.longs === String ? $util.Long.prototype.toString.call(message.batchId) : options.longs === Number ? new $util.LongBits(message.batchId.low >>> 0, message.batchId.high >>> 0).toNumber() : message.batchId; - if (message.batchLength != null && message.hasOwnProperty("batchLength")) - object.batchLength = message.batchLength; - if (message.timestamp != null && message.hasOwnProperty("timestamp")) - object.timestamp = $root.google.protobuf.Timestamp.toObject(message.timestamp, options); - if (message.sig && message.sig.length) { - object.sig = []; - for (var j = 0; j < message.sig.length; ++j) - object.sig[j] = $root.meerkat.Signature.toObject(message.sig[j], options); - } - return object; - }; - - /** - * Converts this CloseBatchMessage to JSON. - * @function toJSON - * @memberof meerkat.CloseBatchMessage - * @instance - * @returns {Object.} JSON object - */ - CloseBatchMessage.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return CloseBatchMessage; - })(); - - meerkat.BatchChunk = (function() { - - /** - * Properties of a BatchChunk. - * @memberof meerkat - * @interface IBatchChunk - * @property {Uint8Array} [data] BatchChunk data - */ - - /** - * Constructs a new BatchChunk. - * @memberof meerkat - * @classdesc Represents a BatchChunk. - * @constructor - * @param {meerkat.IBatchChunk=} [properties] Properties to set - */ - function BatchChunk(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * BatchChunk data. - * @member {Uint8Array}data - * @memberof meerkat.BatchChunk - * @instance - */ - BatchChunk.prototype.data = $util.newBuffer([]); - - /** - * Creates a new BatchChunk instance using the specified properties. - * @function create - * @memberof meerkat.BatchChunk - * @static - * @param {meerkat.IBatchChunk=} [properties] Properties to set - * @returns {meerkat.BatchChunk} BatchChunk instance - */ - BatchChunk.create = function create(properties) { - return new BatchChunk(properties); - }; - - /** - * Encodes the specified BatchChunk message. Does not implicitly {@link meerkat.BatchChunk.verify|verify} messages. - * @function encode - * @memberof meerkat.BatchChunk - * @static - * @param {meerkat.IBatchChunk} message BatchChunk message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BatchChunk.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.data != null && message.hasOwnProperty("data")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.data); - return writer; - }; - - /** - * Encodes the specified BatchChunk message, length delimited. Does not implicitly {@link meerkat.BatchChunk.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.BatchChunk - * @static - * @param {meerkat.IBatchChunk} message BatchChunk message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BatchChunk.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a BatchChunk message from the specified reader or buffer. - * @function decode - * @memberof meerkat.BatchChunk - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.BatchChunk} BatchChunk - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BatchChunk.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.BatchChunk(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.data = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a BatchChunk message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.BatchChunk - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.BatchChunk} BatchChunk - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BatchChunk.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a BatchChunk message. - * @function verify - * @memberof meerkat.BatchChunk - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - BatchChunk.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.data != null && message.hasOwnProperty("data")) - if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) - return "data: buffer expected"; - return null; - }; - - /** - * Creates a BatchChunk message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.BatchChunk - * @static - * @param {Object.} object Plain object - * @returns {meerkat.BatchChunk} BatchChunk - */ - BatchChunk.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.BatchChunk) - return object; - var message = new $root.meerkat.BatchChunk(); - if (object.data != null) - if (typeof object.data === "string") - $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); - else if (object.data.length) - message.data = object.data; - return message; - }; - - /** - * Creates a plain object from a BatchChunk message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.BatchChunk - * @static - * @param {meerkat.BatchChunk} message BatchChunk - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - BatchChunk.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.data = options.bytes === String ? "" : []; - if (message.data != null && message.hasOwnProperty("data")) - object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; - return object; - }; - - /** - * Converts this BatchChunk to JSON. - * @function toJSON - * @memberof meerkat.BatchChunk - * @instance - * @returns {Object.} JSON object - */ - BatchChunk.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return BatchChunk; - })(); - - meerkat.BatchChunkList = (function() { - - /** - * Properties of a BatchChunkList. - * @memberof meerkat - * @interface IBatchChunkList - * @property {Array.} [data] BatchChunkList data - */ - - /** - * Constructs a new BatchChunkList. - * @memberof meerkat - * @classdesc Represents a BatchChunkList. - * @constructor - * @param {meerkat.IBatchChunkList=} [properties] Properties to set - */ - function BatchChunkList(properties) { - this.data = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * BatchChunkList data. - * @member {Array.}data - * @memberof meerkat.BatchChunkList - * @instance - */ - BatchChunkList.prototype.data = $util.emptyArray; - - /** - * Creates a new BatchChunkList instance using the specified properties. - * @function create - * @memberof meerkat.BatchChunkList - * @static - * @param {meerkat.IBatchChunkList=} [properties] Properties to set - * @returns {meerkat.BatchChunkList} BatchChunkList instance - */ - BatchChunkList.create = function create(properties) { - return new BatchChunkList(properties); - }; - - /** - * Encodes the specified BatchChunkList message. Does not implicitly {@link meerkat.BatchChunkList.verify|verify} messages. - * @function encode - * @memberof meerkat.BatchChunkList - * @static - * @param {meerkat.IBatchChunkList} message BatchChunkList message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BatchChunkList.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.data != null && message.data.length) - for (var i = 0; i < message.data.length; ++i) - $root.meerkat.BatchChunk.encode(message.data[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified BatchChunkList message, length delimited. Does not implicitly {@link meerkat.BatchChunkList.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.BatchChunkList - * @static - * @param {meerkat.IBatchChunkList} message BatchChunkList message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BatchChunkList.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a BatchChunkList message from the specified reader or buffer. - * @function decode - * @memberof meerkat.BatchChunkList - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.BatchChunkList} BatchChunkList - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BatchChunkList.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.BatchChunkList(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.data && message.data.length)) - message.data = []; - message.data.push($root.meerkat.BatchChunk.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a BatchChunkList message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.BatchChunkList - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.BatchChunkList} BatchChunkList - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BatchChunkList.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a BatchChunkList message. - * @function verify - * @memberof meerkat.BatchChunkList - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - BatchChunkList.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.data != null && message.hasOwnProperty("data")) { - if (!Array.isArray(message.data)) - return "data: array expected"; - for (var i = 0; i < message.data.length; ++i) { - var error = $root.meerkat.BatchChunk.verify(message.data[i]); - if (error) - return "data." + error; - } - } - return null; - }; - - /** - * Creates a BatchChunkList message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.BatchChunkList - * @static - * @param {Object.} object Plain object - * @returns {meerkat.BatchChunkList} BatchChunkList - */ - BatchChunkList.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.BatchChunkList) - return object; - var message = new $root.meerkat.BatchChunkList(); - if (object.data) { - if (!Array.isArray(object.data)) - throw TypeError(".meerkat.BatchChunkList.data: array expected"); - message.data = []; - for (var i = 0; i < object.data.length; ++i) { - if (typeof object.data[i] !== "object") - throw TypeError(".meerkat.BatchChunkList.data: object expected"); - message.data[i] = $root.meerkat.BatchChunk.fromObject(object.data[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a BatchChunkList message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.BatchChunkList - * @static - * @param {meerkat.BatchChunkList} message BatchChunkList - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - BatchChunkList.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.data = []; - if (message.data && message.data.length) { - object.data = []; - for (var j = 0; j < message.data.length; ++j) - object.data[j] = $root.meerkat.BatchChunk.toObject(message.data[j], options); - } - return object; - }; - - /** - * Converts this BatchChunkList to JSON. - * @function toJSON - * @memberof meerkat.BatchChunkList - * @instance - * @returns {Object.} JSON object - */ - BatchChunkList.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return BatchChunkList; - })(); - - meerkat.BatchMessage = (function() { - - /** - * Properties of a BatchMessage. - * @memberof meerkat - * @interface IBatchMessage - * @property {number|Long} [batchId] BatchMessage batchId - * @property {number} [serialNum] BatchMessage serialNum - * @property {meerkat.IBatchChunk} [data] BatchMessage data - */ - - /** - * Constructs a new BatchMessage. - * @memberof meerkat - * @classdesc Represents a BatchMessage. - * @constructor - * @param {meerkat.IBatchMessage=} [properties] Properties to set - */ - function BatchMessage(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * BatchMessage batchId. - * @member {number|Long}batchId - * @memberof meerkat.BatchMessage - * @instance - */ - BatchMessage.prototype.batchId = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * BatchMessage serialNum. - * @member {number}serialNum - * @memberof meerkat.BatchMessage - * @instance - */ - BatchMessage.prototype.serialNum = 0; - - /** - * BatchMessage data. - * @member {(meerkat.IBatchChunk|null|undefined)}data - * @memberof meerkat.BatchMessage - * @instance - */ - BatchMessage.prototype.data = null; - - /** - * Creates a new BatchMessage instance using the specified properties. - * @function create - * @memberof meerkat.BatchMessage - * @static - * @param {meerkat.IBatchMessage=} [properties] Properties to set - * @returns {meerkat.BatchMessage} BatchMessage instance - */ - BatchMessage.create = function create(properties) { - return new BatchMessage(properties); - }; - - /** - * Encodes the specified BatchMessage message. Does not implicitly {@link meerkat.BatchMessage.verify|verify} messages. - * @function encode - * @memberof meerkat.BatchMessage - * @static - * @param {meerkat.IBatchMessage} message BatchMessage message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BatchMessage.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.batchId != null && message.hasOwnProperty("batchId")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.batchId); - if (message.serialNum != null && message.hasOwnProperty("serialNum")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.serialNum); - if (message.data != null && message.hasOwnProperty("data")) - $root.meerkat.BatchChunk.encode(message.data, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified BatchMessage message, length delimited. Does not implicitly {@link meerkat.BatchMessage.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.BatchMessage - * @static - * @param {meerkat.IBatchMessage} message BatchMessage message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BatchMessage.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a BatchMessage message from the specified reader or buffer. - * @function decode - * @memberof meerkat.BatchMessage - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.BatchMessage} BatchMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BatchMessage.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.BatchMessage(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.batchId = reader.int64(); - break; - case 2: - message.serialNum = reader.int32(); - break; - case 3: - message.data = $root.meerkat.BatchChunk.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a BatchMessage message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.BatchMessage - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.BatchMessage} BatchMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BatchMessage.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a BatchMessage message. - * @function verify - * @memberof meerkat.BatchMessage - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - BatchMessage.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.batchId != null && message.hasOwnProperty("batchId")) - if (!$util.isInteger(message.batchId) && !(message.batchId && $util.isInteger(message.batchId.low) && $util.isInteger(message.batchId.high))) - return "batchId: integer|Long expected"; - if (message.serialNum != null && message.hasOwnProperty("serialNum")) - if (!$util.isInteger(message.serialNum)) - return "serialNum: integer expected"; - if (message.data != null && message.hasOwnProperty("data")) { - var error = $root.meerkat.BatchChunk.verify(message.data); - if (error) - return "data." + error; - } - return null; - }; - - /** - * Creates a BatchMessage message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.BatchMessage - * @static - * @param {Object.} object Plain object - * @returns {meerkat.BatchMessage} BatchMessage - */ - BatchMessage.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.BatchMessage) - return object; - var message = new $root.meerkat.BatchMessage(); - if (object.batchId != null) - if ($util.Long) - (message.batchId = $util.Long.fromValue(object.batchId)).unsigned = false; - else if (typeof object.batchId === "string") - message.batchId = parseInt(object.batchId, 10); - else if (typeof object.batchId === "number") - message.batchId = object.batchId; - else if (typeof object.batchId === "object") - message.batchId = new $util.LongBits(object.batchId.low >>> 0, object.batchId.high >>> 0).toNumber(); - if (object.serialNum != null) - message.serialNum = object.serialNum | 0; - if (object.data != null) { - if (typeof object.data !== "object") - throw TypeError(".meerkat.BatchMessage.data: object expected"); - message.data = $root.meerkat.BatchChunk.fromObject(object.data); - } - return message; - }; - - /** - * Creates a plain object from a BatchMessage message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.BatchMessage - * @static - * @param {meerkat.BatchMessage} message BatchMessage - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - BatchMessage.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.batchId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.batchId = options.longs === String ? "0" : 0; - object.serialNum = 0; - object.data = null; - } - if (message.batchId != null && message.hasOwnProperty("batchId")) - if (typeof message.batchId === "number") - object.batchId = options.longs === String ? String(message.batchId) : message.batchId; - else - object.batchId = options.longs === String ? $util.Long.prototype.toString.call(message.batchId) : options.longs === Number ? new $util.LongBits(message.batchId.low >>> 0, message.batchId.high >>> 0).toNumber() : message.batchId; - if (message.serialNum != null && message.hasOwnProperty("serialNum")) - object.serialNum = message.serialNum; - if (message.data != null && message.hasOwnProperty("data")) - object.data = $root.meerkat.BatchChunk.toObject(message.data, options); - return object; - }; - - /** - * Converts this BatchMessage to JSON. - * @function toJSON - * @memberof meerkat.BatchMessage - * @instance - * @returns {Object.} JSON object - */ - BatchMessage.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return BatchMessage; - })(); - - meerkat.SingleSyncQuery = (function() { - - /** - * Properties of a SingleSyncQuery. - * @memberof meerkat - * @interface ISingleSyncQuery - * @property {google.protobuf.ITimestamp} [timeOfSync] SingleSyncQuery timeOfSync - * @property {number|Long} [checksum] SingleSyncQuery checksum - */ - - /** - * Constructs a new SingleSyncQuery. - * @memberof meerkat - * @classdesc Represents a SingleSyncQuery. - * @constructor - * @param {meerkat.ISingleSyncQuery=} [properties] Properties to set - */ - function SingleSyncQuery(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * SingleSyncQuery timeOfSync. - * @member {(google.protobuf.ITimestamp|null|undefined)}timeOfSync - * @memberof meerkat.SingleSyncQuery - * @instance - */ - SingleSyncQuery.prototype.timeOfSync = null; - - /** - * SingleSyncQuery checksum. - * @member {number|Long}checksum - * @memberof meerkat.SingleSyncQuery - * @instance - */ - SingleSyncQuery.prototype.checksum = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Creates a new SingleSyncQuery instance using the specified properties. - * @function create - * @memberof meerkat.SingleSyncQuery - * @static - * @param {meerkat.ISingleSyncQuery=} [properties] Properties to set - * @returns {meerkat.SingleSyncQuery} SingleSyncQuery instance - */ - SingleSyncQuery.create = function create(properties) { - return new SingleSyncQuery(properties); - }; - - /** - * Encodes the specified SingleSyncQuery message. Does not implicitly {@link meerkat.SingleSyncQuery.verify|verify} messages. - * @function encode - * @memberof meerkat.SingleSyncQuery - * @static - * @param {meerkat.ISingleSyncQuery} message SingleSyncQuery message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SingleSyncQuery.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.timeOfSync != null && message.hasOwnProperty("timeOfSync")) - $root.google.protobuf.Timestamp.encode(message.timeOfSync, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.checksum != null && message.hasOwnProperty("checksum")) - writer.uint32(/* id 2, wireType 0 =*/16).int64(message.checksum); - return writer; - }; - - /** - * Encodes the specified SingleSyncQuery message, length delimited. Does not implicitly {@link meerkat.SingleSyncQuery.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.SingleSyncQuery - * @static - * @param {meerkat.ISingleSyncQuery} message SingleSyncQuery message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SingleSyncQuery.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a SingleSyncQuery message from the specified reader or buffer. - * @function decode - * @memberof meerkat.SingleSyncQuery - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.SingleSyncQuery} SingleSyncQuery - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SingleSyncQuery.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.SingleSyncQuery(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.timeOfSync = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 2: - message.checksum = reader.int64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a SingleSyncQuery message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.SingleSyncQuery - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.SingleSyncQuery} SingleSyncQuery - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SingleSyncQuery.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a SingleSyncQuery message. - * @function verify - * @memberof meerkat.SingleSyncQuery - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - SingleSyncQuery.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.timeOfSync != null && message.hasOwnProperty("timeOfSync")) { - var error = $root.google.protobuf.Timestamp.verify(message.timeOfSync); - if (error) - return "timeOfSync." + error; - } - if (message.checksum != null && message.hasOwnProperty("checksum")) - if (!$util.isInteger(message.checksum) && !(message.checksum && $util.isInteger(message.checksum.low) && $util.isInteger(message.checksum.high))) - return "checksum: integer|Long expected"; - return null; - }; - - /** - * Creates a SingleSyncQuery message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.SingleSyncQuery - * @static - * @param {Object.} object Plain object - * @returns {meerkat.SingleSyncQuery} SingleSyncQuery - */ - SingleSyncQuery.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.SingleSyncQuery) - return object; - var message = new $root.meerkat.SingleSyncQuery(); - if (object.timeOfSync != null) { - if (typeof object.timeOfSync !== "object") - throw TypeError(".meerkat.SingleSyncQuery.timeOfSync: object expected"); - message.timeOfSync = $root.google.protobuf.Timestamp.fromObject(object.timeOfSync); - } - if (object.checksum != null) - if ($util.Long) - (message.checksum = $util.Long.fromValue(object.checksum)).unsigned = false; - else if (typeof object.checksum === "string") - message.checksum = parseInt(object.checksum, 10); - else if (typeof object.checksum === "number") - message.checksum = object.checksum; - else if (typeof object.checksum === "object") - message.checksum = new $util.LongBits(object.checksum.low >>> 0, object.checksum.high >>> 0).toNumber(); - return message; - }; - - /** - * Creates a plain object from a SingleSyncQuery message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.SingleSyncQuery - * @static - * @param {meerkat.SingleSyncQuery} message SingleSyncQuery - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - SingleSyncQuery.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.timeOfSync = null; - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.checksum = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.checksum = options.longs === String ? "0" : 0; - } - if (message.timeOfSync != null && message.hasOwnProperty("timeOfSync")) - object.timeOfSync = $root.google.protobuf.Timestamp.toObject(message.timeOfSync, options); - if (message.checksum != null && message.hasOwnProperty("checksum")) - if (typeof message.checksum === "number") - object.checksum = options.longs === String ? String(message.checksum) : message.checksum; - else - object.checksum = options.longs === String ? $util.Long.prototype.toString.call(message.checksum) : options.longs === Number ? new $util.LongBits(message.checksum.low >>> 0, message.checksum.high >>> 0).toNumber() : message.checksum; - return object; - }; - - /** - * Converts this SingleSyncQuery to JSON. - * @function toJSON - * @memberof meerkat.SingleSyncQuery - * @instance - * @returns {Object.} JSON object - */ - SingleSyncQuery.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return SingleSyncQuery; - })(); - - meerkat.SyncQuery = (function() { - - /** - * Properties of a SyncQuery. - * @memberof meerkat - * @interface ISyncQuery - * @property {meerkat.IMessageFilterList} [filterList] SyncQuery filterList - * @property {Array.} [query] SyncQuery query - */ - - /** - * Constructs a new SyncQuery. - * @memberof meerkat - * @classdesc Represents a SyncQuery. - * @constructor - * @param {meerkat.ISyncQuery=} [properties] Properties to set - */ - function SyncQuery(properties) { - this.query = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * SyncQuery filterList. - * @member {(meerkat.IMessageFilterList|null|undefined)}filterList - * @memberof meerkat.SyncQuery - * @instance - */ - SyncQuery.prototype.filterList = null; - - /** - * SyncQuery query. - * @member {Array.}query - * @memberof meerkat.SyncQuery - * @instance - */ - SyncQuery.prototype.query = $util.emptyArray; - - /** - * Creates a new SyncQuery instance using the specified properties. - * @function create - * @memberof meerkat.SyncQuery - * @static - * @param {meerkat.ISyncQuery=} [properties] Properties to set - * @returns {meerkat.SyncQuery} SyncQuery instance - */ - SyncQuery.create = function create(properties) { - return new SyncQuery(properties); - }; - - /** - * Encodes the specified SyncQuery message. Does not implicitly {@link meerkat.SyncQuery.verify|verify} messages. - * @function encode - * @memberof meerkat.SyncQuery - * @static - * @param {meerkat.ISyncQuery} message SyncQuery message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SyncQuery.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.filterList != null && message.hasOwnProperty("filterList")) - $root.meerkat.MessageFilterList.encode(message.filterList, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.query != null && message.query.length) - for (var i = 0; i < message.query.length; ++i) - $root.meerkat.SingleSyncQuery.encode(message.query[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified SyncQuery message, length delimited. Does not implicitly {@link meerkat.SyncQuery.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.SyncQuery - * @static - * @param {meerkat.ISyncQuery} message SyncQuery message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SyncQuery.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a SyncQuery message from the specified reader or buffer. - * @function decode - * @memberof meerkat.SyncQuery - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.SyncQuery} SyncQuery - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SyncQuery.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.SyncQuery(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.filterList = $root.meerkat.MessageFilterList.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.query && message.query.length)) - message.query = []; - message.query.push($root.meerkat.SingleSyncQuery.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a SyncQuery message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.SyncQuery - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.SyncQuery} SyncQuery - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SyncQuery.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a SyncQuery message. - * @function verify - * @memberof meerkat.SyncQuery - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - SyncQuery.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.filterList != null && message.hasOwnProperty("filterList")) { - var error = $root.meerkat.MessageFilterList.verify(message.filterList); - if (error) - return "filterList." + error; - } - if (message.query != null && message.hasOwnProperty("query")) { - if (!Array.isArray(message.query)) - return "query: array expected"; - for (var i = 0; i < message.query.length; ++i) { - error = $root.meerkat.SingleSyncQuery.verify(message.query[i]); - if (error) - return "query." + error; - } - } - return null; - }; - - /** - * Creates a SyncQuery message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.SyncQuery - * @static - * @param {Object.} object Plain object - * @returns {meerkat.SyncQuery} SyncQuery - */ - SyncQuery.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.SyncQuery) - return object; - var message = new $root.meerkat.SyncQuery(); - if (object.filterList != null) { - if (typeof object.filterList !== "object") - throw TypeError(".meerkat.SyncQuery.filterList: object expected"); - message.filterList = $root.meerkat.MessageFilterList.fromObject(object.filterList); - } - if (object.query) { - if (!Array.isArray(object.query)) - throw TypeError(".meerkat.SyncQuery.query: array expected"); - message.query = []; - for (var i = 0; i < object.query.length; ++i) { - if (typeof object.query[i] !== "object") - throw TypeError(".meerkat.SyncQuery.query: object expected"); - message.query[i] = $root.meerkat.SingleSyncQuery.fromObject(object.query[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a SyncQuery message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.SyncQuery - * @static - * @param {meerkat.SyncQuery} message SyncQuery - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - SyncQuery.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.query = []; - if (options.defaults) - object.filterList = null; - if (message.filterList != null && message.hasOwnProperty("filterList")) - object.filterList = $root.meerkat.MessageFilterList.toObject(message.filterList, options); - if (message.query && message.query.length) { - object.query = []; - for (var j = 0; j < message.query.length; ++j) - object.query[j] = $root.meerkat.SingleSyncQuery.toObject(message.query[j], options); - } - return object; - }; - - /** - * Converts this SyncQuery to JSON. - * @function toJSON - * @memberof meerkat.SyncQuery - * @instance - * @returns {Object.} JSON object - */ - SyncQuery.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return SyncQuery; - })(); - - meerkat.GenerateSyncQueryParams = (function() { - - /** - * Properties of a GenerateSyncQueryParams. - * @memberof meerkat - * @interface IGenerateSyncQueryParams - * @property {meerkat.IMessageFilterList} [filterList] GenerateSyncQueryParams filterList - * @property {Array.} [breakpointList] GenerateSyncQueryParams breakpointList - */ - - /** - * Constructs a new GenerateSyncQueryParams. - * @memberof meerkat - * @classdesc Represents a GenerateSyncQueryParams. - * @constructor - * @param {meerkat.IGenerateSyncQueryParams=} [properties] Properties to set - */ - function GenerateSyncQueryParams(properties) { - this.breakpointList = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * GenerateSyncQueryParams filterList. - * @member {(meerkat.IMessageFilterList|null|undefined)}filterList - * @memberof meerkat.GenerateSyncQueryParams - * @instance - */ - GenerateSyncQueryParams.prototype.filterList = null; - - /** - * GenerateSyncQueryParams breakpointList. - * @member {Array.}breakpointList - * @memberof meerkat.GenerateSyncQueryParams - * @instance - */ - GenerateSyncQueryParams.prototype.breakpointList = $util.emptyArray; - - /** - * Creates a new GenerateSyncQueryParams instance using the specified properties. - * @function create - * @memberof meerkat.GenerateSyncQueryParams - * @static - * @param {meerkat.IGenerateSyncQueryParams=} [properties] Properties to set - * @returns {meerkat.GenerateSyncQueryParams} GenerateSyncQueryParams instance - */ - GenerateSyncQueryParams.create = function create(properties) { - return new GenerateSyncQueryParams(properties); - }; - - /** - * Encodes the specified GenerateSyncQueryParams message. Does not implicitly {@link meerkat.GenerateSyncQueryParams.verify|verify} messages. - * @function encode - * @memberof meerkat.GenerateSyncQueryParams - * @static - * @param {meerkat.IGenerateSyncQueryParams} message GenerateSyncQueryParams message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GenerateSyncQueryParams.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.filterList != null && message.hasOwnProperty("filterList")) - $root.meerkat.MessageFilterList.encode(message.filterList, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.breakpointList != null && message.breakpointList.length) { - writer.uint32(/* id 2, wireType 2 =*/18).fork(); - for (var i = 0; i < message.breakpointList.length; ++i) - writer.float(message.breakpointList[i]); - writer.ldelim(); - } - return writer; - }; - - /** - * Encodes the specified GenerateSyncQueryParams message, length delimited. Does not implicitly {@link meerkat.GenerateSyncQueryParams.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.GenerateSyncQueryParams - * @static - * @param {meerkat.IGenerateSyncQueryParams} message GenerateSyncQueryParams message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GenerateSyncQueryParams.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GenerateSyncQueryParams message from the specified reader or buffer. - * @function decode - * @memberof meerkat.GenerateSyncQueryParams - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.GenerateSyncQueryParams} GenerateSyncQueryParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GenerateSyncQueryParams.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.GenerateSyncQueryParams(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.filterList = $root.meerkat.MessageFilterList.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.breakpointList && message.breakpointList.length)) - message.breakpointList = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.breakpointList.push(reader.float()); - } else - message.breakpointList.push(reader.float()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GenerateSyncQueryParams message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.GenerateSyncQueryParams - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.GenerateSyncQueryParams} GenerateSyncQueryParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GenerateSyncQueryParams.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GenerateSyncQueryParams message. - * @function verify - * @memberof meerkat.GenerateSyncQueryParams - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GenerateSyncQueryParams.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.filterList != null && message.hasOwnProperty("filterList")) { - var error = $root.meerkat.MessageFilterList.verify(message.filterList); - if (error) - return "filterList." + error; - } - if (message.breakpointList != null && message.hasOwnProperty("breakpointList")) { - if (!Array.isArray(message.breakpointList)) - return "breakpointList: array expected"; - for (var i = 0; i < message.breakpointList.length; ++i) - if (typeof message.breakpointList[i] !== "number") - return "breakpointList: number[] expected"; - } - return null; - }; - - /** - * Creates a GenerateSyncQueryParams message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.GenerateSyncQueryParams - * @static - * @param {Object.} object Plain object - * @returns {meerkat.GenerateSyncQueryParams} GenerateSyncQueryParams - */ - GenerateSyncQueryParams.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.GenerateSyncQueryParams) - return object; - var message = new $root.meerkat.GenerateSyncQueryParams(); - if (object.filterList != null) { - if (typeof object.filterList !== "object") - throw TypeError(".meerkat.GenerateSyncQueryParams.filterList: object expected"); - message.filterList = $root.meerkat.MessageFilterList.fromObject(object.filterList); - } - if (object.breakpointList) { - if (!Array.isArray(object.breakpointList)) - throw TypeError(".meerkat.GenerateSyncQueryParams.breakpointList: array expected"); - message.breakpointList = []; - for (var i = 0; i < object.breakpointList.length; ++i) - message.breakpointList[i] = Number(object.breakpointList[i]); - } - return message; - }; - - /** - * Creates a plain object from a GenerateSyncQueryParams message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.GenerateSyncQueryParams - * @static - * @param {meerkat.GenerateSyncQueryParams} message GenerateSyncQueryParams - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GenerateSyncQueryParams.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.breakpointList = []; - if (options.defaults) - object.filterList = null; - if (message.filterList != null && message.hasOwnProperty("filterList")) - object.filterList = $root.meerkat.MessageFilterList.toObject(message.filterList, options); - if (message.breakpointList && message.breakpointList.length) { - object.breakpointList = []; - for (var j = 0; j < message.breakpointList.length; ++j) - object.breakpointList[j] = options.json && !isFinite(message.breakpointList[j]) ? String(message.breakpointList[j]) : message.breakpointList[j]; - } - return object; - }; - - /** - * Converts this GenerateSyncQueryParams to JSON. - * @function toJSON - * @memberof meerkat.GenerateSyncQueryParams - * @instance - * @returns {Object.} JSON object - */ - GenerateSyncQueryParams.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GenerateSyncQueryParams; - })(); - - meerkat.SyncQueryResponse = (function() { - - /** - * Properties of a SyncQueryResponse. - * @memberof meerkat - * @interface ISyncQueryResponse - * @property {number|Long} [lastEntryNum] SyncQueryResponse lastEntryNum - * @property {google.protobuf.ITimestamp} [lastTimeOfSync] SyncQueryResponse lastTimeOfSync - */ - - /** - * Constructs a new SyncQueryResponse. - * @memberof meerkat - * @classdesc Represents a SyncQueryResponse. - * @constructor - * @param {meerkat.ISyncQueryResponse=} [properties] Properties to set - */ - function SyncQueryResponse(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * SyncQueryResponse lastEntryNum. - * @member {number|Long}lastEntryNum - * @memberof meerkat.SyncQueryResponse - * @instance - */ - SyncQueryResponse.prototype.lastEntryNum = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * SyncQueryResponse lastTimeOfSync. - * @member {(google.protobuf.ITimestamp|null|undefined)}lastTimeOfSync - * @memberof meerkat.SyncQueryResponse - * @instance - */ - SyncQueryResponse.prototype.lastTimeOfSync = null; - - /** - * Creates a new SyncQueryResponse instance using the specified properties. - * @function create - * @memberof meerkat.SyncQueryResponse - * @static - * @param {meerkat.ISyncQueryResponse=} [properties] Properties to set - * @returns {meerkat.SyncQueryResponse} SyncQueryResponse instance - */ - SyncQueryResponse.create = function create(properties) { - return new SyncQueryResponse(properties); - }; - - /** - * Encodes the specified SyncQueryResponse message. Does not implicitly {@link meerkat.SyncQueryResponse.verify|verify} messages. - * @function encode - * @memberof meerkat.SyncQueryResponse - * @static - * @param {meerkat.ISyncQueryResponse} message SyncQueryResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SyncQueryResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.lastEntryNum != null && message.hasOwnProperty("lastEntryNum")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.lastEntryNum); - if (message.lastTimeOfSync != null && message.hasOwnProperty("lastTimeOfSync")) - $root.google.protobuf.Timestamp.encode(message.lastTimeOfSync, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified SyncQueryResponse message, length delimited. Does not implicitly {@link meerkat.SyncQueryResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.SyncQueryResponse - * @static - * @param {meerkat.ISyncQueryResponse} message SyncQueryResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SyncQueryResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a SyncQueryResponse message from the specified reader or buffer. - * @function decode - * @memberof meerkat.SyncQueryResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.SyncQueryResponse} SyncQueryResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SyncQueryResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.SyncQueryResponse(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.lastEntryNum = reader.int64(); - break; - case 2: - message.lastTimeOfSync = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a SyncQueryResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.SyncQueryResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.SyncQueryResponse} SyncQueryResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SyncQueryResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a SyncQueryResponse message. - * @function verify - * @memberof meerkat.SyncQueryResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - SyncQueryResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.lastEntryNum != null && message.hasOwnProperty("lastEntryNum")) - if (!$util.isInteger(message.lastEntryNum) && !(message.lastEntryNum && $util.isInteger(message.lastEntryNum.low) && $util.isInteger(message.lastEntryNum.high))) - return "lastEntryNum: integer|Long expected"; - if (message.lastTimeOfSync != null && message.hasOwnProperty("lastTimeOfSync")) { - var error = $root.google.protobuf.Timestamp.verify(message.lastTimeOfSync); - if (error) - return "lastTimeOfSync." + error; - } - return null; - }; - - /** - * Creates a SyncQueryResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.SyncQueryResponse - * @static - * @param {Object.} object Plain object - * @returns {meerkat.SyncQueryResponse} SyncQueryResponse - */ - SyncQueryResponse.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.SyncQueryResponse) - return object; - var message = new $root.meerkat.SyncQueryResponse(); - if (object.lastEntryNum != null) - if ($util.Long) - (message.lastEntryNum = $util.Long.fromValue(object.lastEntryNum)).unsigned = false; - else if (typeof object.lastEntryNum === "string") - message.lastEntryNum = parseInt(object.lastEntryNum, 10); - else if (typeof object.lastEntryNum === "number") - message.lastEntryNum = object.lastEntryNum; - else if (typeof object.lastEntryNum === "object") - message.lastEntryNum = new $util.LongBits(object.lastEntryNum.low >>> 0, object.lastEntryNum.high >>> 0).toNumber(); - if (object.lastTimeOfSync != null) { - if (typeof object.lastTimeOfSync !== "object") - throw TypeError(".meerkat.SyncQueryResponse.lastTimeOfSync: object expected"); - message.lastTimeOfSync = $root.google.protobuf.Timestamp.fromObject(object.lastTimeOfSync); - } - return message; - }; - - /** - * Creates a plain object from a SyncQueryResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.SyncQueryResponse - * @static - * @param {meerkat.SyncQueryResponse} message SyncQueryResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - SyncQueryResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.lastEntryNum = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.lastEntryNum = options.longs === String ? "0" : 0; - object.lastTimeOfSync = null; - } - if (message.lastEntryNum != null && message.hasOwnProperty("lastEntryNum")) - if (typeof message.lastEntryNum === "number") - object.lastEntryNum = options.longs === String ? String(message.lastEntryNum) : message.lastEntryNum; - else - object.lastEntryNum = options.longs === String ? $util.Long.prototype.toString.call(message.lastEntryNum) : options.longs === Number ? new $util.LongBits(message.lastEntryNum.low >>> 0, message.lastEntryNum.high >>> 0).toNumber() : message.lastEntryNum; - if (message.lastTimeOfSync != null && message.hasOwnProperty("lastTimeOfSync")) - object.lastTimeOfSync = $root.google.protobuf.Timestamp.toObject(message.lastTimeOfSync, options); - return object; - }; - - /** - * Converts this SyncQueryResponse to JSON. - * @function toJSON - * @memberof meerkat.SyncQueryResponse - * @instance - * @returns {Object.} JSON object - */ - SyncQueryResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return SyncQueryResponse; - })(); - - meerkat.BatchQuery = (function() { - - /** - * Properties of a BatchQuery. - * @memberof meerkat - * @interface IBatchQuery - * @property {meerkat.IMessageID} [msgID] BatchQuery msgID - * @property {number} [startPosition] BatchQuery startPosition - */ - - /** - * Constructs a new BatchQuery. - * @memberof meerkat - * @classdesc Represents a BatchQuery. - * @constructor - * @param {meerkat.IBatchQuery=} [properties] Properties to set - */ - function BatchQuery(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * BatchQuery msgID. - * @member {(meerkat.IMessageID|null|undefined)}msgID - * @memberof meerkat.BatchQuery - * @instance - */ - BatchQuery.prototype.msgID = null; - - /** - * BatchQuery startPosition. - * @member {number}startPosition - * @memberof meerkat.BatchQuery - * @instance - */ - BatchQuery.prototype.startPosition = 0; - - /** - * Creates a new BatchQuery instance using the specified properties. - * @function create - * @memberof meerkat.BatchQuery - * @static - * @param {meerkat.IBatchQuery=} [properties] Properties to set - * @returns {meerkat.BatchQuery} BatchQuery instance - */ - BatchQuery.create = function create(properties) { - return new BatchQuery(properties); - }; - - /** - * Encodes the specified BatchQuery message. Does not implicitly {@link meerkat.BatchQuery.verify|verify} messages. - * @function encode - * @memberof meerkat.BatchQuery - * @static - * @param {meerkat.IBatchQuery} message BatchQuery message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BatchQuery.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.msgID != null && message.hasOwnProperty("msgID")) - $root.meerkat.MessageID.encode(message.msgID, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.startPosition != null && message.hasOwnProperty("startPosition")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.startPosition); - return writer; - }; - - /** - * Encodes the specified BatchQuery message, length delimited. Does not implicitly {@link meerkat.BatchQuery.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.BatchQuery - * @static - * @param {meerkat.IBatchQuery} message BatchQuery message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BatchQuery.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a BatchQuery message from the specified reader or buffer. - * @function decode - * @memberof meerkat.BatchQuery - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.BatchQuery} BatchQuery - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BatchQuery.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.BatchQuery(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.msgID = $root.meerkat.MessageID.decode(reader, reader.uint32()); - break; - case 2: - message.startPosition = reader.int32(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a BatchQuery message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.BatchQuery - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.BatchQuery} BatchQuery - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BatchQuery.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a BatchQuery message. - * @function verify - * @memberof meerkat.BatchQuery - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - BatchQuery.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.msgID != null && message.hasOwnProperty("msgID")) { - var error = $root.meerkat.MessageID.verify(message.msgID); - if (error) - return "msgID." + error; - } - if (message.startPosition != null && message.hasOwnProperty("startPosition")) - if (!$util.isInteger(message.startPosition)) - return "startPosition: integer expected"; - return null; - }; - - /** - * Creates a BatchQuery message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.BatchQuery - * @static - * @param {Object.} object Plain object - * @returns {meerkat.BatchQuery} BatchQuery - */ - BatchQuery.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.BatchQuery) - return object; - var message = new $root.meerkat.BatchQuery(); - if (object.msgID != null) { - if (typeof object.msgID !== "object") - throw TypeError(".meerkat.BatchQuery.msgID: object expected"); - message.msgID = $root.meerkat.MessageID.fromObject(object.msgID); - } - if (object.startPosition != null) - message.startPosition = object.startPosition | 0; - return message; - }; - - /** - * Creates a plain object from a BatchQuery message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.BatchQuery - * @static - * @param {meerkat.BatchQuery} message BatchQuery - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - BatchQuery.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.msgID = null; - object.startPosition = 0; - } - if (message.msgID != null && message.hasOwnProperty("msgID")) - object.msgID = $root.meerkat.MessageID.toObject(message.msgID, options); - if (message.startPosition != null && message.hasOwnProperty("startPosition")) - object.startPosition = message.startPosition; - return object; - }; - - /** - * Converts this BatchQuery to JSON. - * @function toJSON - * @memberof meerkat.BatchQuery - * @instance - * @returns {Object.} JSON object - */ - BatchQuery.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return BatchQuery; - })(); - - meerkat.ServerStatus = (function() { - - /** - * Properties of a ServerStatus. - * @memberof meerkat - * @interface IServerStatus - * @property {meerkat.ServerStatus.Mode} [mode] ServerStatus mode - * @property {string} [name] ServerStatus name - * @property {meerkat.ISignatureVerificationKey} [pk] ServerStatus pk - */ - - /** - * Constructs a new ServerStatus. - * @memberof meerkat - * @classdesc Represents a ServerStatus. - * @constructor - * @param {meerkat.IServerStatus=} [properties] Properties to set - */ - function ServerStatus(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ServerStatus mode. - * @member {meerkat.ServerStatus.Mode}mode - * @memberof meerkat.ServerStatus - * @instance - */ - ServerStatus.prototype.mode = 0; - - /** - * ServerStatus name. - * @member {string}name - * @memberof meerkat.ServerStatus - * @instance - */ - ServerStatus.prototype.name = ""; - - /** - * ServerStatus pk. - * @member {(meerkat.ISignatureVerificationKey|null|undefined)}pk - * @memberof meerkat.ServerStatus - * @instance - */ - ServerStatus.prototype.pk = null; - - /** - * Creates a new ServerStatus instance using the specified properties. - * @function create - * @memberof meerkat.ServerStatus - * @static - * @param {meerkat.IServerStatus=} [properties] Properties to set - * @returns {meerkat.ServerStatus} ServerStatus instance - */ - ServerStatus.create = function create(properties) { - return new ServerStatus(properties); - }; - - /** - * Encodes the specified ServerStatus message. Does not implicitly {@link meerkat.ServerStatus.verify|verify} messages. - * @function encode - * @memberof meerkat.ServerStatus - * @static - * @param {meerkat.IServerStatus} message ServerStatus message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ServerStatus.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.mode != null && message.hasOwnProperty("mode")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.mode); - if (message.name != null && message.hasOwnProperty("name")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.name); - if (message.pk != null && message.hasOwnProperty("pk")) - $root.meerkat.SignatureVerificationKey.encode(message.pk, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified ServerStatus message, length delimited. Does not implicitly {@link meerkat.ServerStatus.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.ServerStatus - * @static - * @param {meerkat.IServerStatus} message ServerStatus message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ServerStatus.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ServerStatus message from the specified reader or buffer. - * @function decode - * @memberof meerkat.ServerStatus - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.ServerStatus} ServerStatus - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ServerStatus.decode = function decode(reader, length) { - console.log("Decoding", reader); - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - - console.log("Len", reader.len); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.ServerStatus(); - - while (reader.pos < end) { - - - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.mode = reader.int32(); - break; - case 2: - message.name = reader.string(); - break; - case 3: - message.pk = $root.meerkat.SignatureVerificationKey.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ServerStatus message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.ServerStatus - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.ServerStatus} ServerStatus - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ServerStatus.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ServerStatus message. - * @function verify - * @memberof meerkat.ServerStatus - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ServerStatus.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.mode != null && message.hasOwnProperty("mode")) - switch (message.mode) { - default: - return "mode: enum value expected"; - case 0: - case 1: - case 2: - break; - } - if (message.name != null && message.hasOwnProperty("name")) - if (!$util.isString(message.name)) - return "name: string expected"; - if (message.pk != null && message.hasOwnProperty("pk")) { - var error = $root.meerkat.SignatureVerificationKey.verify(message.pk); - if (error) - return "pk." + error; - } - return null; - }; - - /** - * Creates a ServerStatus message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.ServerStatus - * @static - * @param {Object.} object Plain object - * @returns {meerkat.ServerStatus} ServerStatus - */ - ServerStatus.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.ServerStatus) - return object; - var message = new $root.meerkat.ServerStatus(); - switch (object.mode) { - case "MODE_SETUP_AUTH": - case 0: - message.mode = 0; - break; - case "MODE_SETUP_DB": - case 1: - message.mode = 1; - break; - case "MODE_RUNNING": - case 2: - message.mode = 2; - break; - } - if (object.name != null) - message.name = String(object.name); - if (object.pk != null) { - if (typeof object.pk !== "object") - throw TypeError(".meerkat.ServerStatus.pk: object expected"); - message.pk = $root.meerkat.SignatureVerificationKey.fromObject(object.pk); - } - return message; - }; - - /** - * Creates a plain object from a ServerStatus message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.ServerStatus - * @static - * @param {meerkat.ServerStatus} message ServerStatus - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ServerStatus.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.mode = options.enums === String ? "MODE_SETUP_AUTH" : 0; - object.name = ""; - object.pk = null; - } - if (message.mode != null && message.hasOwnProperty("mode")) - object.mode = options.enums === String ? $root.meerkat.ServerStatus.Mode[message.mode] : message.mode; - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.pk != null && message.hasOwnProperty("pk")) - object.pk = $root.meerkat.SignatureVerificationKey.toObject(message.pk, options); - return object; - }; - - /** - * Converts this ServerStatus to JSON. - * @function toJSON - * @memberof meerkat.ServerStatus - * @instance - * @returns {Object.} JSON object - */ - ServerStatus.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Mode enum. - * @enum {string} - * @property {number} MODE_SETUP_AUTH=0 MODE_SETUP_AUTH value - * @property {number} MODE_SETUP_DB=1 MODE_SETUP_DB value - * @property {number} MODE_RUNNING=2 MODE_RUNNING value - */ - ServerStatus.Mode = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "MODE_SETUP_AUTH"] = 0; - values[valuesById[1] = "MODE_SETUP_DB"] = 1; - values[valuesById[2] = "MODE_RUNNING"] = 2; - return values; - })(); - - return ServerStatus; - })(); - - meerkat.BroadcastMessage = (function() { - - /** - * Properties of a BroadcastMessage. - * @memberof meerkat - * @interface IBroadcastMessage - * @property {number} [sender] BroadcastMessage sender - * @property {number} [destination] BroadcastMessage destination - * @property {boolean} [isPrivate] BroadcastMessage isPrivate - * @property {Uint8Array} [payload] BroadcastMessage payload - */ - - /** - * Constructs a new BroadcastMessage. - * @memberof meerkat - * @classdesc Represents a BroadcastMessage. - * @constructor - * @param {meerkat.IBroadcastMessage=} [properties] Properties to set - */ - function BroadcastMessage(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * BroadcastMessage sender. - * @member {number}sender - * @memberof meerkat.BroadcastMessage - * @instance - */ - BroadcastMessage.prototype.sender = 0; - - /** - * BroadcastMessage destination. - * @member {number}destination - * @memberof meerkat.BroadcastMessage - * @instance - */ - BroadcastMessage.prototype.destination = 0; - - /** - * BroadcastMessage isPrivate. - * @member {boolean}isPrivate - * @memberof meerkat.BroadcastMessage - * @instance - */ - BroadcastMessage.prototype.isPrivate = false; - - /** - * BroadcastMessage payload. - * @member {Uint8Array}payload - * @memberof meerkat.BroadcastMessage - * @instance - */ - BroadcastMessage.prototype.payload = $util.newBuffer([]); - - /** - * Creates a new BroadcastMessage instance using the specified properties. - * @function create - * @memberof meerkat.BroadcastMessage - * @static - * @param {meerkat.IBroadcastMessage=} [properties] Properties to set - * @returns {meerkat.BroadcastMessage} BroadcastMessage instance - */ - BroadcastMessage.create = function create(properties) { - return new BroadcastMessage(properties); - }; - - /** - * Encodes the specified BroadcastMessage message. Does not implicitly {@link meerkat.BroadcastMessage.verify|verify} messages. - * @function encode - * @memberof meerkat.BroadcastMessage - * @static - * @param {meerkat.IBroadcastMessage} message BroadcastMessage message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BroadcastMessage.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.sender != null && message.hasOwnProperty("sender")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.sender); - if (message.destination != null && message.hasOwnProperty("destination")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.destination); - if (message.isPrivate != null && message.hasOwnProperty("isPrivate")) - writer.uint32(/* id 3, wireType 0 =*/24).bool(message.isPrivate); - if (message.payload != null && message.hasOwnProperty("payload")) - writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.payload); - return writer; - }; - - /** - * Encodes the specified BroadcastMessage message, length delimited. Does not implicitly {@link meerkat.BroadcastMessage.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.BroadcastMessage - * @static - * @param {meerkat.IBroadcastMessage} message BroadcastMessage message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BroadcastMessage.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a BroadcastMessage message from the specified reader or buffer. - * @function decode - * @memberof meerkat.BroadcastMessage - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.BroadcastMessage} BroadcastMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BroadcastMessage.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.BroadcastMessage(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.sender = reader.int32(); - break; - case 2: - message.destination = reader.int32(); - break; - case 3: - message.isPrivate = reader.bool(); - break; - case 5: - message.payload = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a BroadcastMessage message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.BroadcastMessage - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.BroadcastMessage} BroadcastMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BroadcastMessage.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a BroadcastMessage message. - * @function verify - * @memberof meerkat.BroadcastMessage - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - BroadcastMessage.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.sender != null && message.hasOwnProperty("sender")) - if (!$util.isInteger(message.sender)) - return "sender: integer expected"; - if (message.destination != null && message.hasOwnProperty("destination")) - if (!$util.isInteger(message.destination)) - return "destination: integer expected"; - if (message.isPrivate != null && message.hasOwnProperty("isPrivate")) - if (typeof message.isPrivate !== "boolean") - return "isPrivate: boolean expected"; - if (message.payload != null && message.hasOwnProperty("payload")) - if (!(message.payload && typeof message.payload.length === "number" || $util.isString(message.payload))) - return "payload: buffer expected"; - return null; - }; - - /** - * Creates a BroadcastMessage message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.BroadcastMessage - * @static - * @param {Object.} object Plain object - * @returns {meerkat.BroadcastMessage} BroadcastMessage - */ - BroadcastMessage.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.BroadcastMessage) - return object; - var message = new $root.meerkat.BroadcastMessage(); - if (object.sender != null) - message.sender = object.sender | 0; - if (object.destination != null) - message.destination = object.destination | 0; - if (object.isPrivate != null) - message.isPrivate = Boolean(object.isPrivate); - if (object.payload != null) - if (typeof object.payload === "string") - $util.base64.decode(object.payload, message.payload = $util.newBuffer($util.base64.length(object.payload)), 0); - else if (object.payload.length) - message.payload = object.payload; - return message; - }; - - /** - * Creates a plain object from a BroadcastMessage message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.BroadcastMessage - * @static - * @param {meerkat.BroadcastMessage} message BroadcastMessage - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - BroadcastMessage.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.sender = 0; - object.destination = 0; - object.isPrivate = false; - object.payload = options.bytes === String ? "" : []; - } - if (message.sender != null && message.hasOwnProperty("sender")) - object.sender = message.sender; - if (message.destination != null && message.hasOwnProperty("destination")) - object.destination = message.destination; - if (message.isPrivate != null && message.hasOwnProperty("isPrivate")) - object.isPrivate = message.isPrivate; - if (message.payload != null && message.hasOwnProperty("payload")) - object.payload = options.bytes === String ? $util.base64.encode(message.payload, 0, message.payload.length) : options.bytes === Array ? Array.prototype.slice.call(message.payload) : message.payload; - return object; - }; - - /** - * Converts this BroadcastMessage to JSON. - * @function toJSON - * @memberof meerkat.BroadcastMessage - * @instance - * @returns {Object.} JSON object - */ - BroadcastMessage.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return BroadcastMessage; - })(); - - meerkat.ElGamalPublicKey = (function() { - - /** - * Properties of an ElGamalPublicKey. - * @memberof meerkat - * @interface IElGamalPublicKey - * @property {Uint8Array} [subjectPublicKeyInfo] ElGamalPublicKey subjectPublicKeyInfo - */ - - /** - * Constructs a new ElGamalPublicKey. - * @memberof meerkat - * @classdesc Represents an ElGamalPublicKey. - * @constructor - * @param {meerkat.IElGamalPublicKey=} [properties] Properties to set - */ - function ElGamalPublicKey(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ElGamalPublicKey subjectPublicKeyInfo. - * @member {Uint8Array}subjectPublicKeyInfo - * @memberof meerkat.ElGamalPublicKey - * @instance - */ - ElGamalPublicKey.prototype.subjectPublicKeyInfo = $util.newBuffer([]); - - /** - * Creates a new ElGamalPublicKey instance using the specified properties. - * @function create - * @memberof meerkat.ElGamalPublicKey - * @static - * @param {meerkat.IElGamalPublicKey=} [properties] Properties to set - * @returns {meerkat.ElGamalPublicKey} ElGamalPublicKey instance - */ - ElGamalPublicKey.create = function create(properties) { - return new ElGamalPublicKey(properties); - }; - - /** - * Encodes the specified ElGamalPublicKey message. Does not implicitly {@link meerkat.ElGamalPublicKey.verify|verify} messages. - * @function encode - * @memberof meerkat.ElGamalPublicKey - * @static - * @param {meerkat.IElGamalPublicKey} message ElGamalPublicKey message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ElGamalPublicKey.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.subjectPublicKeyInfo != null && message.hasOwnProperty("subjectPublicKeyInfo")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.subjectPublicKeyInfo); - return writer; - }; - - /** - * Encodes the specified ElGamalPublicKey message, length delimited. Does not implicitly {@link meerkat.ElGamalPublicKey.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.ElGamalPublicKey - * @static - * @param {meerkat.IElGamalPublicKey} message ElGamalPublicKey message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ElGamalPublicKey.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an ElGamalPublicKey message from the specified reader or buffer. - * @function decode - * @memberof meerkat.ElGamalPublicKey - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.ElGamalPublicKey} ElGamalPublicKey - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ElGamalPublicKey.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.ElGamalPublicKey(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.subjectPublicKeyInfo = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an ElGamalPublicKey message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.ElGamalPublicKey - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.ElGamalPublicKey} ElGamalPublicKey - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ElGamalPublicKey.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an ElGamalPublicKey message. - * @function verify - * @memberof meerkat.ElGamalPublicKey - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ElGamalPublicKey.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.subjectPublicKeyInfo != null && message.hasOwnProperty("subjectPublicKeyInfo")) - if (!(message.subjectPublicKeyInfo && typeof message.subjectPublicKeyInfo.length === "number" || $util.isString(message.subjectPublicKeyInfo))) - return "subjectPublicKeyInfo: buffer expected"; - return null; - }; - - /** - * Creates an ElGamalPublicKey message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.ElGamalPublicKey - * @static - * @param {Object.} object Plain object - * @returns {meerkat.ElGamalPublicKey} ElGamalPublicKey - */ - ElGamalPublicKey.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.ElGamalPublicKey) - return object; - var message = new $root.meerkat.ElGamalPublicKey(); - if (object.subjectPublicKeyInfo != null) - if (typeof object.subjectPublicKeyInfo === "string") - $util.base64.decode(object.subjectPublicKeyInfo, message.subjectPublicKeyInfo = $util.newBuffer($util.base64.length(object.subjectPublicKeyInfo)), 0); - else if (object.subjectPublicKeyInfo.length) - message.subjectPublicKeyInfo = object.subjectPublicKeyInfo; - return message; - }; - - /** - * Creates a plain object from an ElGamalPublicKey message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.ElGamalPublicKey - * @static - * @param {meerkat.ElGamalPublicKey} message ElGamalPublicKey - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ElGamalPublicKey.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.subjectPublicKeyInfo = options.bytes === String ? "" : []; - if (message.subjectPublicKeyInfo != null && message.hasOwnProperty("subjectPublicKeyInfo")) - object.subjectPublicKeyInfo = options.bytes === String ? $util.base64.encode(message.subjectPublicKeyInfo, 0, message.subjectPublicKeyInfo.length) : options.bytes === Array ? Array.prototype.slice.call(message.subjectPublicKeyInfo) : message.subjectPublicKeyInfo; - return object; - }; - - /** - * Converts this ElGamalPublicKey to JSON. - * @function toJSON - * @memberof meerkat.ElGamalPublicKey - * @instance - * @returns {Object.} JSON object - */ - ElGamalPublicKey.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ElGamalPublicKey; - })(); - - meerkat.GroupElement = (function() { - - /** - * Properties of a GroupElement. - * @memberof meerkat - * @interface IGroupElement - * @property {Uint8Array} [data] GroupElement data - */ - - /** - * Constructs a new GroupElement. - * @memberof meerkat - * @classdesc Represents a GroupElement. - * @constructor - * @param {meerkat.IGroupElement=} [properties] Properties to set - */ - function GroupElement(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * GroupElement data. - * @member {Uint8Array}data - * @memberof meerkat.GroupElement - * @instance - */ - GroupElement.prototype.data = $util.newBuffer([]); - - /** - * Creates a new GroupElement instance using the specified properties. - * @function create - * @memberof meerkat.GroupElement - * @static - * @param {meerkat.IGroupElement=} [properties] Properties to set - * @returns {meerkat.GroupElement} GroupElement instance - */ - GroupElement.create = function create(properties) { - return new GroupElement(properties); - }; - - /** - * Encodes the specified GroupElement message. Does not implicitly {@link meerkat.GroupElement.verify|verify} messages. - * @function encode - * @memberof meerkat.GroupElement - * @static - * @param {meerkat.IGroupElement} message GroupElement message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GroupElement.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.data != null && message.hasOwnProperty("data")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.data); - return writer; - }; - - /** - * Encodes the specified GroupElement message, length delimited. Does not implicitly {@link meerkat.GroupElement.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.GroupElement - * @static - * @param {meerkat.IGroupElement} message GroupElement message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GroupElement.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GroupElement message from the specified reader or buffer. - * @function decode - * @memberof meerkat.GroupElement - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.GroupElement} GroupElement - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GroupElement.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.GroupElement(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.data = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GroupElement message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.GroupElement - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.GroupElement} GroupElement - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GroupElement.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GroupElement message. - * @function verify - * @memberof meerkat.GroupElement - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GroupElement.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.data != null && message.hasOwnProperty("data")) - if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) - return "data: buffer expected"; - return null; - }; - - /** - * Creates a GroupElement message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.GroupElement - * @static - * @param {Object.} object Plain object - * @returns {meerkat.GroupElement} GroupElement - */ - GroupElement.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.GroupElement) - return object; - var message = new $root.meerkat.GroupElement(); - if (object.data != null) - if (typeof object.data === "string") - $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); - else if (object.data.length) - message.data = object.data; - return message; - }; - - /** - * Creates a plain object from a GroupElement message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.GroupElement - * @static - * @param {meerkat.GroupElement} message GroupElement - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GroupElement.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.data = options.bytes === String ? "" : []; - if (message.data != null && message.hasOwnProperty("data")) - object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; - return object; - }; - - /** - * Converts this GroupElement to JSON. - * @function toJSON - * @memberof meerkat.GroupElement - * @instance - * @returns {Object.} JSON object - */ - GroupElement.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GroupElement; - })(); - - meerkat.ElGamalCiphertext = (function() { - - /** - * Properties of an ElGamalCiphertext. - * @memberof meerkat - * @interface IElGamalCiphertext - * @property {meerkat.IGroupElement} [c1] ElGamalCiphertext c1 - * @property {meerkat.IGroupElement} [c2] ElGamalCiphertext c2 - */ - - /** - * Constructs a new ElGamalCiphertext. - * @memberof meerkat - * @classdesc Represents an ElGamalCiphertext. - * @constructor - * @param {meerkat.IElGamalCiphertext=} [properties] Properties to set - */ - function ElGamalCiphertext(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ElGamalCiphertext c1. - * @member {(meerkat.IGroupElement|null|undefined)}c1 - * @memberof meerkat.ElGamalCiphertext - * @instance - */ - ElGamalCiphertext.prototype.c1 = null; - - /** - * ElGamalCiphertext c2. - * @member {(meerkat.IGroupElement|null|undefined)}c2 - * @memberof meerkat.ElGamalCiphertext - * @instance - */ - ElGamalCiphertext.prototype.c2 = null; - - /** - * Creates a new ElGamalCiphertext instance using the specified properties. - * @function create - * @memberof meerkat.ElGamalCiphertext - * @static - * @param {meerkat.IElGamalCiphertext=} [properties] Properties to set - * @returns {meerkat.ElGamalCiphertext} ElGamalCiphertext instance - */ - ElGamalCiphertext.create = function create(properties) { - return new ElGamalCiphertext(properties); - }; - - /** - * Encodes the specified ElGamalCiphertext message. Does not implicitly {@link meerkat.ElGamalCiphertext.verify|verify} messages. - * @function encode - * @memberof meerkat.ElGamalCiphertext - * @static - * @param {meerkat.IElGamalCiphertext} message ElGamalCiphertext message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ElGamalCiphertext.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.c1 != null && message.hasOwnProperty("c1")) - $root.meerkat.GroupElement.encode(message.c1, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.c2 != null && message.hasOwnProperty("c2")) - $root.meerkat.GroupElement.encode(message.c2, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified ElGamalCiphertext message, length delimited. Does not implicitly {@link meerkat.ElGamalCiphertext.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.ElGamalCiphertext - * @static - * @param {meerkat.IElGamalCiphertext} message ElGamalCiphertext message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ElGamalCiphertext.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an ElGamalCiphertext message from the specified reader or buffer. - * @function decode - * @memberof meerkat.ElGamalCiphertext - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.ElGamalCiphertext} ElGamalCiphertext - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ElGamalCiphertext.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.ElGamalCiphertext(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.c1 = $root.meerkat.GroupElement.decode(reader, reader.uint32()); - break; - case 2: - message.c2 = $root.meerkat.GroupElement.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an ElGamalCiphertext message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.ElGamalCiphertext - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.ElGamalCiphertext} ElGamalCiphertext - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ElGamalCiphertext.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an ElGamalCiphertext message. - * @function verify - * @memberof meerkat.ElGamalCiphertext - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ElGamalCiphertext.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.c1 != null && message.hasOwnProperty("c1")) { - var error = $root.meerkat.GroupElement.verify(message.c1); - if (error) - return "c1." + error; - } - if (message.c2 != null && message.hasOwnProperty("c2")) { - error = $root.meerkat.GroupElement.verify(message.c2); - if (error) - return "c2." + error; - } - return null; - }; - - /** - * Creates an ElGamalCiphertext message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.ElGamalCiphertext - * @static - * @param {Object.} object Plain object - * @returns {meerkat.ElGamalCiphertext} ElGamalCiphertext - */ - ElGamalCiphertext.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.ElGamalCiphertext) - return object; - var message = new $root.meerkat.ElGamalCiphertext(); - if (object.c1 != null) { - if (typeof object.c1 !== "object") - throw TypeError(".meerkat.ElGamalCiphertext.c1: object expected"); - message.c1 = $root.meerkat.GroupElement.fromObject(object.c1); - } - if (object.c2 != null) { - if (typeof object.c2 !== "object") - throw TypeError(".meerkat.ElGamalCiphertext.c2: object expected"); - message.c2 = $root.meerkat.GroupElement.fromObject(object.c2); - } - return message; - }; - - /** - * Creates a plain object from an ElGamalCiphertext message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.ElGamalCiphertext - * @static - * @param {meerkat.ElGamalCiphertext} message ElGamalCiphertext - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ElGamalCiphertext.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.c1 = null; - object.c2 = null; - } - if (message.c1 != null && message.hasOwnProperty("c1")) - object.c1 = $root.meerkat.GroupElement.toObject(message.c1, options); - if (message.c2 != null && message.hasOwnProperty("c2")) - object.c2 = $root.meerkat.GroupElement.toObject(message.c2, options); - return object; - }; - - /** - * Converts this ElGamalCiphertext to JSON. - * @function toJSON - * @memberof meerkat.ElGamalCiphertext - * @instance - * @returns {Object.} JSON object - */ - ElGamalCiphertext.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ElGamalCiphertext; - })(); - - /** - * SignatureType enum. - * @enum {string} - * @property {number} ECDSA=0 ECDSA value - * @property {number} DSA=1 DSA value - * @property {number} RSA=2 RSA value - */ - meerkat.SignatureType = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "ECDSA"] = 0; - values[valuesById[1] = "DSA"] = 1; - values[valuesById[2] = "RSA"] = 2; - return values; - })(); - - meerkat.BigInteger = (function() { - - /** - * Properties of a BigInteger. - * @memberof meerkat - * @interface IBigInteger - * @property {Uint8Array} [data] BigInteger data - */ - - /** - * Constructs a new BigInteger. - * @memberof meerkat - * @classdesc Represents a BigInteger. - * @constructor - * @param {meerkat.IBigInteger=} [properties] Properties to set - */ - function BigInteger(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * BigInteger data. - * @member {Uint8Array}data - * @memberof meerkat.BigInteger - * @instance - */ - BigInteger.prototype.data = $util.newBuffer([]); - - /** - * Creates a new BigInteger instance using the specified properties. - * @function create - * @memberof meerkat.BigInteger - * @static - * @param {meerkat.IBigInteger=} [properties] Properties to set - * @returns {meerkat.BigInteger} BigInteger instance - */ - BigInteger.create = function create(properties) { - return new BigInteger(properties); - }; - - /** - * Encodes the specified BigInteger message. Does not implicitly {@link meerkat.BigInteger.verify|verify} messages. - * @function encode - * @memberof meerkat.BigInteger - * @static - * @param {meerkat.IBigInteger} message BigInteger message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BigInteger.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.data != null && message.hasOwnProperty("data")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.data); - return writer; - }; - - /** - * Encodes the specified BigInteger message, length delimited. Does not implicitly {@link meerkat.BigInteger.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.BigInteger - * @static - * @param {meerkat.IBigInteger} message BigInteger message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BigInteger.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a BigInteger message from the specified reader or buffer. - * @function decode - * @memberof meerkat.BigInteger - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.BigInteger} BigInteger - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BigInteger.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.BigInteger(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.data = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a BigInteger message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.BigInteger - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.BigInteger} BigInteger - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BigInteger.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a BigInteger message. - * @function verify - * @memberof meerkat.BigInteger - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - BigInteger.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.data != null && message.hasOwnProperty("data")) - if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) - return "data: buffer expected"; - return null; - }; - - /** - * Creates a BigInteger message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.BigInteger - * @static - * @param {Object.} object Plain object - * @returns {meerkat.BigInteger} BigInteger - */ - BigInteger.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.BigInteger) - return object; - var message = new $root.meerkat.BigInteger(); - if (object.data != null) - if (typeof object.data === "string") - $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); - else if (object.data.length) - message.data = object.data; - return message; - }; - - /** - * Creates a plain object from a BigInteger message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.BigInteger - * @static - * @param {meerkat.BigInteger} message BigInteger - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - BigInteger.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.data = options.bytes === String ? "" : []; - if (message.data != null && message.hasOwnProperty("data")) - object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; - return object; - }; - - /** - * Converts this BigInteger to JSON. - * @function toJSON - * @memberof meerkat.BigInteger - * @instance - * @returns {Object.} JSON object - */ - BigInteger.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return BigInteger; - })(); - - meerkat.Signature = (function() { - - /** - * Properties of a Signature. - * @memberof meerkat - * @interface ISignature - * @property {meerkat.SignatureType} [type] Signature type - * @property {Uint8Array} [data] Signature data - * @property {Uint8Array} [signerId] Signature signerId - */ - - /** - * Constructs a new Signature. - * @memberof meerkat - * @classdesc Represents a Signature. - * @constructor - * @param {meerkat.ISignature=} [properties] Properties to set - */ - function Signature(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Signature type. - * @member {meerkat.SignatureType}type - * @memberof meerkat.Signature - * @instance - */ - Signature.prototype.type = 0; - - /** - * Signature data. - * @member {Uint8Array}data - * @memberof meerkat.Signature - * @instance - */ - Signature.prototype.data = $util.newBuffer([]); - - /** - * Signature signerId. - * @member {Uint8Array}signerId - * @memberof meerkat.Signature - * @instance - */ - Signature.prototype.signerId = $util.newBuffer([]); - - /** - * Creates a new Signature instance using the specified properties. - * @function create - * @memberof meerkat.Signature - * @static - * @param {meerkat.ISignature=} [properties] Properties to set - * @returns {meerkat.Signature} Signature instance - */ - Signature.create = function create(properties) { - return new Signature(properties); - }; - - /** - * Encodes the specified Signature message. Does not implicitly {@link meerkat.Signature.verify|verify} messages. - * @function encode - * @memberof meerkat.Signature - * @static - * @param {meerkat.ISignature} message Signature message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Signature.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.data != null && message.hasOwnProperty("data")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.data); - if (message.signerId != null && message.hasOwnProperty("signerId")) - writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.signerId); - return writer; - }; - - /** - * Encodes the specified Signature message, length delimited. Does not implicitly {@link meerkat.Signature.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.Signature - * @static - * @param {meerkat.ISignature} message Signature message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Signature.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Signature message from the specified reader or buffer. - * @function decode - * @memberof meerkat.Signature - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.Signature} Signature - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Signature.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.Signature(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.type = reader.int32(); - break; - case 2: - message.data = reader.bytes(); - break; - case 3: - message.signerId = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Signature message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.Signature - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.Signature} Signature - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Signature.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Signature message. - * @function verify - * @memberof meerkat.Signature - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Signature.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.type != null && message.hasOwnProperty("type")) - switch (message.type) { - default: - return "type: enum value expected"; - case 0: - case 1: - case 2: - break; - } - if (message.data != null && message.hasOwnProperty("data")) - if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) - return "data: buffer expected"; - if (message.signerId != null && message.hasOwnProperty("signerId")) - if (!(message.signerId && typeof message.signerId.length === "number" || $util.isString(message.signerId))) - return "signerId: buffer expected"; - return null; - }; - - /** - * Creates a Signature message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.Signature - * @static - * @param {Object.} object Plain object - * @returns {meerkat.Signature} Signature - */ - Signature.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.Signature) - return object; - var message = new $root.meerkat.Signature(); - switch (object.type) { - case "ECDSA": - case 0: - message.type = 0; - break; - case "DSA": - case 1: - message.type = 1; - break; - case "RSA": - case 2: - message.type = 2; - break; - } - if (object.data != null) - if (typeof object.data === "string") - $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); - else if (object.data.length) - message.data = object.data; - if (object.signerId != null) - if (typeof object.signerId === "string") - $util.base64.decode(object.signerId, message.signerId = $util.newBuffer($util.base64.length(object.signerId)), 0); - else if (object.signerId.length) - message.signerId = object.signerId; - return message; - }; - - /** - * Creates a plain object from a Signature message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.Signature - * @static - * @param {meerkat.Signature} message Signature - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Signature.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.type = options.enums === String ? "ECDSA" : 0; - object.data = options.bytes === String ? "" : []; - object.signerId = options.bytes === String ? "" : []; - } - if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.meerkat.SignatureType[message.type] : message.type; - if (message.data != null && message.hasOwnProperty("data")) - object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; - if (message.signerId != null && message.hasOwnProperty("signerId")) - object.signerId = options.bytes === String ? $util.base64.encode(message.signerId, 0, message.signerId.length) : options.bytes === Array ? Array.prototype.slice.call(message.signerId) : message.signerId; - return object; - }; - - /** - * Converts this Signature to JSON. - * @function toJSON - * @memberof meerkat.Signature - * @instance - * @returns {Object.} JSON object - */ - Signature.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Signature; - })(); - - meerkat.SignatureVerificationKey = (function() { - - /** - * Properties of a SignatureVerificationKey. - * @memberof meerkat - * @interface ISignatureVerificationKey - * @property {meerkat.SignatureType} [type] SignatureVerificationKey type - * @property {Uint8Array} [data] SignatureVerificationKey data - */ - - /** - * Constructs a new SignatureVerificationKey. - * @memberof meerkat - * @classdesc Represents a SignatureVerificationKey. - * @constructor - * @param {meerkat.ISignatureVerificationKey=} [properties] Properties to set - */ - function SignatureVerificationKey(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * SignatureVerificationKey type. - * @member {meerkat.SignatureType}type - * @memberof meerkat.SignatureVerificationKey - * @instance - */ - SignatureVerificationKey.prototype.type = 0; - - /** - * SignatureVerificationKey data. - * @member {Uint8Array}data - * @memberof meerkat.SignatureVerificationKey - * @instance - */ - SignatureVerificationKey.prototype.data = $util.newBuffer([]); - - /** - * Creates a new SignatureVerificationKey instance using the specified properties. - * @function create - * @memberof meerkat.SignatureVerificationKey - * @static - * @param {meerkat.ISignatureVerificationKey=} [properties] Properties to set - * @returns {meerkat.SignatureVerificationKey} SignatureVerificationKey instance - */ - SignatureVerificationKey.create = function create(properties) { - return new SignatureVerificationKey(properties); - }; - - /** - * Encodes the specified SignatureVerificationKey message. Does not implicitly {@link meerkat.SignatureVerificationKey.verify|verify} messages. - * @function encode - * @memberof meerkat.SignatureVerificationKey - * @static - * @param {meerkat.ISignatureVerificationKey} message SignatureVerificationKey message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SignatureVerificationKey.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.data != null && message.hasOwnProperty("data")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.data); - return writer; - }; - - /** - * Encodes the specified SignatureVerificationKey message, length delimited. Does not implicitly {@link meerkat.SignatureVerificationKey.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.SignatureVerificationKey - * @static - * @param {meerkat.ISignatureVerificationKey} message SignatureVerificationKey message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SignatureVerificationKey.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a SignatureVerificationKey message from the specified reader or buffer. - * @function decode - * @memberof meerkat.SignatureVerificationKey - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.SignatureVerificationKey} SignatureVerificationKey - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SignatureVerificationKey.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.SignatureVerificationKey(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.type = reader.int32(); - break; - case 2: - message.data = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a SignatureVerificationKey message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.SignatureVerificationKey - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.SignatureVerificationKey} SignatureVerificationKey - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SignatureVerificationKey.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a SignatureVerificationKey message. - * @function verify - * @memberof meerkat.SignatureVerificationKey - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - SignatureVerificationKey.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.type != null && message.hasOwnProperty("type")) - switch (message.type) { - default: - return "type: enum value expected"; - case 0: - case 1: - case 2: - break; - } - if (message.data != null && message.hasOwnProperty("data")) - if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) - return "data: buffer expected"; - return null; - }; - - /** - * Creates a SignatureVerificationKey message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.SignatureVerificationKey - * @static - * @param {Object.} object Plain object - * @returns {meerkat.SignatureVerificationKey} SignatureVerificationKey - */ - SignatureVerificationKey.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.SignatureVerificationKey) - return object; - var message = new $root.meerkat.SignatureVerificationKey(); - switch (object.type) { - case "ECDSA": - case 0: - message.type = 0; - break; - case "DSA": - case 1: - message.type = 1; - break; - case "RSA": - case 2: - message.type = 2; - break; - } - if (object.data != null) - if (typeof object.data === "string") - $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); - else if (object.data.length) - message.data = object.data; - return message; - }; - - /** - * Creates a plain object from a SignatureVerificationKey message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.SignatureVerificationKey - * @static - * @param {meerkat.SignatureVerificationKey} message SignatureVerificationKey - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - SignatureVerificationKey.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.type = options.enums === String ? "ECDSA" : 0; - object.data = options.bytes === String ? "" : []; - } - if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.meerkat.SignatureType[message.type] : message.type; - if (message.data != null && message.hasOwnProperty("data")) - object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; - return object; - }; - - /** - * Converts this SignatureVerificationKey to JSON. - * @function toJSON - * @memberof meerkat.SignatureVerificationKey - * @instance - * @returns {Object.} JSON object - */ - SignatureVerificationKey.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return SignatureVerificationKey; - })(); - - meerkat.EncryptionPublicKey = (function() { - - /** - * Properties of an EncryptionPublicKey. - * @memberof meerkat - * @interface IEncryptionPublicKey - * @property {Uint8Array} [data] EncryptionPublicKey data - */ - - /** - * Constructs a new EncryptionPublicKey. - * @memberof meerkat - * @classdesc Represents an EncryptionPublicKey. - * @constructor - * @param {meerkat.IEncryptionPublicKey=} [properties] Properties to set - */ - function EncryptionPublicKey(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * EncryptionPublicKey data. - * @member {Uint8Array}data - * @memberof meerkat.EncryptionPublicKey - * @instance - */ - EncryptionPublicKey.prototype.data = $util.newBuffer([]); - - /** - * Creates a new EncryptionPublicKey instance using the specified properties. - * @function create - * @memberof meerkat.EncryptionPublicKey - * @static - * @param {meerkat.IEncryptionPublicKey=} [properties] Properties to set - * @returns {meerkat.EncryptionPublicKey} EncryptionPublicKey instance - */ - EncryptionPublicKey.create = function create(properties) { - return new EncryptionPublicKey(properties); - }; - - /** - * Encodes the specified EncryptionPublicKey message. Does not implicitly {@link meerkat.EncryptionPublicKey.verify|verify} messages. - * @function encode - * @memberof meerkat.EncryptionPublicKey - * @static - * @param {meerkat.IEncryptionPublicKey} message EncryptionPublicKey message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - EncryptionPublicKey.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.data != null && message.hasOwnProperty("data")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.data); - return writer; - }; - - /** - * Encodes the specified EncryptionPublicKey message, length delimited. Does not implicitly {@link meerkat.EncryptionPublicKey.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.EncryptionPublicKey - * @static - * @param {meerkat.IEncryptionPublicKey} message EncryptionPublicKey message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - EncryptionPublicKey.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an EncryptionPublicKey message from the specified reader or buffer. - * @function decode - * @memberof meerkat.EncryptionPublicKey - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.EncryptionPublicKey} EncryptionPublicKey - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - EncryptionPublicKey.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.EncryptionPublicKey(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.data = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an EncryptionPublicKey message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.EncryptionPublicKey - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.EncryptionPublicKey} EncryptionPublicKey - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - EncryptionPublicKey.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an EncryptionPublicKey message. - * @function verify - * @memberof meerkat.EncryptionPublicKey - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - EncryptionPublicKey.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.data != null && message.hasOwnProperty("data")) - if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) - return "data: buffer expected"; - return null; - }; - - /** - * Creates an EncryptionPublicKey message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.EncryptionPublicKey - * @static - * @param {Object.} object Plain object - * @returns {meerkat.EncryptionPublicKey} EncryptionPublicKey - */ - EncryptionPublicKey.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.EncryptionPublicKey) - return object; - var message = new $root.meerkat.EncryptionPublicKey(); - if (object.data != null) - if (typeof object.data === "string") - $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); - else if (object.data.length) - message.data = object.data; - return message; - }; - - /** - * Creates a plain object from an EncryptionPublicKey message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.EncryptionPublicKey - * @static - * @param {meerkat.EncryptionPublicKey} message EncryptionPublicKey - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - EncryptionPublicKey.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.data = options.bytes === String ? "" : []; - if (message.data != null && message.hasOwnProperty("data")) - object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; - return object; - }; - - /** - * Converts this EncryptionPublicKey to JSON. - * @function toJSON - * @memberof meerkat.EncryptionPublicKey - * @instance - * @returns {Object.} JSON object - */ - EncryptionPublicKey.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return EncryptionPublicKey; - })(); - - meerkat.EncryptionRandomness = (function() { - - /** - * Properties of an EncryptionRandomness. - * @memberof meerkat - * @interface IEncryptionRandomness - * @property {Uint8Array} [data] EncryptionRandomness data - */ - - /** - * Constructs a new EncryptionRandomness. - * @memberof meerkat - * @classdesc Represents an EncryptionRandomness. - * @constructor - * @param {meerkat.IEncryptionRandomness=} [properties] Properties to set - */ - function EncryptionRandomness(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * EncryptionRandomness data. - * @member {Uint8Array}data - * @memberof meerkat.EncryptionRandomness - * @instance - */ - EncryptionRandomness.prototype.data = $util.newBuffer([]); - - /** - * Creates a new EncryptionRandomness instance using the specified properties. - * @function create - * @memberof meerkat.EncryptionRandomness - * @static - * @param {meerkat.IEncryptionRandomness=} [properties] Properties to set - * @returns {meerkat.EncryptionRandomness} EncryptionRandomness instance - */ - EncryptionRandomness.create = function create(properties) { - return new EncryptionRandomness(properties); - }; - - /** - * Encodes the specified EncryptionRandomness message. Does not implicitly {@link meerkat.EncryptionRandomness.verify|verify} messages. - * @function encode - * @memberof meerkat.EncryptionRandomness - * @static - * @param {meerkat.IEncryptionRandomness} message EncryptionRandomness message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - EncryptionRandomness.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.data != null && message.hasOwnProperty("data")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.data); - return writer; - }; - - /** - * Encodes the specified EncryptionRandomness message, length delimited. Does not implicitly {@link meerkat.EncryptionRandomness.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.EncryptionRandomness - * @static - * @param {meerkat.IEncryptionRandomness} message EncryptionRandomness message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - EncryptionRandomness.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an EncryptionRandomness message from the specified reader or buffer. - * @function decode - * @memberof meerkat.EncryptionRandomness - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.EncryptionRandomness} EncryptionRandomness - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - EncryptionRandomness.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.EncryptionRandomness(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.data = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an EncryptionRandomness message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.EncryptionRandomness - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.EncryptionRandomness} EncryptionRandomness - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - EncryptionRandomness.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an EncryptionRandomness message. - * @function verify - * @memberof meerkat.EncryptionRandomness - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - EncryptionRandomness.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.data != null && message.hasOwnProperty("data")) - if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) - return "data: buffer expected"; - return null; - }; - - /** - * Creates an EncryptionRandomness message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.EncryptionRandomness - * @static - * @param {Object.} object Plain object - * @returns {meerkat.EncryptionRandomness} EncryptionRandomness - */ - EncryptionRandomness.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.EncryptionRandomness) - return object; - var message = new $root.meerkat.EncryptionRandomness(); - if (object.data != null) - if (typeof object.data === "string") - $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); - else if (object.data.length) - message.data = object.data; - return message; - }; - - /** - * Creates a plain object from an EncryptionRandomness message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.EncryptionRandomness - * @static - * @param {meerkat.EncryptionRandomness} message EncryptionRandomness - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - EncryptionRandomness.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.data = options.bytes === String ? "" : []; - if (message.data != null && message.hasOwnProperty("data")) - object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; - return object; - }; - - /** - * Converts this EncryptionRandomness to JSON. - * @function toJSON - * @memberof meerkat.EncryptionRandomness - * @instance - * @returns {Object.} JSON object - */ - EncryptionRandomness.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return EncryptionRandomness; - })(); - - meerkat.RandomnessGenerationProof = (function() { - - /** - * Properties of a RandomnessGenerationProof. - * @memberof meerkat - * @interface IRandomnessGenerationProof - * @property {Uint8Array} [data] RandomnessGenerationProof data - */ - - /** - * Constructs a new RandomnessGenerationProof. - * @memberof meerkat - * @classdesc Represents a RandomnessGenerationProof. - * @constructor - * @param {meerkat.IRandomnessGenerationProof=} [properties] Properties to set - */ - function RandomnessGenerationProof(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * RandomnessGenerationProof data. - * @member {Uint8Array}data - * @memberof meerkat.RandomnessGenerationProof - * @instance - */ - RandomnessGenerationProof.prototype.data = $util.newBuffer([]); - - /** - * Creates a new RandomnessGenerationProof instance using the specified properties. - * @function create - * @memberof meerkat.RandomnessGenerationProof - * @static - * @param {meerkat.IRandomnessGenerationProof=} [properties] Properties to set - * @returns {meerkat.RandomnessGenerationProof} RandomnessGenerationProof instance - */ - RandomnessGenerationProof.create = function create(properties) { - return new RandomnessGenerationProof(properties); - }; - - /** - * Encodes the specified RandomnessGenerationProof message. Does not implicitly {@link meerkat.RandomnessGenerationProof.verify|verify} messages. - * @function encode - * @memberof meerkat.RandomnessGenerationProof - * @static - * @param {meerkat.IRandomnessGenerationProof} message RandomnessGenerationProof message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RandomnessGenerationProof.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.data != null && message.hasOwnProperty("data")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.data); - return writer; - }; - - /** - * Encodes the specified RandomnessGenerationProof message, length delimited. Does not implicitly {@link meerkat.RandomnessGenerationProof.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.RandomnessGenerationProof - * @static - * @param {meerkat.IRandomnessGenerationProof} message RandomnessGenerationProof message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RandomnessGenerationProof.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a RandomnessGenerationProof message from the specified reader or buffer. - * @function decode - * @memberof meerkat.RandomnessGenerationProof - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.RandomnessGenerationProof} RandomnessGenerationProof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RandomnessGenerationProof.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.RandomnessGenerationProof(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.data = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a RandomnessGenerationProof message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.RandomnessGenerationProof - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.RandomnessGenerationProof} RandomnessGenerationProof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RandomnessGenerationProof.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a RandomnessGenerationProof message. - * @function verify - * @memberof meerkat.RandomnessGenerationProof - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - RandomnessGenerationProof.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.data != null && message.hasOwnProperty("data")) - if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) - return "data: buffer expected"; - return null; - }; - - /** - * Creates a RandomnessGenerationProof message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.RandomnessGenerationProof - * @static - * @param {Object.} object Plain object - * @returns {meerkat.RandomnessGenerationProof} RandomnessGenerationProof - */ - RandomnessGenerationProof.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.RandomnessGenerationProof) - return object; - var message = new $root.meerkat.RandomnessGenerationProof(); - if (object.data != null) - if (typeof object.data === "string") - $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); - else if (object.data.length) - message.data = object.data; - return message; - }; - - /** - * Creates a plain object from a RandomnessGenerationProof message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.RandomnessGenerationProof - * @static - * @param {meerkat.RandomnessGenerationProof} message RandomnessGenerationProof - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - RandomnessGenerationProof.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.data = options.bytes === String ? "" : []; - if (message.data != null && message.hasOwnProperty("data")) - object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; - return object; - }; - - /** - * Converts this RandomnessGenerationProof to JSON. - * @function toJSON - * @memberof meerkat.RandomnessGenerationProof - * @instance - * @returns {Object.} JSON object - */ - RandomnessGenerationProof.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return RandomnessGenerationProof; - })(); - - meerkat.RerandomizableEncryptedMessage = (function() { - - /** - * Properties of a RerandomizableEncryptedMessage. - * @memberof meerkat - * @interface IRerandomizableEncryptedMessage - * @property {Uint8Array} [data] RerandomizableEncryptedMessage data - */ - - /** - * Constructs a new RerandomizableEncryptedMessage. - * @memberof meerkat - * @classdesc Represents a RerandomizableEncryptedMessage. - * @constructor - * @param {meerkat.IRerandomizableEncryptedMessage=} [properties] Properties to set - */ - function RerandomizableEncryptedMessage(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * RerandomizableEncryptedMessage data. - * @member {Uint8Array}data - * @memberof meerkat.RerandomizableEncryptedMessage - * @instance - */ - RerandomizableEncryptedMessage.prototype.data = $util.newBuffer([]); - - /** - * Creates a new RerandomizableEncryptedMessage instance using the specified properties. - * @function create - * @memberof meerkat.RerandomizableEncryptedMessage - * @static - * @param {meerkat.IRerandomizableEncryptedMessage=} [properties] Properties to set - * @returns {meerkat.RerandomizableEncryptedMessage} RerandomizableEncryptedMessage instance - */ - RerandomizableEncryptedMessage.create = function create(properties) { - return new RerandomizableEncryptedMessage(properties); - }; - - /** - * Encodes the specified RerandomizableEncryptedMessage message. Does not implicitly {@link meerkat.RerandomizableEncryptedMessage.verify|verify} messages. - * @function encode - * @memberof meerkat.RerandomizableEncryptedMessage - * @static - * @param {meerkat.IRerandomizableEncryptedMessage} message RerandomizableEncryptedMessage message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RerandomizableEncryptedMessage.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.data != null && message.hasOwnProperty("data")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.data); - return writer; - }; - - /** - * Encodes the specified RerandomizableEncryptedMessage message, length delimited. Does not implicitly {@link meerkat.RerandomizableEncryptedMessage.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.RerandomizableEncryptedMessage - * @static - * @param {meerkat.IRerandomizableEncryptedMessage} message RerandomizableEncryptedMessage message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RerandomizableEncryptedMessage.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a RerandomizableEncryptedMessage message from the specified reader or buffer. - * @function decode - * @memberof meerkat.RerandomizableEncryptedMessage - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.RerandomizableEncryptedMessage} RerandomizableEncryptedMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RerandomizableEncryptedMessage.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.RerandomizableEncryptedMessage(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.data = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a RerandomizableEncryptedMessage message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.RerandomizableEncryptedMessage - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.RerandomizableEncryptedMessage} RerandomizableEncryptedMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RerandomizableEncryptedMessage.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a RerandomizableEncryptedMessage message. - * @function verify - * @memberof meerkat.RerandomizableEncryptedMessage - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - RerandomizableEncryptedMessage.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.data != null && message.hasOwnProperty("data")) - if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) - return "data: buffer expected"; - return null; - }; - - /** - * Creates a RerandomizableEncryptedMessage message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.RerandomizableEncryptedMessage - * @static - * @param {Object.} object Plain object - * @returns {meerkat.RerandomizableEncryptedMessage} RerandomizableEncryptedMessage - */ - RerandomizableEncryptedMessage.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.RerandomizableEncryptedMessage) - return object; - var message = new $root.meerkat.RerandomizableEncryptedMessage(); - if (object.data != null) - if (typeof object.data === "string") - $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); - else if (object.data.length) - message.data = object.data; - return message; - }; - - /** - * Creates a plain object from a RerandomizableEncryptedMessage message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.RerandomizableEncryptedMessage - * @static - * @param {meerkat.RerandomizableEncryptedMessage} message RerandomizableEncryptedMessage - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - RerandomizableEncryptedMessage.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.data = options.bytes === String ? "" : []; - if (message.data != null && message.hasOwnProperty("data")) - object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; - return object; - }; - - /** - * Converts this RerandomizableEncryptedMessage to JSON. - * @function toJSON - * @memberof meerkat.RerandomizableEncryptedMessage - * @instance - * @returns {Object.} JSON object - */ - RerandomizableEncryptedMessage.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return RerandomizableEncryptedMessage; - })(); - - meerkat.Payload = (function() { - - /** - * Properties of a Payload. - * @memberof meerkat - * @interface IPayload - * @property {meerkat.Payload.Type} [type] Payload type - * @property {meerkat.IIDMessage} [id] Payload id - * @property {meerkat.IShareMessage} [share] Payload share - * @property {meerkat.ICommitmentMessage} [commitment] Payload commitment - */ - - /** - * Constructs a new Payload. - * @memberof meerkat - * @classdesc Represents a Payload. - * @constructor - * @param {meerkat.IPayload=} [properties] Properties to set - */ - function Payload(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Payload type. - * @member {meerkat.Payload.Type}type - * @memberof meerkat.Payload - * @instance - */ - Payload.prototype.type = 0; - - /** - * Payload id. - * @member {(meerkat.IIDMessage|null|undefined)}id - * @memberof meerkat.Payload - * @instance - */ - Payload.prototype.id = null; - - /** - * Payload share. - * @member {(meerkat.IShareMessage|null|undefined)}share - * @memberof meerkat.Payload - * @instance - */ - Payload.prototype.share = null; - - /** - * Payload commitment. - * @member {(meerkat.ICommitmentMessage|null|undefined)}commitment - * @memberof meerkat.Payload - * @instance - */ - Payload.prototype.commitment = null; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; - - /** - * Payload payloadData. - * @member {string|undefined} payloadData - * @memberof meerkat.Payload - * @instance - */ - Object.defineProperty(Payload.prototype, "payloadData", { - get: $util.oneOfGetter($oneOfFields = ["id", "share", "commitment"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new Payload instance using the specified properties. - * @function create - * @memberof meerkat.Payload - * @static - * @param {meerkat.IPayload=} [properties] Properties to set - * @returns {meerkat.Payload} Payload instance - */ - Payload.create = function create(properties) { - return new Payload(properties); - }; - - /** - * Encodes the specified Payload message. Does not implicitly {@link meerkat.Payload.verify|verify} messages. - * @function encode - * @memberof meerkat.Payload - * @static - * @param {meerkat.IPayload} message Payload message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Payload.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.id != null && message.hasOwnProperty("id")) - $root.meerkat.IDMessage.encode(message.id, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.share != null && message.hasOwnProperty("share")) - $root.meerkat.ShareMessage.encode(message.share, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.commitment != null && message.hasOwnProperty("commitment")) - $root.meerkat.CommitmentMessage.encode(message.commitment, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified Payload message, length delimited. Does not implicitly {@link meerkat.Payload.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.Payload - * @static - * @param {meerkat.IPayload} message Payload message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Payload.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Payload message from the specified reader or buffer. - * @function decode - * @memberof meerkat.Payload - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.Payload} Payload - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Payload.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.Payload(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.type = reader.int32(); - break; - case 5: - message.id = $root.meerkat.IDMessage.decode(reader, reader.uint32()); - break; - case 6: - message.share = $root.meerkat.ShareMessage.decode(reader, reader.uint32()); - break; - case 7: - message.commitment = $root.meerkat.CommitmentMessage.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Payload message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.Payload - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.Payload} Payload - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Payload.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Payload message. - * @function verify - * @memberof meerkat.Payload - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Payload.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - var properties = {}; - if (message.type != null && message.hasOwnProperty("type")) - switch (message.type) { - default: - return "type: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - break; - } - if (message.id != null && message.hasOwnProperty("id")) { - properties.payloadData = 1; - var error = $root.meerkat.IDMessage.verify(message.id); - if (error) - return "id." + error; - } - if (message.share != null && message.hasOwnProperty("share")) { - if (properties.payloadData === 1) - return "payloadData: multiple values"; - properties.payloadData = 1; - error = $root.meerkat.ShareMessage.verify(message.share); - if (error) - return "share." + error; - } - if (message.commitment != null && message.hasOwnProperty("commitment")) { - if (properties.payloadData === 1) - return "payloadData: multiple values"; - properties.payloadData = 1; - error = $root.meerkat.CommitmentMessage.verify(message.commitment); - if (error) - return "commitment." + error; - } - return null; - }; - - /** - * Creates a Payload message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.Payload - * @static - * @param {Object.} object Plain object - * @returns {meerkat.Payload} Payload - */ - Payload.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.Payload) - return object; - var message = new $root.meerkat.Payload(); - switch (object.type) { - case "SHARE": - case 0: - message.type = 0; - break; - case "COMMITMENT": - case 1: - message.type = 1; - break; - case "COMPLAINT": - case 2: - message.type = 2; - break; - case "DONE": - case 3: - message.type = 3; - break; - case "ANSWER": - case 4: - message.type = 4; - break; - case "YCOMMITMENT": - case 5: - message.type = 5; - break; - case "YCOMPLAINT": - case 6: - message.type = 6; - break; - case "YANSWER": - case 7: - message.type = 7; - break; - case "ABORT": - case 8: - message.type = 8; - break; - } - if (object.id != null) { - if (typeof object.id !== "object") - throw TypeError(".meerkat.Payload.id: object expected"); - message.id = $root.meerkat.IDMessage.fromObject(object.id); - } - if (object.share != null) { - if (typeof object.share !== "object") - throw TypeError(".meerkat.Payload.share: object expected"); - message.share = $root.meerkat.ShareMessage.fromObject(object.share); - } - if (object.commitment != null) { - if (typeof object.commitment !== "object") - throw TypeError(".meerkat.Payload.commitment: object expected"); - message.commitment = $root.meerkat.CommitmentMessage.fromObject(object.commitment); - } - return message; - }; - - /** - * Creates a plain object from a Payload message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.Payload - * @static - * @param {meerkat.Payload} message Payload - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Payload.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.type = options.enums === String ? "SHARE" : 0; - if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.meerkat.Payload.Type[message.type] : message.type; - if (message.id != null && message.hasOwnProperty("id")) { - object.id = $root.meerkat.IDMessage.toObject(message.id, options); - if (options.oneofs) - object.payloadData = "id"; - } - if (message.share != null && message.hasOwnProperty("share")) { - object.share = $root.meerkat.ShareMessage.toObject(message.share, options); - if (options.oneofs) - object.payloadData = "share"; - } - if (message.commitment != null && message.hasOwnProperty("commitment")) { - object.commitment = $root.meerkat.CommitmentMessage.toObject(message.commitment, options); - if (options.oneofs) - object.payloadData = "commitment"; - } - return object; - }; - - /** - * Converts this Payload to JSON. - * @function toJSON - * @memberof meerkat.Payload - * @instance - * @returns {Object.} JSON object - */ - Payload.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Type enum. - * @enum {string} - * @property {number} SHARE=0 SHARE value - * @property {number} COMMITMENT=1 COMMITMENT value - * @property {number} COMPLAINT=2 COMPLAINT value - * @property {number} DONE=3 DONE value - * @property {number} ANSWER=4 ANSWER value - * @property {number} YCOMMITMENT=5 YCOMMITMENT value - * @property {number} YCOMPLAINT=6 YCOMPLAINT value - * @property {number} YANSWER=7 YANSWER value - * @property {number} ABORT=8 ABORT value - */ - Payload.Type = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "SHARE"] = 0; - values[valuesById[1] = "COMMITMENT"] = 1; - values[valuesById[2] = "COMPLAINT"] = 2; - values[valuesById[3] = "DONE"] = 3; - values[valuesById[4] = "ANSWER"] = 4; - values[valuesById[5] = "YCOMMITMENT"] = 5; - values[valuesById[6] = "YCOMPLAINT"] = 6; - values[valuesById[7] = "YANSWER"] = 7; - values[valuesById[8] = "ABORT"] = 8; - return values; - })(); - - return Payload; - })(); - - meerkat.IDMessage = (function() { - - /** - * Properties of a IDMessage. - * @memberof meerkat - * @interface IIDMessage - * @property {number} [id] IDMessage id - */ - - /** - * Constructs a new IDMessage. - * @memberof meerkat - * @classdesc Represents a IDMessage. - * @constructor - * @param {meerkat.IIDMessage=} [properties] Properties to set - */ - function IDMessage(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * IDMessage id. - * @member {number}id - * @memberof meerkat.IDMessage - * @instance - */ - IDMessage.prototype.id = 0; - - /** - * Creates a new IDMessage instance using the specified properties. - * @function create - * @memberof meerkat.IDMessage - * @static - * @param {meerkat.IIDMessage=} [properties] Properties to set - * @returns {meerkat.IDMessage} IDMessage instance - */ - IDMessage.create = function create(properties) { - return new IDMessage(properties); - }; - - /** - * Encodes the specified IDMessage message. Does not implicitly {@link meerkat.IDMessage.verify|verify} messages. - * @function encode - * @memberof meerkat.IDMessage - * @static - * @param {meerkat.IIDMessage} message IDMessage message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - IDMessage.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.id != null && message.hasOwnProperty("id")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.id); - return writer; - }; - - /** - * Encodes the specified IDMessage message, length delimited. Does not implicitly {@link meerkat.IDMessage.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.IDMessage - * @static - * @param {meerkat.IIDMessage} message IDMessage message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - IDMessage.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a IDMessage message from the specified reader or buffer. - * @function decode - * @memberof meerkat.IDMessage - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.IDMessage} IDMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - IDMessage.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.IDMessage(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.id = reader.int32(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a IDMessage message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.IDMessage - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.IDMessage} IDMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - IDMessage.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a IDMessage message. - * @function verify - * @memberof meerkat.IDMessage - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - IDMessage.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.id != null && message.hasOwnProperty("id")) - if (!$util.isInteger(message.id)) - return "id: integer expected"; - return null; - }; - - /** - * Creates a IDMessage message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.IDMessage - * @static - * @param {Object.} object Plain object - * @returns {meerkat.IDMessage} IDMessage - */ - IDMessage.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.IDMessage) - return object; - var message = new $root.meerkat.IDMessage(); - if (object.id != null) - message.id = object.id | 0; - return message; - }; - - /** - * Creates a plain object from a IDMessage message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.IDMessage - * @static - * @param {meerkat.IDMessage} message IDMessage - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - IDMessage.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.id = 0; - if (message.id != null && message.hasOwnProperty("id")) - object.id = message.id; - return object; - }; - - /** - * Converts this IDMessage to JSON. - * @function toJSON - * @memberof meerkat.IDMessage - * @instance - * @returns {Object.} JSON object - */ - IDMessage.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return IDMessage; - })(); - - meerkat.ShareMessage = (function() { - - /** - * Properties of a ShareMessage. - * @memberof meerkat - * @interface IShareMessage - * @property {number} [i] ShareMessage i - * @property {number} [j] ShareMessage j - * @property {Uint8Array} [share] ShareMessage share - * @property {Uint8Array} [shareT] ShareMessage shareT - */ - - /** - * Constructs a new ShareMessage. - * @memberof meerkat - * @classdesc Represents a ShareMessage. - * @constructor - * @param {meerkat.IShareMessage=} [properties] Properties to set - */ - function ShareMessage(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ShareMessage i. - * @member {number}i - * @memberof meerkat.ShareMessage - * @instance - */ - ShareMessage.prototype.i = 0; - - /** - * ShareMessage j. - * @member {number}j - * @memberof meerkat.ShareMessage - * @instance - */ - ShareMessage.prototype.j = 0; - - /** - * ShareMessage share. - * @member {Uint8Array}share - * @memberof meerkat.ShareMessage - * @instance - */ - ShareMessage.prototype.share = $util.newBuffer([]); - - /** - * ShareMessage shareT. - * @member {Uint8Array}shareT - * @memberof meerkat.ShareMessage - * @instance - */ - ShareMessage.prototype.shareT = $util.newBuffer([]); - - /** - * Creates a new ShareMessage instance using the specified properties. - * @function create - * @memberof meerkat.ShareMessage - * @static - * @param {meerkat.IShareMessage=} [properties] Properties to set - * @returns {meerkat.ShareMessage} ShareMessage instance - */ - ShareMessage.create = function create(properties) { - return new ShareMessage(properties); - }; - - /** - * Encodes the specified ShareMessage message. Does not implicitly {@link meerkat.ShareMessage.verify|verify} messages. - * @function encode - * @memberof meerkat.ShareMessage - * @static - * @param {meerkat.IShareMessage} message ShareMessage message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ShareMessage.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.i != null && message.hasOwnProperty("i")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.i); - if (message.j != null && message.hasOwnProperty("j")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.j); - if (message.share != null && message.hasOwnProperty("share")) - writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.share); - if (message.shareT != null && message.hasOwnProperty("shareT")) - writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.shareT); - return writer; - }; - - /** - * Encodes the specified ShareMessage message, length delimited. Does not implicitly {@link meerkat.ShareMessage.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.ShareMessage - * @static - * @param {meerkat.IShareMessage} message ShareMessage message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ShareMessage.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ShareMessage message from the specified reader or buffer. - * @function decode - * @memberof meerkat.ShareMessage - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.ShareMessage} ShareMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ShareMessage.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.ShareMessage(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.i = reader.int32(); - break; - case 2: - message.j = reader.int32(); - break; - case 3: - message.share = reader.bytes(); - break; - case 4: - message.shareT = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ShareMessage message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.ShareMessage - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.ShareMessage} ShareMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ShareMessage.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ShareMessage message. - * @function verify - * @memberof meerkat.ShareMessage - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ShareMessage.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.i != null && message.hasOwnProperty("i")) - if (!$util.isInteger(message.i)) - return "i: integer expected"; - if (message.j != null && message.hasOwnProperty("j")) - if (!$util.isInteger(message.j)) - return "j: integer expected"; - if (message.share != null && message.hasOwnProperty("share")) - if (!(message.share && typeof message.share.length === "number" || $util.isString(message.share))) - return "share: buffer expected"; - if (message.shareT != null && message.hasOwnProperty("shareT")) - if (!(message.shareT && typeof message.shareT.length === "number" || $util.isString(message.shareT))) - return "shareT: buffer expected"; - return null; - }; - - /** - * Creates a ShareMessage message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.ShareMessage - * @static - * @param {Object.} object Plain object - * @returns {meerkat.ShareMessage} ShareMessage - */ - ShareMessage.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.ShareMessage) - return object; - var message = new $root.meerkat.ShareMessage(); - if (object.i != null) - message.i = object.i | 0; - if (object.j != null) - message.j = object.j | 0; - if (object.share != null) - if (typeof object.share === "string") - $util.base64.decode(object.share, message.share = $util.newBuffer($util.base64.length(object.share)), 0); - else if (object.share.length) - message.share = object.share; - if (object.shareT != null) - if (typeof object.shareT === "string") - $util.base64.decode(object.shareT, message.shareT = $util.newBuffer($util.base64.length(object.shareT)), 0); - else if (object.shareT.length) - message.shareT = object.shareT; - return message; - }; - - /** - * Creates a plain object from a ShareMessage message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.ShareMessage - * @static - * @param {meerkat.ShareMessage} message ShareMessage - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ShareMessage.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.i = 0; - object.j = 0; - object.share = options.bytes === String ? "" : []; - object.shareT = options.bytes === String ? "" : []; - } - if (message.i != null && message.hasOwnProperty("i")) - object.i = message.i; - if (message.j != null && message.hasOwnProperty("j")) - object.j = message.j; - if (message.share != null && message.hasOwnProperty("share")) - object.share = options.bytes === String ? $util.base64.encode(message.share, 0, message.share.length) : options.bytes === Array ? Array.prototype.slice.call(message.share) : message.share; - if (message.shareT != null && message.hasOwnProperty("shareT")) - object.shareT = options.bytes === String ? $util.base64.encode(message.shareT, 0, message.shareT.length) : options.bytes === Array ? Array.prototype.slice.call(message.shareT) : message.shareT; - return object; - }; - - /** - * Converts this ShareMessage to JSON. - * @function toJSON - * @memberof meerkat.ShareMessage - * @instance - * @returns {Object.} JSON object - */ - ShareMessage.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ShareMessage; - })(); - - meerkat.CommitmentMessage = (function() { - - /** - * Properties of a CommitmentMessage. - * @memberof meerkat - * @interface ICommitmentMessage - * @property {number} [k] CommitmentMessage k - * @property {Uint8Array} [commitment] CommitmentMessage commitment - */ - - /** - * Constructs a new CommitmentMessage. - * @memberof meerkat - * @classdesc Represents a CommitmentMessage. - * @constructor - * @param {meerkat.ICommitmentMessage=} [properties] Properties to set - */ - function CommitmentMessage(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * CommitmentMessage k. - * @member {number}k - * @memberof meerkat.CommitmentMessage - * @instance - */ - CommitmentMessage.prototype.k = 0; - - /** - * CommitmentMessage commitment. - * @member {Uint8Array}commitment - * @memberof meerkat.CommitmentMessage - * @instance - */ - CommitmentMessage.prototype.commitment = $util.newBuffer([]); - - /** - * Creates a new CommitmentMessage instance using the specified properties. - * @function create - * @memberof meerkat.CommitmentMessage - * @static - * @param {meerkat.ICommitmentMessage=} [properties] Properties to set - * @returns {meerkat.CommitmentMessage} CommitmentMessage instance - */ - CommitmentMessage.create = function create(properties) { - return new CommitmentMessage(properties); - }; - - /** - * Encodes the specified CommitmentMessage message. Does not implicitly {@link meerkat.CommitmentMessage.verify|verify} messages. - * @function encode - * @memberof meerkat.CommitmentMessage - * @static - * @param {meerkat.ICommitmentMessage} message CommitmentMessage message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CommitmentMessage.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.k != null && message.hasOwnProperty("k")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.k); - if (message.commitment != null && message.hasOwnProperty("commitment")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.commitment); - return writer; - }; - - /** - * Encodes the specified CommitmentMessage message, length delimited. Does not implicitly {@link meerkat.CommitmentMessage.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.CommitmentMessage - * @static - * @param {meerkat.ICommitmentMessage} message CommitmentMessage message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CommitmentMessage.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a CommitmentMessage message from the specified reader or buffer. - * @function decode - * @memberof meerkat.CommitmentMessage - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.CommitmentMessage} CommitmentMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CommitmentMessage.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.CommitmentMessage(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.k = reader.int32(); - break; - case 2: - message.commitment = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a CommitmentMessage message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.CommitmentMessage - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.CommitmentMessage} CommitmentMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CommitmentMessage.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a CommitmentMessage message. - * @function verify - * @memberof meerkat.CommitmentMessage - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - CommitmentMessage.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.k != null && message.hasOwnProperty("k")) - if (!$util.isInteger(message.k)) - return "k: integer expected"; - if (message.commitment != null && message.hasOwnProperty("commitment")) - if (!(message.commitment && typeof message.commitment.length === "number" || $util.isString(message.commitment))) - return "commitment: buffer expected"; - return null; - }; - - /** - * Creates a CommitmentMessage message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.CommitmentMessage - * @static - * @param {Object.} object Plain object - * @returns {meerkat.CommitmentMessage} CommitmentMessage - */ - CommitmentMessage.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.CommitmentMessage) - return object; - var message = new $root.meerkat.CommitmentMessage(); - if (object.k != null) - message.k = object.k | 0; - if (object.commitment != null) - if (typeof object.commitment === "string") - $util.base64.decode(object.commitment, message.commitment = $util.newBuffer($util.base64.length(object.commitment)), 0); - else if (object.commitment.length) - message.commitment = object.commitment; - return message; - }; - - /** - * Creates a plain object from a CommitmentMessage message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.CommitmentMessage - * @static - * @param {meerkat.CommitmentMessage} message CommitmentMessage - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - CommitmentMessage.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.k = 0; - object.commitment = options.bytes === String ? "" : []; - } - if (message.k != null && message.hasOwnProperty("k")) - object.k = message.k; - if (message.commitment != null && message.hasOwnProperty("commitment")) - object.commitment = options.bytes === String ? $util.base64.encode(message.commitment, 0, message.commitment.length) : options.bytes === Array ? Array.prototype.slice.call(message.commitment) : message.commitment; - return object; - }; - - /** - * Converts this CommitmentMessage to JSON. - * @function toJSON - * @memberof meerkat.CommitmentMessage - * @instance - * @returns {Object.} JSON object - */ - CommitmentMessage.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return CommitmentMessage; - })(); - - meerkat.MixBatchHeader = (function() { - - /** - * Properties of a MixBatchHeader. - * @memberof meerkat - * @interface IMixBatchHeader - * @property {number} [logN] MixBatchHeader logN - * @property {number} [layers] MixBatchHeader layers - */ - - /** - * Constructs a new MixBatchHeader. - * @memberof meerkat - * @classdesc Represents a MixBatchHeader. - * @constructor - * @param {meerkat.IMixBatchHeader=} [properties] Properties to set - */ - function MixBatchHeader(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MixBatchHeader logN. - * @member {number}logN - * @memberof meerkat.MixBatchHeader - * @instance - */ - MixBatchHeader.prototype.logN = 0; - - /** - * MixBatchHeader layers. - * @member {number}layers - * @memberof meerkat.MixBatchHeader - * @instance - */ - MixBatchHeader.prototype.layers = 0; - - /** - * Creates a new MixBatchHeader instance using the specified properties. - * @function create - * @memberof meerkat.MixBatchHeader - * @static - * @param {meerkat.IMixBatchHeader=} [properties] Properties to set - * @returns {meerkat.MixBatchHeader} MixBatchHeader instance - */ - MixBatchHeader.create = function create(properties) { - return new MixBatchHeader(properties); - }; - - /** - * Encodes the specified MixBatchHeader message. Does not implicitly {@link meerkat.MixBatchHeader.verify|verify} messages. - * @function encode - * @memberof meerkat.MixBatchHeader - * @static - * @param {meerkat.IMixBatchHeader} message MixBatchHeader message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MixBatchHeader.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.logN != null && message.hasOwnProperty("logN")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.logN); - if (message.layers != null && message.hasOwnProperty("layers")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.layers); - return writer; - }; - - /** - * Encodes the specified MixBatchHeader message, length delimited. Does not implicitly {@link meerkat.MixBatchHeader.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.MixBatchHeader - * @static - * @param {meerkat.IMixBatchHeader} message MixBatchHeader message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MixBatchHeader.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MixBatchHeader message from the specified reader or buffer. - * @function decode - * @memberof meerkat.MixBatchHeader - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.MixBatchHeader} MixBatchHeader - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MixBatchHeader.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.MixBatchHeader(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.logN = reader.int32(); - break; - case 2: - message.layers = reader.int32(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MixBatchHeader message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.MixBatchHeader - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.MixBatchHeader} MixBatchHeader - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MixBatchHeader.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MixBatchHeader message. - * @function verify - * @memberof meerkat.MixBatchHeader - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MixBatchHeader.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.logN != null && message.hasOwnProperty("logN")) - if (!$util.isInteger(message.logN)) - return "logN: integer expected"; - if (message.layers != null && message.hasOwnProperty("layers")) - if (!$util.isInteger(message.layers)) - return "layers: integer expected"; - return null; - }; - - /** - * Creates a MixBatchHeader message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.MixBatchHeader - * @static - * @param {Object.} object Plain object - * @returns {meerkat.MixBatchHeader} MixBatchHeader - */ - MixBatchHeader.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.MixBatchHeader) - return object; - var message = new $root.meerkat.MixBatchHeader(); - if (object.logN != null) - message.logN = object.logN | 0; - if (object.layers != null) - message.layers = object.layers | 0; - return message; - }; - - /** - * Creates a plain object from a MixBatchHeader message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.MixBatchHeader - * @static - * @param {meerkat.MixBatchHeader} message MixBatchHeader - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MixBatchHeader.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.logN = 0; - object.layers = 0; - } - if (message.logN != null && message.hasOwnProperty("logN")) - object.logN = message.logN; - if (message.layers != null && message.hasOwnProperty("layers")) - object.layers = message.layers; - return object; - }; - - /** - * Converts this MixBatchHeader to JSON. - * @function toJSON - * @memberof meerkat.MixBatchHeader - * @instance - * @returns {Object.} JSON object - */ - MixBatchHeader.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MixBatchHeader; - })(); - - meerkat.Plaintext = (function() { - - /** - * Properties of a Plaintext. - * @memberof meerkat - * @interface IPlaintext - * @property {Uint8Array} [data] Plaintext data - */ - - /** - * Constructs a new Plaintext. - * @memberof meerkat - * @classdesc Represents a Plaintext. - * @constructor - * @param {meerkat.IPlaintext=} [properties] Properties to set - */ - function Plaintext(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Plaintext data. - * @member {Uint8Array}data - * @memberof meerkat.Plaintext - * @instance - */ - Plaintext.prototype.data = $util.newBuffer([]); - - /** - * Creates a new Plaintext instance using the specified properties. - * @function create - * @memberof meerkat.Plaintext - * @static - * @param {meerkat.IPlaintext=} [properties] Properties to set - * @returns {meerkat.Plaintext} Plaintext instance - */ - Plaintext.create = function create(properties) { - return new Plaintext(properties); - }; - - /** - * Encodes the specified Plaintext message. Does not implicitly {@link meerkat.Plaintext.verify|verify} messages. - * @function encode - * @memberof meerkat.Plaintext - * @static - * @param {meerkat.IPlaintext} message Plaintext message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Plaintext.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.data != null && message.hasOwnProperty("data")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.data); - return writer; - }; - - /** - * Encodes the specified Plaintext message, length delimited. Does not implicitly {@link meerkat.Plaintext.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.Plaintext - * @static - * @param {meerkat.IPlaintext} message Plaintext message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Plaintext.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Plaintext message from the specified reader or buffer. - * @function decode - * @memberof meerkat.Plaintext - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.Plaintext} Plaintext - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Plaintext.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.Plaintext(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.data = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Plaintext message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.Plaintext - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.Plaintext} Plaintext - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Plaintext.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Plaintext message. - * @function verify - * @memberof meerkat.Plaintext - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Plaintext.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.data != null && message.hasOwnProperty("data")) - if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) - return "data: buffer expected"; - return null; - }; - - /** - * Creates a Plaintext message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.Plaintext - * @static - * @param {Object.} object Plain object - * @returns {meerkat.Plaintext} Plaintext - */ - Plaintext.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.Plaintext) - return object; - var message = new $root.meerkat.Plaintext(); - if (object.data != null) - if (typeof object.data === "string") - $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); - else if (object.data.length) - message.data = object.data; - return message; - }; - - /** - * Creates a plain object from a Plaintext message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.Plaintext - * @static - * @param {meerkat.Plaintext} message Plaintext - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Plaintext.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.data = options.bytes === String ? "" : []; - if (message.data != null && message.hasOwnProperty("data")) - object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; - return object; - }; - - /** - * Converts this Plaintext to JSON. - * @function toJSON - * @memberof meerkat.Plaintext - * @instance - * @returns {Object.} JSON object - */ - Plaintext.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Plaintext; - })(); - - meerkat.Mix2Proof = (function() { - - /** - * Properties of a Mix2Proof. - * @memberof meerkat - * @interface IMix2Proof - * @property {meerkat.Mix2Proof.IFirstMessage} [firstMessage] Mix2Proof firstMessage - * @property {meerkat.Mix2Proof.IFinalMessage} [finalMessage] Mix2Proof finalMessage - * @property {meerkat.Mix2Proof.ILocation} [location] Mix2Proof location - */ - - /** - * Constructs a new Mix2Proof. - * @memberof meerkat - * @classdesc Represents a Mix2Proof. - * @constructor - * @param {meerkat.IMix2Proof=} [properties] Properties to set - */ - function Mix2Proof(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Mix2Proof firstMessage. - * @member {(meerkat.Mix2Proof.IFirstMessage|null|undefined)}firstMessage - * @memberof meerkat.Mix2Proof - * @instance - */ - Mix2Proof.prototype.firstMessage = null; - - /** - * Mix2Proof finalMessage. - * @member {(meerkat.Mix2Proof.IFinalMessage|null|undefined)}finalMessage - * @memberof meerkat.Mix2Proof - * @instance - */ - Mix2Proof.prototype.finalMessage = null; - - /** - * Mix2Proof location. - * @member {(meerkat.Mix2Proof.ILocation|null|undefined)}location - * @memberof meerkat.Mix2Proof - * @instance - */ - Mix2Proof.prototype.location = null; - - /** - * Creates a new Mix2Proof instance using the specified properties. - * @function create - * @memberof meerkat.Mix2Proof - * @static - * @param {meerkat.IMix2Proof=} [properties] Properties to set - * @returns {meerkat.Mix2Proof} Mix2Proof instance - */ - Mix2Proof.create = function create(properties) { - return new Mix2Proof(properties); - }; - - /** - * Encodes the specified Mix2Proof message. Does not implicitly {@link meerkat.Mix2Proof.verify|verify} messages. - * @function encode - * @memberof meerkat.Mix2Proof - * @static - * @param {meerkat.IMix2Proof} message Mix2Proof message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Mix2Proof.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.firstMessage != null && message.hasOwnProperty("firstMessage")) - $root.meerkat.Mix2Proof.FirstMessage.encode(message.firstMessage, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.finalMessage != null && message.hasOwnProperty("finalMessage")) - $root.meerkat.Mix2Proof.FinalMessage.encode(message.finalMessage, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.location != null && message.hasOwnProperty("location")) - $root.meerkat.Mix2Proof.Location.encode(message.location, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified Mix2Proof message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.Mix2Proof - * @static - * @param {meerkat.IMix2Proof} message Mix2Proof message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Mix2Proof.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Mix2Proof message from the specified reader or buffer. - * @function decode - * @memberof meerkat.Mix2Proof - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.Mix2Proof} Mix2Proof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Mix2Proof.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.Mix2Proof(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.firstMessage = $root.meerkat.Mix2Proof.FirstMessage.decode(reader, reader.uint32()); - break; - case 2: - message.finalMessage = $root.meerkat.Mix2Proof.FinalMessage.decode(reader, reader.uint32()); - break; - case 5: - message.location = $root.meerkat.Mix2Proof.Location.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Mix2Proof message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.Mix2Proof - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.Mix2Proof} Mix2Proof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Mix2Proof.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Mix2Proof message. - * @function verify - * @memberof meerkat.Mix2Proof - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Mix2Proof.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.firstMessage != null && message.hasOwnProperty("firstMessage")) { - var error = $root.meerkat.Mix2Proof.FirstMessage.verify(message.firstMessage); - if (error) - return "firstMessage." + error; - } - if (message.finalMessage != null && message.hasOwnProperty("finalMessage")) { - error = $root.meerkat.Mix2Proof.FinalMessage.verify(message.finalMessage); - if (error) - return "finalMessage." + error; - } - if (message.location != null && message.hasOwnProperty("location")) { - error = $root.meerkat.Mix2Proof.Location.verify(message.location); - if (error) - return "location." + error; - } - return null; - }; - - /** - * Creates a Mix2Proof message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.Mix2Proof - * @static - * @param {Object.} object Plain object - * @returns {meerkat.Mix2Proof} Mix2Proof - */ - Mix2Proof.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.Mix2Proof) - return object; - var message = new $root.meerkat.Mix2Proof(); - if (object.firstMessage != null) { - if (typeof object.firstMessage !== "object") - throw TypeError(".meerkat.Mix2Proof.firstMessage: object expected"); - message.firstMessage = $root.meerkat.Mix2Proof.FirstMessage.fromObject(object.firstMessage); - } - if (object.finalMessage != null) { - if (typeof object.finalMessage !== "object") - throw TypeError(".meerkat.Mix2Proof.finalMessage: object expected"); - message.finalMessage = $root.meerkat.Mix2Proof.FinalMessage.fromObject(object.finalMessage); - } - if (object.location != null) { - if (typeof object.location !== "object") - throw TypeError(".meerkat.Mix2Proof.location: object expected"); - message.location = $root.meerkat.Mix2Proof.Location.fromObject(object.location); - } - return message; - }; - - /** - * Creates a plain object from a Mix2Proof message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.Mix2Proof - * @static - * @param {meerkat.Mix2Proof} message Mix2Proof - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Mix2Proof.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.firstMessage = null; - object.finalMessage = null; - object.location = null; - } - if (message.firstMessage != null && message.hasOwnProperty("firstMessage")) - object.firstMessage = $root.meerkat.Mix2Proof.FirstMessage.toObject(message.firstMessage, options); - if (message.finalMessage != null && message.hasOwnProperty("finalMessage")) - object.finalMessage = $root.meerkat.Mix2Proof.FinalMessage.toObject(message.finalMessage, options); - if (message.location != null && message.hasOwnProperty("location")) - object.location = $root.meerkat.Mix2Proof.Location.toObject(message.location, options); - return object; - }; - - /** - * Converts this Mix2Proof to JSON. - * @function toJSON - * @memberof meerkat.Mix2Proof - * @instance - * @returns {Object.} JSON object - */ - Mix2Proof.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - Mix2Proof.DlogProof = (function() { - - /** - * Properties of a DlogProof. - * @memberof meerkat.Mix2Proof - * @interface IDlogProof - */ - - /** - * Constructs a new DlogProof. - * @memberof meerkat.Mix2Proof - * @classdesc Represents a DlogProof. - * @constructor - * @param {meerkat.Mix2Proof.IDlogProof=} [properties] Properties to set - */ - function DlogProof(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new DlogProof instance using the specified properties. - * @function create - * @memberof meerkat.Mix2Proof.DlogProof - * @static - * @param {meerkat.Mix2Proof.IDlogProof=} [properties] Properties to set - * @returns {meerkat.Mix2Proof.DlogProof} DlogProof instance - */ - DlogProof.create = function create(properties) { - return new DlogProof(properties); - }; - - /** - * Encodes the specified DlogProof message. Does not implicitly {@link meerkat.Mix2Proof.DlogProof.verify|verify} messages. - * @function encode - * @memberof meerkat.Mix2Proof.DlogProof - * @static - * @param {meerkat.Mix2Proof.IDlogProof} message DlogProof message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DlogProof.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified DlogProof message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.DlogProof.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.Mix2Proof.DlogProof - * @static - * @param {meerkat.Mix2Proof.IDlogProof} message DlogProof message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DlogProof.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a DlogProof message from the specified reader or buffer. - * @function decode - * @memberof meerkat.Mix2Proof.DlogProof - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.Mix2Proof.DlogProof} DlogProof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DlogProof.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.Mix2Proof.DlogProof(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a DlogProof message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.Mix2Proof.DlogProof - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.Mix2Proof.DlogProof} DlogProof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DlogProof.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a DlogProof message. - * @function verify - * @memberof meerkat.Mix2Proof.DlogProof - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - DlogProof.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a DlogProof message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.Mix2Proof.DlogProof - * @static - * @param {Object.} object Plain object - * @returns {meerkat.Mix2Proof.DlogProof} DlogProof - */ - DlogProof.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.Mix2Proof.DlogProof) - return object; - return new $root.meerkat.Mix2Proof.DlogProof(); - }; - - /** - * Creates a plain object from a DlogProof message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.Mix2Proof.DlogProof - * @static - * @param {meerkat.Mix2Proof.DlogProof} message DlogProof - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - DlogProof.toObject = function toObject() { - return {}; - }; - - /** - * Converts this DlogProof to JSON. - * @function toJSON - * @memberof meerkat.Mix2Proof.DlogProof - * @instance - * @returns {Object.} JSON object - */ - DlogProof.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - DlogProof.FirstMessage = (function() { - - /** - * Properties of a FirstMessage. - * @memberof meerkat.Mix2Proof.DlogProof - * @interface IFirstMessage - * @property {meerkat.IGroupElement} [gr] FirstMessage gr - * @property {meerkat.IGroupElement} [hr] FirstMessage hr - */ - - /** - * Constructs a new FirstMessage. - * @memberof meerkat.Mix2Proof.DlogProof - * @classdesc Represents a FirstMessage. - * @constructor - * @param {meerkat.Mix2Proof.DlogProof.IFirstMessage=} [properties] Properties to set - */ - function FirstMessage(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * FirstMessage gr. - * @member {(meerkat.IGroupElement|null|undefined)}gr - * @memberof meerkat.Mix2Proof.DlogProof.FirstMessage - * @instance - */ - FirstMessage.prototype.gr = null; - - /** - * FirstMessage hr. - * @member {(meerkat.IGroupElement|null|undefined)}hr - * @memberof meerkat.Mix2Proof.DlogProof.FirstMessage - * @instance - */ - FirstMessage.prototype.hr = null; - - /** - * Creates a new FirstMessage instance using the specified properties. - * @function create - * @memberof meerkat.Mix2Proof.DlogProof.FirstMessage - * @static - * @param {meerkat.Mix2Proof.DlogProof.IFirstMessage=} [properties] Properties to set - * @returns {meerkat.Mix2Proof.DlogProof.FirstMessage} FirstMessage instance - */ - FirstMessage.create = function create(properties) { - return new FirstMessage(properties); - }; - - /** - * Encodes the specified FirstMessage message. Does not implicitly {@link meerkat.Mix2Proof.DlogProof.FirstMessage.verify|verify} messages. - * @function encode - * @memberof meerkat.Mix2Proof.DlogProof.FirstMessage - * @static - * @param {meerkat.Mix2Proof.DlogProof.IFirstMessage} message FirstMessage message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FirstMessage.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.gr != null && message.hasOwnProperty("gr")) - $root.meerkat.GroupElement.encode(message.gr, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.hr != null && message.hasOwnProperty("hr")) - $root.meerkat.GroupElement.encode(message.hr, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified FirstMessage message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.DlogProof.FirstMessage.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.Mix2Proof.DlogProof.FirstMessage - * @static - * @param {meerkat.Mix2Proof.DlogProof.IFirstMessage} message FirstMessage message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FirstMessage.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a FirstMessage message from the specified reader or buffer. - * @function decode - * @memberof meerkat.Mix2Proof.DlogProof.FirstMessage - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.Mix2Proof.DlogProof.FirstMessage} FirstMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FirstMessage.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.Mix2Proof.DlogProof.FirstMessage(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.gr = $root.meerkat.GroupElement.decode(reader, reader.uint32()); - break; - case 2: - message.hr = $root.meerkat.GroupElement.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a FirstMessage message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.Mix2Proof.DlogProof.FirstMessage - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.Mix2Proof.DlogProof.FirstMessage} FirstMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FirstMessage.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a FirstMessage message. - * @function verify - * @memberof meerkat.Mix2Proof.DlogProof.FirstMessage - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - FirstMessage.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.gr != null && message.hasOwnProperty("gr")) { - var error = $root.meerkat.GroupElement.verify(message.gr); - if (error) - return "gr." + error; - } - if (message.hr != null && message.hasOwnProperty("hr")) { - error = $root.meerkat.GroupElement.verify(message.hr); - if (error) - return "hr." + error; - } - return null; - }; - - /** - * Creates a FirstMessage message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.Mix2Proof.DlogProof.FirstMessage - * @static - * @param {Object.} object Plain object - * @returns {meerkat.Mix2Proof.DlogProof.FirstMessage} FirstMessage - */ - FirstMessage.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.Mix2Proof.DlogProof.FirstMessage) - return object; - var message = new $root.meerkat.Mix2Proof.DlogProof.FirstMessage(); - if (object.gr != null) { - if (typeof object.gr !== "object") - throw TypeError(".meerkat.Mix2Proof.DlogProof.FirstMessage.gr: object expected"); - message.gr = $root.meerkat.GroupElement.fromObject(object.gr); - } - if (object.hr != null) { - if (typeof object.hr !== "object") - throw TypeError(".meerkat.Mix2Proof.DlogProof.FirstMessage.hr: object expected"); - message.hr = $root.meerkat.GroupElement.fromObject(object.hr); - } - return message; - }; - - /** - * Creates a plain object from a FirstMessage message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.Mix2Proof.DlogProof.FirstMessage - * @static - * @param {meerkat.Mix2Proof.DlogProof.FirstMessage} message FirstMessage - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - FirstMessage.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.gr = null; - object.hr = null; - } - if (message.gr != null && message.hasOwnProperty("gr")) - object.gr = $root.meerkat.GroupElement.toObject(message.gr, options); - if (message.hr != null && message.hasOwnProperty("hr")) - object.hr = $root.meerkat.GroupElement.toObject(message.hr, options); - return object; - }; - - /** - * Converts this FirstMessage to JSON. - * @function toJSON - * @memberof meerkat.Mix2Proof.DlogProof.FirstMessage - * @instance - * @returns {Object.} JSON object - */ - FirstMessage.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return FirstMessage; - })(); - - DlogProof.FinalMessage = (function() { - - /** - * Properties of a FinalMessage. - * @memberof meerkat.Mix2Proof.DlogProof - * @interface IFinalMessage - * @property {meerkat.IBigInteger} [xcr] FinalMessage xcr - */ - - /** - * Constructs a new FinalMessage. - * @memberof meerkat.Mix2Proof.DlogProof - * @classdesc Represents a FinalMessage. - * @constructor - * @param {meerkat.Mix2Proof.DlogProof.IFinalMessage=} [properties] Properties to set - */ - function FinalMessage(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * FinalMessage xcr. - * @member {(meerkat.IBigInteger|null|undefined)}xcr - * @memberof meerkat.Mix2Proof.DlogProof.FinalMessage - * @instance - */ - FinalMessage.prototype.xcr = null; - - /** - * Creates a new FinalMessage instance using the specified properties. - * @function create - * @memberof meerkat.Mix2Proof.DlogProof.FinalMessage - * @static - * @param {meerkat.Mix2Proof.DlogProof.IFinalMessage=} [properties] Properties to set - * @returns {meerkat.Mix2Proof.DlogProof.FinalMessage} FinalMessage instance - */ - FinalMessage.create = function create(properties) { - return new FinalMessage(properties); - }; - - /** - * Encodes the specified FinalMessage message. Does not implicitly {@link meerkat.Mix2Proof.DlogProof.FinalMessage.verify|verify} messages. - * @function encode - * @memberof meerkat.Mix2Proof.DlogProof.FinalMessage - * @static - * @param {meerkat.Mix2Proof.DlogProof.IFinalMessage} message FinalMessage message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FinalMessage.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.xcr != null && message.hasOwnProperty("xcr")) - $root.meerkat.BigInteger.encode(message.xcr, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified FinalMessage message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.DlogProof.FinalMessage.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.Mix2Proof.DlogProof.FinalMessage - * @static - * @param {meerkat.Mix2Proof.DlogProof.IFinalMessage} message FinalMessage message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FinalMessage.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a FinalMessage message from the specified reader or buffer. - * @function decode - * @memberof meerkat.Mix2Proof.DlogProof.FinalMessage - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.Mix2Proof.DlogProof.FinalMessage} FinalMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FinalMessage.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.Mix2Proof.DlogProof.FinalMessage(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.xcr = $root.meerkat.BigInteger.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a FinalMessage message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.Mix2Proof.DlogProof.FinalMessage - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.Mix2Proof.DlogProof.FinalMessage} FinalMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FinalMessage.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a FinalMessage message. - * @function verify - * @memberof meerkat.Mix2Proof.DlogProof.FinalMessage - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - FinalMessage.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.xcr != null && message.hasOwnProperty("xcr")) { - var error = $root.meerkat.BigInteger.verify(message.xcr); - if (error) - return "xcr." + error; - } - return null; - }; - - /** - * Creates a FinalMessage message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.Mix2Proof.DlogProof.FinalMessage - * @static - * @param {Object.} object Plain object - * @returns {meerkat.Mix2Proof.DlogProof.FinalMessage} FinalMessage - */ - FinalMessage.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.Mix2Proof.DlogProof.FinalMessage) - return object; - var message = new $root.meerkat.Mix2Proof.DlogProof.FinalMessage(); - if (object.xcr != null) { - if (typeof object.xcr !== "object") - throw TypeError(".meerkat.Mix2Proof.DlogProof.FinalMessage.xcr: object expected"); - message.xcr = $root.meerkat.BigInteger.fromObject(object.xcr); - } - return message; - }; - - /** - * Creates a plain object from a FinalMessage message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.Mix2Proof.DlogProof.FinalMessage - * @static - * @param {meerkat.Mix2Proof.DlogProof.FinalMessage} message FinalMessage - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - FinalMessage.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.xcr = null; - if (message.xcr != null && message.hasOwnProperty("xcr")) - object.xcr = $root.meerkat.BigInteger.toObject(message.xcr, options); - return object; - }; - - /** - * Converts this FinalMessage to JSON. - * @function toJSON - * @memberof meerkat.Mix2Proof.DlogProof.FinalMessage - * @instance - * @returns {Object.} JSON object - */ - FinalMessage.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return FinalMessage; - })(); - - return DlogProof; - })(); - - Mix2Proof.AndProof = (function() { - - /** - * Properties of an AndProof. - * @memberof meerkat.Mix2Proof - * @interface IAndProof - */ - - /** - * Constructs a new AndProof. - * @memberof meerkat.Mix2Proof - * @classdesc Represents an AndProof. - * @constructor - * @param {meerkat.Mix2Proof.IAndProof=} [properties] Properties to set - */ - function AndProof(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new AndProof instance using the specified properties. - * @function create - * @memberof meerkat.Mix2Proof.AndProof - * @static - * @param {meerkat.Mix2Proof.IAndProof=} [properties] Properties to set - * @returns {meerkat.Mix2Proof.AndProof} AndProof instance - */ - AndProof.create = function create(properties) { - return new AndProof(properties); - }; - - /** - * Encodes the specified AndProof message. Does not implicitly {@link meerkat.Mix2Proof.AndProof.verify|verify} messages. - * @function encode - * @memberof meerkat.Mix2Proof.AndProof - * @static - * @param {meerkat.Mix2Proof.IAndProof} message AndProof message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - AndProof.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified AndProof message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.AndProof.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.Mix2Proof.AndProof - * @static - * @param {meerkat.Mix2Proof.IAndProof} message AndProof message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - AndProof.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an AndProof message from the specified reader or buffer. - * @function decode - * @memberof meerkat.Mix2Proof.AndProof - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.Mix2Proof.AndProof} AndProof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - AndProof.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.Mix2Proof.AndProof(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an AndProof message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.Mix2Proof.AndProof - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.Mix2Proof.AndProof} AndProof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - AndProof.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an AndProof message. - * @function verify - * @memberof meerkat.Mix2Proof.AndProof - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - AndProof.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates an AndProof message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.Mix2Proof.AndProof - * @static - * @param {Object.} object Plain object - * @returns {meerkat.Mix2Proof.AndProof} AndProof - */ - AndProof.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.Mix2Proof.AndProof) - return object; - return new $root.meerkat.Mix2Proof.AndProof(); - }; - - /** - * Creates a plain object from an AndProof message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.Mix2Proof.AndProof - * @static - * @param {meerkat.Mix2Proof.AndProof} message AndProof - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - AndProof.toObject = function toObject() { - return {}; - }; - - /** - * Converts this AndProof to JSON. - * @function toJSON - * @memberof meerkat.Mix2Proof.AndProof - * @instance - * @returns {Object.} JSON object - */ - AndProof.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - AndProof.FirstMessage = (function() { - - /** - * Properties of a FirstMessage. - * @memberof meerkat.Mix2Proof.AndProof - * @interface IFirstMessage - * @property {meerkat.Mix2Proof.DlogProof.IFirstMessage} [clause0] FirstMessage clause0 - * @property {meerkat.Mix2Proof.DlogProof.IFirstMessage} [clause1] FirstMessage clause1 - */ - - /** - * Constructs a new FirstMessage. - * @memberof meerkat.Mix2Proof.AndProof - * @classdesc Represents a FirstMessage. - * @constructor - * @param {meerkat.Mix2Proof.AndProof.IFirstMessage=} [properties] Properties to set - */ - function FirstMessage(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * FirstMessage clause0. - * @member {(meerkat.Mix2Proof.DlogProof.IFirstMessage|null|undefined)}clause0 - * @memberof meerkat.Mix2Proof.AndProof.FirstMessage - * @instance - */ - FirstMessage.prototype.clause0 = null; - - /** - * FirstMessage clause1. - * @member {(meerkat.Mix2Proof.DlogProof.IFirstMessage|null|undefined)}clause1 - * @memberof meerkat.Mix2Proof.AndProof.FirstMessage - * @instance - */ - FirstMessage.prototype.clause1 = null; - - /** - * Creates a new FirstMessage instance using the specified properties. - * @function create - * @memberof meerkat.Mix2Proof.AndProof.FirstMessage - * @static - * @param {meerkat.Mix2Proof.AndProof.IFirstMessage=} [properties] Properties to set - * @returns {meerkat.Mix2Proof.AndProof.FirstMessage} FirstMessage instance - */ - FirstMessage.create = function create(properties) { - return new FirstMessage(properties); - }; - - /** - * Encodes the specified FirstMessage message. Does not implicitly {@link meerkat.Mix2Proof.AndProof.FirstMessage.verify|verify} messages. - * @function encode - * @memberof meerkat.Mix2Proof.AndProof.FirstMessage - * @static - * @param {meerkat.Mix2Proof.AndProof.IFirstMessage} message FirstMessage message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FirstMessage.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.clause0 != null && message.hasOwnProperty("clause0")) - $root.meerkat.Mix2Proof.DlogProof.FirstMessage.encode(message.clause0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.clause1 != null && message.hasOwnProperty("clause1")) - $root.meerkat.Mix2Proof.DlogProof.FirstMessage.encode(message.clause1, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified FirstMessage message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.AndProof.FirstMessage.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.Mix2Proof.AndProof.FirstMessage - * @static - * @param {meerkat.Mix2Proof.AndProof.IFirstMessage} message FirstMessage message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FirstMessage.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a FirstMessage message from the specified reader or buffer. - * @function decode - * @memberof meerkat.Mix2Proof.AndProof.FirstMessage - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.Mix2Proof.AndProof.FirstMessage} FirstMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FirstMessage.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.Mix2Proof.AndProof.FirstMessage(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.clause0 = $root.meerkat.Mix2Proof.DlogProof.FirstMessage.decode(reader, reader.uint32()); - break; - case 2: - message.clause1 = $root.meerkat.Mix2Proof.DlogProof.FirstMessage.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a FirstMessage message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.Mix2Proof.AndProof.FirstMessage - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.Mix2Proof.AndProof.FirstMessage} FirstMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FirstMessage.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a FirstMessage message. - * @function verify - * @memberof meerkat.Mix2Proof.AndProof.FirstMessage - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - FirstMessage.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.clause0 != null && message.hasOwnProperty("clause0")) { - var error = $root.meerkat.Mix2Proof.DlogProof.FirstMessage.verify(message.clause0); - if (error) - return "clause0." + error; - } - if (message.clause1 != null && message.hasOwnProperty("clause1")) { - error = $root.meerkat.Mix2Proof.DlogProof.FirstMessage.verify(message.clause1); - if (error) - return "clause1." + error; - } - return null; - }; - - /** - * Creates a FirstMessage message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.Mix2Proof.AndProof.FirstMessage - * @static - * @param {Object.} object Plain object - * @returns {meerkat.Mix2Proof.AndProof.FirstMessage} FirstMessage - */ - FirstMessage.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.Mix2Proof.AndProof.FirstMessage) - return object; - var message = new $root.meerkat.Mix2Proof.AndProof.FirstMessage(); - if (object.clause0 != null) { - if (typeof object.clause0 !== "object") - throw TypeError(".meerkat.Mix2Proof.AndProof.FirstMessage.clause0: object expected"); - message.clause0 = $root.meerkat.Mix2Proof.DlogProof.FirstMessage.fromObject(object.clause0); - } - if (object.clause1 != null) { - if (typeof object.clause1 !== "object") - throw TypeError(".meerkat.Mix2Proof.AndProof.FirstMessage.clause1: object expected"); - message.clause1 = $root.meerkat.Mix2Proof.DlogProof.FirstMessage.fromObject(object.clause1); - } - return message; - }; - - /** - * Creates a plain object from a FirstMessage message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.Mix2Proof.AndProof.FirstMessage - * @static - * @param {meerkat.Mix2Proof.AndProof.FirstMessage} message FirstMessage - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - FirstMessage.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.clause0 = null; - object.clause1 = null; - } - if (message.clause0 != null && message.hasOwnProperty("clause0")) - object.clause0 = $root.meerkat.Mix2Proof.DlogProof.FirstMessage.toObject(message.clause0, options); - if (message.clause1 != null && message.hasOwnProperty("clause1")) - object.clause1 = $root.meerkat.Mix2Proof.DlogProof.FirstMessage.toObject(message.clause1, options); - return object; - }; - - /** - * Converts this FirstMessage to JSON. - * @function toJSON - * @memberof meerkat.Mix2Proof.AndProof.FirstMessage - * @instance - * @returns {Object.} JSON object - */ - FirstMessage.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return FirstMessage; - })(); - - AndProof.FinalMessage = (function() { - - /** - * Properties of a FinalMessage. - * @memberof meerkat.Mix2Proof.AndProof - * @interface IFinalMessage - * @property {meerkat.Mix2Proof.DlogProof.IFinalMessage} [clause0] FinalMessage clause0 - * @property {meerkat.Mix2Proof.DlogProof.IFinalMessage} [clause1] FinalMessage clause1 - */ - - /** - * Constructs a new FinalMessage. - * @memberof meerkat.Mix2Proof.AndProof - * @classdesc Represents a FinalMessage. - * @constructor - * @param {meerkat.Mix2Proof.AndProof.IFinalMessage=} [properties] Properties to set - */ - function FinalMessage(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * FinalMessage clause0. - * @member {(meerkat.Mix2Proof.DlogProof.IFinalMessage|null|undefined)}clause0 - * @memberof meerkat.Mix2Proof.AndProof.FinalMessage - * @instance - */ - FinalMessage.prototype.clause0 = null; - - /** - * FinalMessage clause1. - * @member {(meerkat.Mix2Proof.DlogProof.IFinalMessage|null|undefined)}clause1 - * @memberof meerkat.Mix2Proof.AndProof.FinalMessage - * @instance - */ - FinalMessage.prototype.clause1 = null; - - /** - * Creates a new FinalMessage instance using the specified properties. - * @function create - * @memberof meerkat.Mix2Proof.AndProof.FinalMessage - * @static - * @param {meerkat.Mix2Proof.AndProof.IFinalMessage=} [properties] Properties to set - * @returns {meerkat.Mix2Proof.AndProof.FinalMessage} FinalMessage instance - */ - FinalMessage.create = function create(properties) { - return new FinalMessage(properties); - }; - - /** - * Encodes the specified FinalMessage message. Does not implicitly {@link meerkat.Mix2Proof.AndProof.FinalMessage.verify|verify} messages. - * @function encode - * @memberof meerkat.Mix2Proof.AndProof.FinalMessage - * @static - * @param {meerkat.Mix2Proof.AndProof.IFinalMessage} message FinalMessage message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FinalMessage.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.clause0 != null && message.hasOwnProperty("clause0")) - $root.meerkat.Mix2Proof.DlogProof.FinalMessage.encode(message.clause0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.clause1 != null && message.hasOwnProperty("clause1")) - $root.meerkat.Mix2Proof.DlogProof.FinalMessage.encode(message.clause1, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified FinalMessage message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.AndProof.FinalMessage.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.Mix2Proof.AndProof.FinalMessage - * @static - * @param {meerkat.Mix2Proof.AndProof.IFinalMessage} message FinalMessage message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FinalMessage.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a FinalMessage message from the specified reader or buffer. - * @function decode - * @memberof meerkat.Mix2Proof.AndProof.FinalMessage - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.Mix2Proof.AndProof.FinalMessage} FinalMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FinalMessage.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.Mix2Proof.AndProof.FinalMessage(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.clause0 = $root.meerkat.Mix2Proof.DlogProof.FinalMessage.decode(reader, reader.uint32()); - break; - case 2: - message.clause1 = $root.meerkat.Mix2Proof.DlogProof.FinalMessage.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a FinalMessage message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.Mix2Proof.AndProof.FinalMessage - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.Mix2Proof.AndProof.FinalMessage} FinalMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FinalMessage.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a FinalMessage message. - * @function verify - * @memberof meerkat.Mix2Proof.AndProof.FinalMessage - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - FinalMessage.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.clause0 != null && message.hasOwnProperty("clause0")) { - var error = $root.meerkat.Mix2Proof.DlogProof.FinalMessage.verify(message.clause0); - if (error) - return "clause0." + error; - } - if (message.clause1 != null && message.hasOwnProperty("clause1")) { - error = $root.meerkat.Mix2Proof.DlogProof.FinalMessage.verify(message.clause1); - if (error) - return "clause1." + error; - } - return null; - }; - - /** - * Creates a FinalMessage message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.Mix2Proof.AndProof.FinalMessage - * @static - * @param {Object.} object Plain object - * @returns {meerkat.Mix2Proof.AndProof.FinalMessage} FinalMessage - */ - FinalMessage.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.Mix2Proof.AndProof.FinalMessage) - return object; - var message = new $root.meerkat.Mix2Proof.AndProof.FinalMessage(); - if (object.clause0 != null) { - if (typeof object.clause0 !== "object") - throw TypeError(".meerkat.Mix2Proof.AndProof.FinalMessage.clause0: object expected"); - message.clause0 = $root.meerkat.Mix2Proof.DlogProof.FinalMessage.fromObject(object.clause0); - } - if (object.clause1 != null) { - if (typeof object.clause1 !== "object") - throw TypeError(".meerkat.Mix2Proof.AndProof.FinalMessage.clause1: object expected"); - message.clause1 = $root.meerkat.Mix2Proof.DlogProof.FinalMessage.fromObject(object.clause1); - } - return message; - }; - - /** - * Creates a plain object from a FinalMessage message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.Mix2Proof.AndProof.FinalMessage - * @static - * @param {meerkat.Mix2Proof.AndProof.FinalMessage} message FinalMessage - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - FinalMessage.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.clause0 = null; - object.clause1 = null; - } - if (message.clause0 != null && message.hasOwnProperty("clause0")) - object.clause0 = $root.meerkat.Mix2Proof.DlogProof.FinalMessage.toObject(message.clause0, options); - if (message.clause1 != null && message.hasOwnProperty("clause1")) - object.clause1 = $root.meerkat.Mix2Proof.DlogProof.FinalMessage.toObject(message.clause1, options); - return object; - }; - - /** - * Converts this FinalMessage to JSON. - * @function toJSON - * @memberof meerkat.Mix2Proof.AndProof.FinalMessage - * @instance - * @returns {Object.} JSON object - */ - FinalMessage.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return FinalMessage; - })(); - - return AndProof; - })(); - - Mix2Proof.FirstMessage = (function() { - - /** - * Properties of a FirstMessage. - * @memberof meerkat.Mix2Proof - * @interface IFirstMessage - * @property {meerkat.Mix2Proof.AndProof.IFirstMessage} [clause0] FirstMessage clause0 - * @property {meerkat.Mix2Proof.AndProof.IFirstMessage} [clause1] FirstMessage clause1 - */ - - /** - * Constructs a new FirstMessage. - * @memberof meerkat.Mix2Proof - * @classdesc Represents a FirstMessage. - * @constructor - * @param {meerkat.Mix2Proof.IFirstMessage=} [properties] Properties to set - */ - function FirstMessage(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * FirstMessage clause0. - * @member {(meerkat.Mix2Proof.AndProof.IFirstMessage|null|undefined)}clause0 - * @memberof meerkat.Mix2Proof.FirstMessage - * @instance - */ - FirstMessage.prototype.clause0 = null; - - /** - * FirstMessage clause1. - * @member {(meerkat.Mix2Proof.AndProof.IFirstMessage|null|undefined)}clause1 - * @memberof meerkat.Mix2Proof.FirstMessage - * @instance - */ - FirstMessage.prototype.clause1 = null; - - /** - * Creates a new FirstMessage instance using the specified properties. - * @function create - * @memberof meerkat.Mix2Proof.FirstMessage - * @static - * @param {meerkat.Mix2Proof.IFirstMessage=} [properties] Properties to set - * @returns {meerkat.Mix2Proof.FirstMessage} FirstMessage instance - */ - FirstMessage.create = function create(properties) { - return new FirstMessage(properties); - }; - - /** - * Encodes the specified FirstMessage message. Does not implicitly {@link meerkat.Mix2Proof.FirstMessage.verify|verify} messages. - * @function encode - * @memberof meerkat.Mix2Proof.FirstMessage - * @static - * @param {meerkat.Mix2Proof.IFirstMessage} message FirstMessage message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FirstMessage.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.clause0 != null && message.hasOwnProperty("clause0")) - $root.meerkat.Mix2Proof.AndProof.FirstMessage.encode(message.clause0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.clause1 != null && message.hasOwnProperty("clause1")) - $root.meerkat.Mix2Proof.AndProof.FirstMessage.encode(message.clause1, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified FirstMessage message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.FirstMessage.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.Mix2Proof.FirstMessage - * @static - * @param {meerkat.Mix2Proof.IFirstMessage} message FirstMessage message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FirstMessage.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a FirstMessage message from the specified reader or buffer. - * @function decode - * @memberof meerkat.Mix2Proof.FirstMessage - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.Mix2Proof.FirstMessage} FirstMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FirstMessage.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.Mix2Proof.FirstMessage(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.clause0 = $root.meerkat.Mix2Proof.AndProof.FirstMessage.decode(reader, reader.uint32()); - break; - case 2: - message.clause1 = $root.meerkat.Mix2Proof.AndProof.FirstMessage.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a FirstMessage message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.Mix2Proof.FirstMessage - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.Mix2Proof.FirstMessage} FirstMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FirstMessage.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a FirstMessage message. - * @function verify - * @memberof meerkat.Mix2Proof.FirstMessage - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - FirstMessage.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.clause0 != null && message.hasOwnProperty("clause0")) { - var error = $root.meerkat.Mix2Proof.AndProof.FirstMessage.verify(message.clause0); - if (error) - return "clause0." + error; - } - if (message.clause1 != null && message.hasOwnProperty("clause1")) { - error = $root.meerkat.Mix2Proof.AndProof.FirstMessage.verify(message.clause1); - if (error) - return "clause1." + error; - } - return null; - }; - - /** - * Creates a FirstMessage message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.Mix2Proof.FirstMessage - * @static - * @param {Object.} object Plain object - * @returns {meerkat.Mix2Proof.FirstMessage} FirstMessage - */ - FirstMessage.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.Mix2Proof.FirstMessage) - return object; - var message = new $root.meerkat.Mix2Proof.FirstMessage(); - if (object.clause0 != null) { - if (typeof object.clause0 !== "object") - throw TypeError(".meerkat.Mix2Proof.FirstMessage.clause0: object expected"); - message.clause0 = $root.meerkat.Mix2Proof.AndProof.FirstMessage.fromObject(object.clause0); - } - if (object.clause1 != null) { - if (typeof object.clause1 !== "object") - throw TypeError(".meerkat.Mix2Proof.FirstMessage.clause1: object expected"); - message.clause1 = $root.meerkat.Mix2Proof.AndProof.FirstMessage.fromObject(object.clause1); - } - return message; - }; - - /** - * Creates a plain object from a FirstMessage message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.Mix2Proof.FirstMessage - * @static - * @param {meerkat.Mix2Proof.FirstMessage} message FirstMessage - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - FirstMessage.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.clause0 = null; - object.clause1 = null; - } - if (message.clause0 != null && message.hasOwnProperty("clause0")) - object.clause0 = $root.meerkat.Mix2Proof.AndProof.FirstMessage.toObject(message.clause0, options); - if (message.clause1 != null && message.hasOwnProperty("clause1")) - object.clause1 = $root.meerkat.Mix2Proof.AndProof.FirstMessage.toObject(message.clause1, options); - return object; - }; - - /** - * Converts this FirstMessage to JSON. - * @function toJSON - * @memberof meerkat.Mix2Proof.FirstMessage - * @instance - * @returns {Object.} JSON object - */ - FirstMessage.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return FirstMessage; - })(); - - Mix2Proof.FinalMessage = (function() { - - /** - * Properties of a FinalMessage. - * @memberof meerkat.Mix2Proof - * @interface IFinalMessage - * @property {meerkat.Mix2Proof.AndProof.IFinalMessage} [clause0] FinalMessage clause0 - * @property {meerkat.Mix2Proof.AndProof.IFinalMessage} [clause1] FinalMessage clause1 - * @property {meerkat.IBigInteger} [c0] FinalMessage c0 - */ - - /** - * Constructs a new FinalMessage. - * @memberof meerkat.Mix2Proof - * @classdesc Represents a FinalMessage. - * @constructor - * @param {meerkat.Mix2Proof.IFinalMessage=} [properties] Properties to set - */ - function FinalMessage(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * FinalMessage clause0. - * @member {(meerkat.Mix2Proof.AndProof.IFinalMessage|null|undefined)}clause0 - * @memberof meerkat.Mix2Proof.FinalMessage - * @instance - */ - FinalMessage.prototype.clause0 = null; - - /** - * FinalMessage clause1. - * @member {(meerkat.Mix2Proof.AndProof.IFinalMessage|null|undefined)}clause1 - * @memberof meerkat.Mix2Proof.FinalMessage - * @instance - */ - FinalMessage.prototype.clause1 = null; - - /** - * FinalMessage c0. - * @member {(meerkat.IBigInteger|null|undefined)}c0 - * @memberof meerkat.Mix2Proof.FinalMessage - * @instance - */ - FinalMessage.prototype.c0 = null; - - /** - * Creates a new FinalMessage instance using the specified properties. - * @function create - * @memberof meerkat.Mix2Proof.FinalMessage - * @static - * @param {meerkat.Mix2Proof.IFinalMessage=} [properties] Properties to set - * @returns {meerkat.Mix2Proof.FinalMessage} FinalMessage instance - */ - FinalMessage.create = function create(properties) { - return new FinalMessage(properties); - }; - - /** - * Encodes the specified FinalMessage message. Does not implicitly {@link meerkat.Mix2Proof.FinalMessage.verify|verify} messages. - * @function encode - * @memberof meerkat.Mix2Proof.FinalMessage - * @static - * @param {meerkat.Mix2Proof.IFinalMessage} message FinalMessage message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FinalMessage.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.clause0 != null && message.hasOwnProperty("clause0")) - $root.meerkat.Mix2Proof.AndProof.FinalMessage.encode(message.clause0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.clause1 != null && message.hasOwnProperty("clause1")) - $root.meerkat.Mix2Proof.AndProof.FinalMessage.encode(message.clause1, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.c0 != null && message.hasOwnProperty("c0")) - $root.meerkat.BigInteger.encode(message.c0, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified FinalMessage message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.FinalMessage.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.Mix2Proof.FinalMessage - * @static - * @param {meerkat.Mix2Proof.IFinalMessage} message FinalMessage message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FinalMessage.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a FinalMessage message from the specified reader or buffer. - * @function decode - * @memberof meerkat.Mix2Proof.FinalMessage - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.Mix2Proof.FinalMessage} FinalMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FinalMessage.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.Mix2Proof.FinalMessage(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.clause0 = $root.meerkat.Mix2Proof.AndProof.FinalMessage.decode(reader, reader.uint32()); - break; - case 2: - message.clause1 = $root.meerkat.Mix2Proof.AndProof.FinalMessage.decode(reader, reader.uint32()); - break; - case 3: - message.c0 = $root.meerkat.BigInteger.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a FinalMessage message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.Mix2Proof.FinalMessage - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.Mix2Proof.FinalMessage} FinalMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FinalMessage.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a FinalMessage message. - * @function verify - * @memberof meerkat.Mix2Proof.FinalMessage - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - FinalMessage.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.clause0 != null && message.hasOwnProperty("clause0")) { - var error = $root.meerkat.Mix2Proof.AndProof.FinalMessage.verify(message.clause0); - if (error) - return "clause0." + error; - } - if (message.clause1 != null && message.hasOwnProperty("clause1")) { - error = $root.meerkat.Mix2Proof.AndProof.FinalMessage.verify(message.clause1); - if (error) - return "clause1." + error; - } - if (message.c0 != null && message.hasOwnProperty("c0")) { - error = $root.meerkat.BigInteger.verify(message.c0); - if (error) - return "c0." + error; - } - return null; - }; - - /** - * Creates a FinalMessage message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.Mix2Proof.FinalMessage - * @static - * @param {Object.} object Plain object - * @returns {meerkat.Mix2Proof.FinalMessage} FinalMessage - */ - FinalMessage.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.Mix2Proof.FinalMessage) - return object; - var message = new $root.meerkat.Mix2Proof.FinalMessage(); - if (object.clause0 != null) { - if (typeof object.clause0 !== "object") - throw TypeError(".meerkat.Mix2Proof.FinalMessage.clause0: object expected"); - message.clause0 = $root.meerkat.Mix2Proof.AndProof.FinalMessage.fromObject(object.clause0); - } - if (object.clause1 != null) { - if (typeof object.clause1 !== "object") - throw TypeError(".meerkat.Mix2Proof.FinalMessage.clause1: object expected"); - message.clause1 = $root.meerkat.Mix2Proof.AndProof.FinalMessage.fromObject(object.clause1); - } - if (object.c0 != null) { - if (typeof object.c0 !== "object") - throw TypeError(".meerkat.Mix2Proof.FinalMessage.c0: object expected"); - message.c0 = $root.meerkat.BigInteger.fromObject(object.c0); - } - return message; - }; - - /** - * Creates a plain object from a FinalMessage message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.Mix2Proof.FinalMessage - * @static - * @param {meerkat.Mix2Proof.FinalMessage} message FinalMessage - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - FinalMessage.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.clause0 = null; - object.clause1 = null; - object.c0 = null; - } - if (message.clause0 != null && message.hasOwnProperty("clause0")) - object.clause0 = $root.meerkat.Mix2Proof.AndProof.FinalMessage.toObject(message.clause0, options); - if (message.clause1 != null && message.hasOwnProperty("clause1")) - object.clause1 = $root.meerkat.Mix2Proof.AndProof.FinalMessage.toObject(message.clause1, options); - if (message.c0 != null && message.hasOwnProperty("c0")) - object.c0 = $root.meerkat.BigInteger.toObject(message.c0, options); - return object; - }; - - /** - * Converts this FinalMessage to JSON. - * @function toJSON - * @memberof meerkat.Mix2Proof.FinalMessage - * @instance - * @returns {Object.} JSON object - */ - FinalMessage.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return FinalMessage; - })(); - - Mix2Proof.Location = (function() { - - /** - * Properties of a Location. - * @memberof meerkat.Mix2Proof - * @interface ILocation - * @property {number} [layer] Location layer - * @property {number} [switchIdx] Location switchIdx - * @property {number} [out0] Location out0 - * @property {number} [out1] Location out1 - */ - - /** - * Constructs a new Location. - * @memberof meerkat.Mix2Proof - * @classdesc Represents a Location. - * @constructor - * @param {meerkat.Mix2Proof.ILocation=} [properties] Properties to set - */ - function Location(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Location layer. - * @member {number}layer - * @memberof meerkat.Mix2Proof.Location - * @instance - */ - Location.prototype.layer = 0; - - /** - * Location switchIdx. - * @member {number}switchIdx - * @memberof meerkat.Mix2Proof.Location - * @instance - */ - Location.prototype.switchIdx = 0; - - /** - * Location out0. - * @member {number}out0 - * @memberof meerkat.Mix2Proof.Location - * @instance - */ - Location.prototype.out0 = 0; - - /** - * Location out1. - * @member {number}out1 - * @memberof meerkat.Mix2Proof.Location - * @instance - */ - Location.prototype.out1 = 0; - - /** - * Creates a new Location instance using the specified properties. - * @function create - * @memberof meerkat.Mix2Proof.Location - * @static - * @param {meerkat.Mix2Proof.ILocation=} [properties] Properties to set - * @returns {meerkat.Mix2Proof.Location} Location instance - */ - Location.create = function create(properties) { - return new Location(properties); - }; - - /** - * Encodes the specified Location message. Does not implicitly {@link meerkat.Mix2Proof.Location.verify|verify} messages. - * @function encode - * @memberof meerkat.Mix2Proof.Location - * @static - * @param {meerkat.Mix2Proof.ILocation} message Location message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Location.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.layer != null && message.hasOwnProperty("layer")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.layer); - if (message.switchIdx != null && message.hasOwnProperty("switchIdx")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.switchIdx); - if (message.out0 != null && message.hasOwnProperty("out0")) - writer.uint32(/* id 3, wireType 0 =*/24).int32(message.out0); - if (message.out1 != null && message.hasOwnProperty("out1")) - writer.uint32(/* id 4, wireType 0 =*/32).int32(message.out1); - return writer; - }; - - /** - * Encodes the specified Location message, length delimited. Does not implicitly {@link meerkat.Mix2Proof.Location.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.Mix2Proof.Location - * @static - * @param {meerkat.Mix2Proof.ILocation} message Location message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Location.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Location message from the specified reader or buffer. - * @function decode - * @memberof meerkat.Mix2Proof.Location - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.Mix2Proof.Location} Location - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Location.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.Mix2Proof.Location(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.layer = reader.int32(); - break; - case 2: - message.switchIdx = reader.int32(); - break; - case 3: - message.out0 = reader.int32(); - break; - case 4: - message.out1 = reader.int32(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Location message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.Mix2Proof.Location - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.Mix2Proof.Location} Location - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Location.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Location message. - * @function verify - * @memberof meerkat.Mix2Proof.Location - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Location.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.layer != null && message.hasOwnProperty("layer")) - if (!$util.isInteger(message.layer)) - return "layer: integer expected"; - if (message.switchIdx != null && message.hasOwnProperty("switchIdx")) - if (!$util.isInteger(message.switchIdx)) - return "switchIdx: integer expected"; - if (message.out0 != null && message.hasOwnProperty("out0")) - if (!$util.isInteger(message.out0)) - return "out0: integer expected"; - if (message.out1 != null && message.hasOwnProperty("out1")) - if (!$util.isInteger(message.out1)) - return "out1: integer expected"; - return null; - }; - - /** - * Creates a Location message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.Mix2Proof.Location - * @static - * @param {Object.} object Plain object - * @returns {meerkat.Mix2Proof.Location} Location - */ - Location.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.Mix2Proof.Location) - return object; - var message = new $root.meerkat.Mix2Proof.Location(); - if (object.layer != null) - message.layer = object.layer | 0; - if (object.switchIdx != null) - message.switchIdx = object.switchIdx | 0; - if (object.out0 != null) - message.out0 = object.out0 | 0; - if (object.out1 != null) - message.out1 = object.out1 | 0; - return message; - }; - - /** - * Creates a plain object from a Location message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.Mix2Proof.Location - * @static - * @param {meerkat.Mix2Proof.Location} message Location - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Location.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.layer = 0; - object.switchIdx = 0; - object.out0 = 0; - object.out1 = 0; - } - if (message.layer != null && message.hasOwnProperty("layer")) - object.layer = message.layer; - if (message.switchIdx != null && message.hasOwnProperty("switchIdx")) - object.switchIdx = message.switchIdx; - if (message.out0 != null && message.hasOwnProperty("out0")) - object.out0 = message.out0; - if (message.out1 != null && message.hasOwnProperty("out1")) - object.out1 = message.out1; - return object; - }; - - /** - * Converts this Location to JSON. - * @function toJSON - * @memberof meerkat.Mix2Proof.Location - * @instance - * @returns {Object.} JSON object - */ - Location.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Location; - })(); - - return Mix2Proof; - })(); - - meerkat.ConnectionServerData = (function() { - - /** - * Properties of a ConnectionServerData. - * @memberof meerkat - * @interface IConnectionServerData - * @property {string} [serverUrl] ConnectionServerData serverUrl - * @property {number|Long} [nonce] ConnectionServerData nonce - */ - - /** - * Constructs a new ConnectionServerData. - * @memberof meerkat - * @classdesc Represents a ConnectionServerData. - * @constructor - * @param {meerkat.IConnectionServerData=} [properties] Properties to set - */ - function ConnectionServerData(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ConnectionServerData serverUrl. - * @member {string}serverUrl - * @memberof meerkat.ConnectionServerData - * @instance - */ - ConnectionServerData.prototype.serverUrl = ""; - - /** - * ConnectionServerData nonce. - * @member {number|Long}nonce - * @memberof meerkat.ConnectionServerData - * @instance - */ - ConnectionServerData.prototype.nonce = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Creates a new ConnectionServerData instance using the specified properties. - * @function create - * @memberof meerkat.ConnectionServerData - * @static - * @param {meerkat.IConnectionServerData=} [properties] Properties to set - * @returns {meerkat.ConnectionServerData} ConnectionServerData instance - */ - ConnectionServerData.create = function create(properties) { - return new ConnectionServerData(properties); - }; - - /** - * Encodes the specified ConnectionServerData message. Does not implicitly {@link meerkat.ConnectionServerData.verify|verify} messages. - * @function encode - * @memberof meerkat.ConnectionServerData - * @static - * @param {meerkat.IConnectionServerData} message ConnectionServerData message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ConnectionServerData.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.serverUrl != null && message.hasOwnProperty("serverUrl")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.serverUrl); - if (message.nonce != null && message.hasOwnProperty("nonce")) - writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.nonce); - return writer; - }; - - /** - * Encodes the specified ConnectionServerData message, length delimited. Does not implicitly {@link meerkat.ConnectionServerData.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.ConnectionServerData - * @static - * @param {meerkat.IConnectionServerData} message ConnectionServerData message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ConnectionServerData.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ConnectionServerData message from the specified reader or buffer. - * @function decode - * @memberof meerkat.ConnectionServerData - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.ConnectionServerData} ConnectionServerData - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ConnectionServerData.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.ConnectionServerData(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.serverUrl = reader.string(); - break; - case 2: - message.nonce = reader.uint64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ConnectionServerData message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.ConnectionServerData - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.ConnectionServerData} ConnectionServerData - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ConnectionServerData.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ConnectionServerData message. - * @function verify - * @memberof meerkat.ConnectionServerData - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ConnectionServerData.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.serverUrl != null && message.hasOwnProperty("serverUrl")) - if (!$util.isString(message.serverUrl)) - return "serverUrl: string expected"; - if (message.nonce != null && message.hasOwnProperty("nonce")) - if (!$util.isInteger(message.nonce) && !(message.nonce && $util.isInteger(message.nonce.low) && $util.isInteger(message.nonce.high))) - return "nonce: integer|Long expected"; - return null; - }; - - /** - * Creates a ConnectionServerData message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.ConnectionServerData - * @static - * @param {Object.} object Plain object - * @returns {meerkat.ConnectionServerData} ConnectionServerData - */ - ConnectionServerData.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.ConnectionServerData) - return object; - var message = new $root.meerkat.ConnectionServerData(); - if (object.serverUrl != null) - message.serverUrl = String(object.serverUrl); - if (object.nonce != null) - if ($util.Long) - (message.nonce = $util.Long.fromValue(object.nonce)).unsigned = true; - else if (typeof object.nonce === "string") - message.nonce = parseInt(object.nonce, 10); - else if (typeof object.nonce === "number") - message.nonce = object.nonce; - else if (typeof object.nonce === "object") - message.nonce = new $util.LongBits(object.nonce.low >>> 0, object.nonce.high >>> 0).toNumber(true); - return message; - }; - - /** - * Creates a plain object from a ConnectionServerData message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.ConnectionServerData - * @static - * @param {meerkat.ConnectionServerData} message ConnectionServerData - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ConnectionServerData.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.serverUrl = ""; - if ($util.Long) { - var long = new $util.Long(0, 0, true); - object.nonce = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.nonce = options.longs === String ? "0" : 0; - } - if (message.serverUrl != null && message.hasOwnProperty("serverUrl")) - object.serverUrl = message.serverUrl; - if (message.nonce != null && message.hasOwnProperty("nonce")) - if (typeof message.nonce === "number") - object.nonce = options.longs === String ? String(message.nonce) : message.nonce; - else - object.nonce = options.longs === String ? $util.Long.prototype.toString.call(message.nonce) : options.longs === Number ? new $util.LongBits(message.nonce.low >>> 0, message.nonce.high >>> 0).toNumber(true) : message.nonce; - return object; - }; - - /** - * Converts this ConnectionServerData to JSON. - * @function toJSON - * @memberof meerkat.ConnectionServerData - * @instance - * @returns {Object.} JSON object - */ - ConnectionServerData.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ConnectionServerData; - })(); - - meerkat.ConnectionClientData = (function() { - - /** - * Properties of a ConnectionClientData. - * @memberof meerkat - * @interface IConnectionClientData - * @property {Uint8Array} [scannerId] ConnectionClientData scannerId - * @property {meerkat.ISignatureVerificationKey} [scannerPK] ConnectionClientData scannerPK - * @property {number|Long} [nonce] ConnectionClientData nonce - */ - - /** - * Constructs a new ConnectionClientData. - * @memberof meerkat - * @classdesc Represents a ConnectionClientData. - * @constructor - * @param {meerkat.IConnectionClientData=} [properties] Properties to set - */ - function ConnectionClientData(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ConnectionClientData scannerId. - * @member {Uint8Array}scannerId - * @memberof meerkat.ConnectionClientData - * @instance - */ - ConnectionClientData.prototype.scannerId = $util.newBuffer([]); - - /** - * ConnectionClientData scannerPK. - * @member {(meerkat.ISignatureVerificationKey|null|undefined)}scannerPK - * @memberof meerkat.ConnectionClientData - * @instance - */ - ConnectionClientData.prototype.scannerPK = null; - - /** - * ConnectionClientData nonce. - * @member {number|Long}nonce - * @memberof meerkat.ConnectionClientData - * @instance - */ - ConnectionClientData.prototype.nonce = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; - - /** - * ConnectionClientData id. - * @member {string|undefined} id - * @memberof meerkat.ConnectionClientData - * @instance - */ - Object.defineProperty(ConnectionClientData.prototype, "id", { - get: $util.oneOfGetter($oneOfFields = ["scannerId", "scannerPK"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new ConnectionClientData instance using the specified properties. - * @function create - * @memberof meerkat.ConnectionClientData - * @static - * @param {meerkat.IConnectionClientData=} [properties] Properties to set - * @returns {meerkat.ConnectionClientData} ConnectionClientData instance - */ - ConnectionClientData.create = function create(properties) { - return new ConnectionClientData(properties); - }; - - /** - * Encodes the specified ConnectionClientData message. Does not implicitly {@link meerkat.ConnectionClientData.verify|verify} messages. - * @function encode - * @memberof meerkat.ConnectionClientData - * @static - * @param {meerkat.IConnectionClientData} message ConnectionClientData message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ConnectionClientData.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.scannerId != null && message.hasOwnProperty("scannerId")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.scannerId); - if (message.scannerPK != null && message.hasOwnProperty("scannerPK")) - $root.meerkat.SignatureVerificationKey.encode(message.scannerPK, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.nonce != null && message.hasOwnProperty("nonce")) - writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.nonce); - return writer; - }; - - /** - * Encodes the specified ConnectionClientData message, length delimited. Does not implicitly {@link meerkat.ConnectionClientData.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.ConnectionClientData - * @static - * @param {meerkat.IConnectionClientData} message ConnectionClientData message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ConnectionClientData.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ConnectionClientData message from the specified reader or buffer. - * @function decode - * @memberof meerkat.ConnectionClientData - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.ConnectionClientData} ConnectionClientData - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ConnectionClientData.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.ConnectionClientData(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.scannerId = reader.bytes(); - break; - case 2: - message.scannerPK = $root.meerkat.SignatureVerificationKey.decode(reader, reader.uint32()); - break; - case 3: - message.nonce = reader.uint64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ConnectionClientData message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.ConnectionClientData - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.ConnectionClientData} ConnectionClientData - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ConnectionClientData.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ConnectionClientData message. - * @function verify - * @memberof meerkat.ConnectionClientData - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ConnectionClientData.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - var properties = {}; - if (message.scannerId != null && message.hasOwnProperty("scannerId")) { - properties.id = 1; - if (!(message.scannerId && typeof message.scannerId.length === "number" || $util.isString(message.scannerId))) - return "scannerId: buffer expected"; - } - if (message.scannerPK != null && message.hasOwnProperty("scannerPK")) { - if (properties.id === 1) - return "id: multiple values"; - properties.id = 1; - var error = $root.meerkat.SignatureVerificationKey.verify(message.scannerPK); - if (error) - return "scannerPK." + error; - } - if (message.nonce != null && message.hasOwnProperty("nonce")) - if (!$util.isInteger(message.nonce) && !(message.nonce && $util.isInteger(message.nonce.low) && $util.isInteger(message.nonce.high))) - return "nonce: integer|Long expected"; - return null; - }; - - /** - * Creates a ConnectionClientData message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.ConnectionClientData - * @static - * @param {Object.} object Plain object - * @returns {meerkat.ConnectionClientData} ConnectionClientData - */ - ConnectionClientData.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.ConnectionClientData) - return object; - var message = new $root.meerkat.ConnectionClientData(); - if (object.scannerId != null) - if (typeof object.scannerId === "string") - $util.base64.decode(object.scannerId, message.scannerId = $util.newBuffer($util.base64.length(object.scannerId)), 0); - else if (object.scannerId.length) - message.scannerId = object.scannerId; - if (object.scannerPK != null) { - if (typeof object.scannerPK !== "object") - throw TypeError(".meerkat.ConnectionClientData.scannerPK: object expected"); - message.scannerPK = $root.meerkat.SignatureVerificationKey.fromObject(object.scannerPK); - } - if (object.nonce != null) - if ($util.Long) - (message.nonce = $util.Long.fromValue(object.nonce)).unsigned = true; - else if (typeof object.nonce === "string") - message.nonce = parseInt(object.nonce, 10); - else if (typeof object.nonce === "number") - message.nonce = object.nonce; - else if (typeof object.nonce === "object") - message.nonce = new $util.LongBits(object.nonce.low >>> 0, object.nonce.high >>> 0).toNumber(true); - return message; - }; - - /** - * Creates a plain object from a ConnectionClientData message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.ConnectionClientData - * @static - * @param {meerkat.ConnectionClientData} message ConnectionClientData - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ConnectionClientData.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - if ($util.Long) { - var long = new $util.Long(0, 0, true); - object.nonce = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.nonce = options.longs === String ? "0" : 0; - if (message.scannerId != null && message.hasOwnProperty("scannerId")) { - object.scannerId = options.bytes === String ? $util.base64.encode(message.scannerId, 0, message.scannerId.length) : options.bytes === Array ? Array.prototype.slice.call(message.scannerId) : message.scannerId; - if (options.oneofs) - object.id = "scannerId"; - } - if (message.scannerPK != null && message.hasOwnProperty("scannerPK")) { - object.scannerPK = $root.meerkat.SignatureVerificationKey.toObject(message.scannerPK, options); - if (options.oneofs) - object.id = "scannerPK"; - } - if (message.nonce != null && message.hasOwnProperty("nonce")) - if (typeof message.nonce === "number") - object.nonce = options.longs === String ? String(message.nonce) : message.nonce; - else - object.nonce = options.longs === String ? $util.Long.prototype.toString.call(message.nonce) : options.longs === Number ? new $util.LongBits(message.nonce.low >>> 0, message.nonce.high >>> 0).toNumber(true) : message.nonce; - return object; - }; - - /** - * Converts this ConnectionClientData to JSON. - * @function toJSON - * @memberof meerkat.ConnectionClientData - * @instance - * @returns {Object.} JSON object - */ - ConnectionClientData.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ConnectionClientData; - })(); - - meerkat.ScannedBallot = (function() { - - /** - * Properties of a ScannedBallot. - * @memberof meerkat - * @interface IScannedBallot - * @property {Uint8Array} [channel] ScannedBallot channel - * @property {meerkat.ISignedEncryptedBallot} [signedEncryptedBallot] ScannedBallot signedEncryptedBallot - */ - - /** - * Constructs a new ScannedBallot. - * @memberof meerkat - * @classdesc Represents a ScannedBallot. - * @constructor - * @param {meerkat.IScannedBallot=} [properties] Properties to set - */ - function ScannedBallot(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ScannedBallot channel. - * @member {Uint8Array}channel - * @memberof meerkat.ScannedBallot - * @instance - */ - ScannedBallot.prototype.channel = $util.newBuffer([]); - - /** - * ScannedBallot signedEncryptedBallot. - * @member {(meerkat.ISignedEncryptedBallot|null|undefined)}signedEncryptedBallot - * @memberof meerkat.ScannedBallot - * @instance - */ - ScannedBallot.prototype.signedEncryptedBallot = null; - - /** - * Creates a new ScannedBallot instance using the specified properties. - * @function create - * @memberof meerkat.ScannedBallot - * @static - * @param {meerkat.IScannedBallot=} [properties] Properties to set - * @returns {meerkat.ScannedBallot} ScannedBallot instance - */ - ScannedBallot.create = function create(properties) { - return new ScannedBallot(properties); - }; - - /** - * Encodes the specified ScannedBallot message. Does not implicitly {@link meerkat.ScannedBallot.verify|verify} messages. - * @function encode - * @memberof meerkat.ScannedBallot - * @static - * @param {meerkat.IScannedBallot} message ScannedBallot message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ScannedBallot.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.channel != null && message.hasOwnProperty("channel")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.channel); - if (message.signedEncryptedBallot != null && message.hasOwnProperty("signedEncryptedBallot")) - $root.meerkat.SignedEncryptedBallot.encode(message.signedEncryptedBallot, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified ScannedBallot message, length delimited. Does not implicitly {@link meerkat.ScannedBallot.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.ScannedBallot - * @static - * @param {meerkat.IScannedBallot} message ScannedBallot message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ScannedBallot.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ScannedBallot message from the specified reader or buffer. - * @function decode - * @memberof meerkat.ScannedBallot - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.ScannedBallot} ScannedBallot - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ScannedBallot.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.ScannedBallot(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.channel = reader.bytes(); - break; - case 2: - message.signedEncryptedBallot = $root.meerkat.SignedEncryptedBallot.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ScannedBallot message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.ScannedBallot - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.ScannedBallot} ScannedBallot - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ScannedBallot.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ScannedBallot message. - * @function verify - * @memberof meerkat.ScannedBallot - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ScannedBallot.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.channel != null && message.hasOwnProperty("channel")) - if (!(message.channel && typeof message.channel.length === "number" || $util.isString(message.channel))) - return "channel: buffer expected"; - if (message.signedEncryptedBallot != null && message.hasOwnProperty("signedEncryptedBallot")) { - var error = $root.meerkat.SignedEncryptedBallot.verify(message.signedEncryptedBallot); - if (error) - return "signedEncryptedBallot." + error; - } - return null; - }; - - /** - * Creates a ScannedBallot message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.ScannedBallot - * @static - * @param {Object.} object Plain object - * @returns {meerkat.ScannedBallot} ScannedBallot - */ - ScannedBallot.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.ScannedBallot) - return object; - var message = new $root.meerkat.ScannedBallot(); - if (object.channel != null) - if (typeof object.channel === "string") - $util.base64.decode(object.channel, message.channel = $util.newBuffer($util.base64.length(object.channel)), 0); - else if (object.channel.length) - message.channel = object.channel; - if (object.signedEncryptedBallot != null) { - if (typeof object.signedEncryptedBallot !== "object") - throw TypeError(".meerkat.ScannedBallot.signedEncryptedBallot: object expected"); - message.signedEncryptedBallot = $root.meerkat.SignedEncryptedBallot.fromObject(object.signedEncryptedBallot); - } - return message; - }; - - /** - * Creates a plain object from a ScannedBallot message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.ScannedBallot - * @static - * @param {meerkat.ScannedBallot} message ScannedBallot - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ScannedBallot.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.channel = options.bytes === String ? "" : []; - object.signedEncryptedBallot = null; - } - if (message.channel != null && message.hasOwnProperty("channel")) - object.channel = options.bytes === String ? $util.base64.encode(message.channel, 0, message.channel.length) : options.bytes === Array ? Array.prototype.slice.call(message.channel) : message.channel; - if (message.signedEncryptedBallot != null && message.hasOwnProperty("signedEncryptedBallot")) - object.signedEncryptedBallot = $root.meerkat.SignedEncryptedBallot.toObject(message.signedEncryptedBallot, options); - return object; - }; - - /** - * Converts this ScannedBallot to JSON. - * @function toJSON - * @memberof meerkat.ScannedBallot - * @instance - * @returns {Object.} JSON object - */ - ScannedBallot.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ScannedBallot; - })(); - - meerkat.ScanError = (function() { - - /** - * Properties of a ScanError. - * @memberof meerkat - * @interface IScanError - * @property {string} [msg] ScanError msg - */ - - /** - * Constructs a new ScanError. - * @memberof meerkat - * @classdesc Represents a ScanError. - * @constructor - * @param {meerkat.IScanError=} [properties] Properties to set - */ - function ScanError(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ScanError msg. - * @member {string}msg - * @memberof meerkat.ScanError - * @instance - */ - ScanError.prototype.msg = ""; - - /** - * Creates a new ScanError instance using the specified properties. - * @function create - * @memberof meerkat.ScanError - * @static - * @param {meerkat.IScanError=} [properties] Properties to set - * @returns {meerkat.ScanError} ScanError instance - */ - ScanError.create = function create(properties) { - return new ScanError(properties); - }; - - /** - * Encodes the specified ScanError message. Does not implicitly {@link meerkat.ScanError.verify|verify} messages. - * @function encode - * @memberof meerkat.ScanError - * @static - * @param {meerkat.IScanError} message ScanError message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ScanError.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.msg != null && message.hasOwnProperty("msg")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.msg); - return writer; - }; - - /** - * Encodes the specified ScanError message, length delimited. Does not implicitly {@link meerkat.ScanError.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.ScanError - * @static - * @param {meerkat.IScanError} message ScanError message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ScanError.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ScanError message from the specified reader or buffer. - * @function decode - * @memberof meerkat.ScanError - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.ScanError} ScanError - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ScanError.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.ScanError(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.msg = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ScanError message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.ScanError - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.ScanError} ScanError - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ScanError.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ScanError message. - * @function verify - * @memberof meerkat.ScanError - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ScanError.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.msg != null && message.hasOwnProperty("msg")) - if (!$util.isString(message.msg)) - return "msg: string expected"; - return null; - }; - - /** - * Creates a ScanError message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.ScanError - * @static - * @param {Object.} object Plain object - * @returns {meerkat.ScanError} ScanError - */ - ScanError.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.ScanError) - return object; - var message = new $root.meerkat.ScanError(); - if (object.msg != null) - message.msg = String(object.msg); - return message; - }; - - /** - * Creates a plain object from a ScanError message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.ScanError - * @static - * @param {meerkat.ScanError} message ScanError - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ScanError.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.msg = ""; - if (message.msg != null && message.hasOwnProperty("msg")) - object.msg = message.msg; - return object; - }; - - /** - * Converts this ScanError to JSON. - * @function toJSON - * @memberof meerkat.ScanError - * @instance - * @returns {Object.} JSON object - */ - ScanError.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ScanError; - })(); - - meerkat.ScannedData = (function() { - - /** - * Properties of a ScannedData. - * @memberof meerkat - * @interface IScannedData - * @property {meerkat.IScannedBallot} [ballot] ScannedData ballot - * @property {meerkat.IScanError} [error] ScannedData error - * @property {number|Long} [serial] ScannedData serial - * @property {Uint8Array} [scannerId] ScannedData scannerId - */ - - /** - * Constructs a new ScannedData. - * @memberof meerkat - * @classdesc Represents a ScannedData. - * @constructor - * @param {meerkat.IScannedData=} [properties] Properties to set - */ - function ScannedData(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ScannedData ballot. - * @member {(meerkat.IScannedBallot|null|undefined)}ballot - * @memberof meerkat.ScannedData - * @instance - */ - ScannedData.prototype.ballot = null; - - /** - * ScannedData error. - * @member {(meerkat.IScanError|null|undefined)}error - * @memberof meerkat.ScannedData - * @instance - */ - ScannedData.prototype.error = null; - - /** - * ScannedData serial. - * @member {number|Long}serial - * @memberof meerkat.ScannedData - * @instance - */ - ScannedData.prototype.serial = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * ScannedData scannerId. - * @member {Uint8Array}scannerId - * @memberof meerkat.ScannedData - * @instance - */ - ScannedData.prototype.scannerId = $util.newBuffer([]); - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; - - /** - * ScannedData data. - * @member {string|undefined} data - * @memberof meerkat.ScannedData - * @instance - */ - Object.defineProperty(ScannedData.prototype, "data", { - get: $util.oneOfGetter($oneOfFields = ["ballot", "error"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new ScannedData instance using the specified properties. - * @function create - * @memberof meerkat.ScannedData - * @static - * @param {meerkat.IScannedData=} [properties] Properties to set - * @returns {meerkat.ScannedData} ScannedData instance - */ - ScannedData.create = function create(properties) { - return new ScannedData(properties); - }; - - /** - * Encodes the specified ScannedData message. Does not implicitly {@link meerkat.ScannedData.verify|verify} messages. - * @function encode - * @memberof meerkat.ScannedData - * @static - * @param {meerkat.IScannedData} message ScannedData message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ScannedData.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.ballot != null && message.hasOwnProperty("ballot")) - $root.meerkat.ScannedBallot.encode(message.ballot, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.error != null && message.hasOwnProperty("error")) - $root.meerkat.ScanError.encode(message.error, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.serial != null && message.hasOwnProperty("serial")) - writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.serial); - if (message.scannerId != null && message.hasOwnProperty("scannerId")) - writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.scannerId); - return writer; - }; - - /** - * Encodes the specified ScannedData message, length delimited. Does not implicitly {@link meerkat.ScannedData.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.ScannedData - * @static - * @param {meerkat.IScannedData} message ScannedData message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ScannedData.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ScannedData message from the specified reader or buffer. - * @function decode - * @memberof meerkat.ScannedData - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.ScannedData} ScannedData - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ScannedData.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.ScannedData(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 2: - message.ballot = $root.meerkat.ScannedBallot.decode(reader, reader.uint32()); - break; - case 3: - message.error = $root.meerkat.ScanError.decode(reader, reader.uint32()); - break; - case 4: - message.serial = reader.uint64(); - break; - case 5: - message.scannerId = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ScannedData message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.ScannedData - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.ScannedData} ScannedData - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ScannedData.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ScannedData message. - * @function verify - * @memberof meerkat.ScannedData - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ScannedData.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - var properties = {}; - if (message.ballot != null && message.hasOwnProperty("ballot")) { - properties.data = 1; - var error = $root.meerkat.ScannedBallot.verify(message.ballot); - if (error) - return "ballot." + error; - } - if (message.error != null && message.hasOwnProperty("error")) { - if (properties.data === 1) - return "data: multiple values"; - properties.data = 1; - error = $root.meerkat.ScanError.verify(message.error); - if (error) - return "error." + error; - } - if (message.serial != null && message.hasOwnProperty("serial")) - if (!$util.isInteger(message.serial) && !(message.serial && $util.isInteger(message.serial.low) && $util.isInteger(message.serial.high))) - return "serial: integer|Long expected"; - if (message.scannerId != null && message.hasOwnProperty("scannerId")) - if (!(message.scannerId && typeof message.scannerId.length === "number" || $util.isString(message.scannerId))) - return "scannerId: buffer expected"; - return null; - }; - - /** - * Creates a ScannedData message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.ScannedData - * @static - * @param {Object.} object Plain object - * @returns {meerkat.ScannedData} ScannedData - */ - ScannedData.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.ScannedData) - return object; - var message = new $root.meerkat.ScannedData(); - if (object.ballot != null) { - if (typeof object.ballot !== "object") - throw TypeError(".meerkat.ScannedData.ballot: object expected"); - message.ballot = $root.meerkat.ScannedBallot.fromObject(object.ballot); - } - if (object.error != null) { - if (typeof object.error !== "object") - throw TypeError(".meerkat.ScannedData.error: object expected"); - message.error = $root.meerkat.ScanError.fromObject(object.error); - } - if (object.serial != null) - if ($util.Long) - (message.serial = $util.Long.fromValue(object.serial)).unsigned = true; - else if (typeof object.serial === "string") - message.serial = parseInt(object.serial, 10); - else if (typeof object.serial === "number") - message.serial = object.serial; - else if (typeof object.serial === "object") - message.serial = new $util.LongBits(object.serial.low >>> 0, object.serial.high >>> 0).toNumber(true); - if (object.scannerId != null) - if (typeof object.scannerId === "string") - $util.base64.decode(object.scannerId, message.scannerId = $util.newBuffer($util.base64.length(object.scannerId)), 0); - else if (object.scannerId.length) - message.scannerId = object.scannerId; - return message; - }; - - /** - * Creates a plain object from a ScannedData message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.ScannedData - * @static - * @param {meerkat.ScannedData} message ScannedData - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ScannedData.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - if ($util.Long) { - var long = new $util.Long(0, 0, true); - object.serial = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.serial = options.longs === String ? "0" : 0; - object.scannerId = options.bytes === String ? "" : []; - } - if (message.ballot != null && message.hasOwnProperty("ballot")) { - object.ballot = $root.meerkat.ScannedBallot.toObject(message.ballot, options); - if (options.oneofs) - object.data = "ballot"; - } - if (message.error != null && message.hasOwnProperty("error")) { - object.error = $root.meerkat.ScanError.toObject(message.error, options); - if (options.oneofs) - object.data = "error"; - } - if (message.serial != null && message.hasOwnProperty("serial")) - if (typeof message.serial === "number") - object.serial = options.longs === String ? String(message.serial) : message.serial; - else - object.serial = options.longs === String ? $util.Long.prototype.toString.call(message.serial) : options.longs === Number ? new $util.LongBits(message.serial.low >>> 0, message.serial.high >>> 0).toNumber(true) : message.serial; - if (message.scannerId != null && message.hasOwnProperty("scannerId")) - object.scannerId = options.bytes === String ? $util.base64.encode(message.scannerId, 0, message.scannerId.length) : options.bytes === Array ? Array.prototype.slice.call(message.scannerId) : message.scannerId; - return object; - }; - - /** - * Converts this ScannedData to JSON. - * @function toJSON - * @memberof meerkat.ScannedData - * @instance - * @returns {Object.} JSON object - */ - ScannedData.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ScannedData; - })(); - - meerkat.SignedScannedData = (function() { - - /** - * Properties of a SignedScannedData. - * @memberof meerkat - * @interface ISignedScannedData - * @property {meerkat.IScannedData} [data] SignedScannedData data - * @property {meerkat.ISignature} [scannerSig] SignedScannedData scannerSig - */ - - /** - * Constructs a new SignedScannedData. - * @memberof meerkat - * @classdesc Represents a SignedScannedData. - * @constructor - * @param {meerkat.ISignedScannedData=} [properties] Properties to set - */ - function SignedScannedData(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * SignedScannedData data. - * @member {(meerkat.IScannedData|null|undefined)}data - * @memberof meerkat.SignedScannedData - * @instance - */ - SignedScannedData.prototype.data = null; - - /** - * SignedScannedData scannerSig. - * @member {(meerkat.ISignature|null|undefined)}scannerSig - * @memberof meerkat.SignedScannedData - * @instance - */ - SignedScannedData.prototype.scannerSig = null; - - /** - * Creates a new SignedScannedData instance using the specified properties. - * @function create - * @memberof meerkat.SignedScannedData - * @static - * @param {meerkat.ISignedScannedData=} [properties] Properties to set - * @returns {meerkat.SignedScannedData} SignedScannedData instance - */ - SignedScannedData.create = function create(properties) { - return new SignedScannedData(properties); - }; - - /** - * Encodes the specified SignedScannedData message. Does not implicitly {@link meerkat.SignedScannedData.verify|verify} messages. - * @function encode - * @memberof meerkat.SignedScannedData - * @static - * @param {meerkat.ISignedScannedData} message SignedScannedData message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SignedScannedData.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.data != null && message.hasOwnProperty("data")) - $root.meerkat.ScannedData.encode(message.data, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.scannerSig != null && message.hasOwnProperty("scannerSig")) - $root.meerkat.Signature.encode(message.scannerSig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified SignedScannedData message, length delimited. Does not implicitly {@link meerkat.SignedScannedData.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.SignedScannedData - * @static - * @param {meerkat.ISignedScannedData} message SignedScannedData message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SignedScannedData.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a SignedScannedData message from the specified reader or buffer. - * @function decode - * @memberof meerkat.SignedScannedData - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.SignedScannedData} SignedScannedData - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SignedScannedData.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.SignedScannedData(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.data = $root.meerkat.ScannedData.decode(reader, reader.uint32()); - break; - case 2: - message.scannerSig = $root.meerkat.Signature.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a SignedScannedData message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.SignedScannedData - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.SignedScannedData} SignedScannedData - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SignedScannedData.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a SignedScannedData message. - * @function verify - * @memberof meerkat.SignedScannedData - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - SignedScannedData.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.data != null && message.hasOwnProperty("data")) { - var error = $root.meerkat.ScannedData.verify(message.data); - if (error) - return "data." + error; - } - if (message.scannerSig != null && message.hasOwnProperty("scannerSig")) { - error = $root.meerkat.Signature.verify(message.scannerSig); - if (error) - return "scannerSig." + error; - } - return null; - }; - - /** - * Creates a SignedScannedData message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.SignedScannedData - * @static - * @param {Object.} object Plain object - * @returns {meerkat.SignedScannedData} SignedScannedData - */ - SignedScannedData.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.SignedScannedData) - return object; - var message = new $root.meerkat.SignedScannedData(); - if (object.data != null) { - if (typeof object.data !== "object") - throw TypeError(".meerkat.SignedScannedData.data: object expected"); - message.data = $root.meerkat.ScannedData.fromObject(object.data); - } - if (object.scannerSig != null) { - if (typeof object.scannerSig !== "object") - throw TypeError(".meerkat.SignedScannedData.scannerSig: object expected"); - message.scannerSig = $root.meerkat.Signature.fromObject(object.scannerSig); - } - return message; - }; - - /** - * Creates a plain object from a SignedScannedData message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.SignedScannedData - * @static - * @param {meerkat.SignedScannedData} message SignedScannedData - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - SignedScannedData.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.data = null; - object.scannerSig = null; - } - if (message.data != null && message.hasOwnProperty("data")) - object.data = $root.meerkat.ScannedData.toObject(message.data, options); - if (message.scannerSig != null && message.hasOwnProperty("scannerSig")) - object.scannerSig = $root.meerkat.Signature.toObject(message.scannerSig, options); - return object; - }; - - /** - * Converts this SignedScannedData to JSON. - * @function toJSON - * @memberof meerkat.SignedScannedData - * @instance - * @returns {Object.} JSON object - */ - SignedScannedData.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return SignedScannedData; - })(); - - /** - * UIElementDataType enum. - * @enum {string} - * @property {number} TEXT=0 TEXT value - * @property {number} IMAGE=1 IMAGE value - * @property {number} VOICE=2 VOICE value - */ - meerkat.UIElementDataType = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "TEXT"] = 0; - values[valuesById[1] = "IMAGE"] = 1; - values[valuesById[2] = "VOICE"] = 2; - return values; - })(); - - /** - * QuestionType enum. - * @enum {string} - * @property {number} MULTIPLE_CHOICE=0 MULTIPLE_CHOICE value - * @property {number} MULTIPLE_SELECTION=1 MULTIPLE_SELECTION value - * @property {number} ORDER=2 ORDER value - */ - meerkat.QuestionType = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "MULTIPLE_CHOICE"] = 0; - values[valuesById[1] = "MULTIPLE_SELECTION"] = 1; - values[valuesById[2] = "ORDER"] = 2; - return values; - })(); - - meerkat.UIElement = (function() { - - /** - * Properties of a UIElement. - * @memberof meerkat - * @interface IUIElement - * @property {meerkat.UIElementDataType} [type] UIElement type - * @property {Uint8Array} [data] UIElement data - */ - - /** - * Constructs a new UIElement. - * @memberof meerkat - * @classdesc Represents a UIElement. - * @constructor - * @param {meerkat.IUIElement=} [properties] Properties to set - */ - function UIElement(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * UIElement type. - * @member {meerkat.UIElementDataType}type - * @memberof meerkat.UIElement - * @instance - */ - UIElement.prototype.type = 0; - - /** - * UIElement data. - * @member {Uint8Array}data - * @memberof meerkat.UIElement - * @instance - */ - UIElement.prototype.data = $util.newBuffer([]); - - /** - * Creates a new UIElement instance using the specified properties. - * @function create - * @memberof meerkat.UIElement - * @static - * @param {meerkat.IUIElement=} [properties] Properties to set - * @returns {meerkat.UIElement} UIElement instance - */ - UIElement.create = function create(properties) { - return new UIElement(properties); - }; - - /** - * Encodes the specified UIElement message. Does not implicitly {@link meerkat.UIElement.verify|verify} messages. - * @function encode - * @memberof meerkat.UIElement - * @static - * @param {meerkat.IUIElement} message UIElement message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - UIElement.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.data != null && message.hasOwnProperty("data")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.data); - return writer; - }; - - /** - * Encodes the specified UIElement message, length delimited. Does not implicitly {@link meerkat.UIElement.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.UIElement - * @static - * @param {meerkat.IUIElement} message UIElement message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - UIElement.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a UIElement message from the specified reader or buffer. - * @function decode - * @memberof meerkat.UIElement - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.UIElement} UIElement - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - UIElement.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.UIElement(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.type = reader.int32(); - break; - case 2: - message.data = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a UIElement message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.UIElement - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.UIElement} UIElement - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - UIElement.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a UIElement message. - * @function verify - * @memberof meerkat.UIElement - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - UIElement.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.type != null && message.hasOwnProperty("type")) - switch (message.type) { - default: - return "type: enum value expected"; - case 0: - case 1: - case 2: - break; - } - if (message.data != null && message.hasOwnProperty("data")) - if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) - return "data: buffer expected"; - return null; - }; - - /** - * Creates a UIElement message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.UIElement - * @static - * @param {Object.} object Plain object - * @returns {meerkat.UIElement} UIElement - */ - UIElement.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.UIElement) - return object; - var message = new $root.meerkat.UIElement(); - switch (object.type) { - case "TEXT": - case 0: - message.type = 0; - break; - case "IMAGE": - case 1: - message.type = 1; - break; - case "VOICE": - case 2: - message.type = 2; - break; - } - if (object.data != null) - if (typeof object.data === "string") - $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); - else if (object.data.length) - message.data = object.data; - return message; - }; - - /** - * Creates a plain object from a UIElement message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.UIElement - * @static - * @param {meerkat.UIElement} message UIElement - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - UIElement.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.type = options.enums === String ? "TEXT" : 0; - object.data = options.bytes === String ? "" : []; - } - if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.meerkat.UIElementDataType[message.type] : message.type; - if (message.data != null && message.hasOwnProperty("data")) - object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; - return object; - }; - - /** - * Converts this UIElement to JSON. - * @function toJSON - * @memberof meerkat.UIElement - * @instance - * @returns {Object.} JSON object - */ - UIElement.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return UIElement; - })(); - - meerkat.BallotQuestion = (function() { - - /** - * Properties of a BallotQuestion. - * @memberof meerkat - * @interface IBallotQuestion - * @property {boolean} [isMandatory] BallotQuestion isMandatory - * @property {meerkat.IUIElement} [question] BallotQuestion question - * @property {meerkat.IUIElement} [description] BallotQuestion description - * @property {Array.} [answer] BallotQuestion answer - */ - - /** - * Constructs a new BallotQuestion. - * @memberof meerkat - * @classdesc Represents a BallotQuestion. - * @constructor - * @param {meerkat.IBallotQuestion=} [properties] Properties to set - */ - function BallotQuestion(properties) { - this.answer = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * BallotQuestion isMandatory. - * @member {boolean}isMandatory - * @memberof meerkat.BallotQuestion - * @instance - */ - BallotQuestion.prototype.isMandatory = false; - - /** - * BallotQuestion question. - * @member {(meerkat.IUIElement|null|undefined)}question - * @memberof meerkat.BallotQuestion - * @instance - */ - BallotQuestion.prototype.question = null; - - /** - * BallotQuestion description. - * @member {(meerkat.IUIElement|null|undefined)}description - * @memberof meerkat.BallotQuestion - * @instance - */ - BallotQuestion.prototype.description = null; - - /** - * BallotQuestion answer. - * @member {Array.}answer - * @memberof meerkat.BallotQuestion - * @instance - */ - BallotQuestion.prototype.answer = $util.emptyArray; - - /** - * Creates a new BallotQuestion instance using the specified properties. - * @function create - * @memberof meerkat.BallotQuestion - * @static - * @param {meerkat.IBallotQuestion=} [properties] Properties to set - * @returns {meerkat.BallotQuestion} BallotQuestion instance - */ - BallotQuestion.create = function create(properties) { - return new BallotQuestion(properties); - }; - - /** - * Encodes the specified BallotQuestion message. Does not implicitly {@link meerkat.BallotQuestion.verify|verify} messages. - * @function encode - * @memberof meerkat.BallotQuestion - * @static - * @param {meerkat.IBallotQuestion} message BallotQuestion message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BallotQuestion.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.isMandatory != null && message.hasOwnProperty("isMandatory")) - writer.uint32(/* id 1, wireType 0 =*/8).bool(message.isMandatory); - if (message.question != null && message.hasOwnProperty("question")) - $root.meerkat.UIElement.encode(message.question, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.description != null && message.hasOwnProperty("description")) - $root.meerkat.UIElement.encode(message.description, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.answer != null && message.answer.length) - for (var i = 0; i < message.answer.length; ++i) - $root.meerkat.UIElement.encode(message.answer[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified BallotQuestion message, length delimited. Does not implicitly {@link meerkat.BallotQuestion.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.BallotQuestion - * @static - * @param {meerkat.IBallotQuestion} message BallotQuestion message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BallotQuestion.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a BallotQuestion message from the specified reader or buffer. - * @function decode - * @memberof meerkat.BallotQuestion - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.BallotQuestion} BallotQuestion - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BallotQuestion.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.BallotQuestion(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.isMandatory = reader.bool(); - break; - case 2: - message.question = $root.meerkat.UIElement.decode(reader, reader.uint32()); - break; - case 3: - message.description = $root.meerkat.UIElement.decode(reader, reader.uint32()); - break; - case 4: - if (!(message.answer && message.answer.length)) - message.answer = []; - message.answer.push($root.meerkat.UIElement.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a BallotQuestion message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.BallotQuestion - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.BallotQuestion} BallotQuestion - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BallotQuestion.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a BallotQuestion message. - * @function verify - * @memberof meerkat.BallotQuestion - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - BallotQuestion.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.isMandatory != null && message.hasOwnProperty("isMandatory")) - if (typeof message.isMandatory !== "boolean") - return "isMandatory: boolean expected"; - if (message.question != null && message.hasOwnProperty("question")) { - var error = $root.meerkat.UIElement.verify(message.question); - if (error) - return "question." + error; - } - if (message.description != null && message.hasOwnProperty("description")) { - error = $root.meerkat.UIElement.verify(message.description); - if (error) - return "description." + error; - } - if (message.answer != null && message.hasOwnProperty("answer")) { - if (!Array.isArray(message.answer)) - return "answer: array expected"; - for (var i = 0; i < message.answer.length; ++i) { - error = $root.meerkat.UIElement.verify(message.answer[i]); - if (error) - return "answer." + error; - } - } - return null; - }; - - /** - * Creates a BallotQuestion message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.BallotQuestion - * @static - * @param {Object.} object Plain object - * @returns {meerkat.BallotQuestion} BallotQuestion - */ - BallotQuestion.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.BallotQuestion) - return object; - var message = new $root.meerkat.BallotQuestion(); - if (object.isMandatory != null) - message.isMandatory = Boolean(object.isMandatory); - if (object.question != null) { - if (typeof object.question !== "object") - throw TypeError(".meerkat.BallotQuestion.question: object expected"); - message.question = $root.meerkat.UIElement.fromObject(object.question); - } - if (object.description != null) { - if (typeof object.description !== "object") - throw TypeError(".meerkat.BallotQuestion.description: object expected"); - message.description = $root.meerkat.UIElement.fromObject(object.description); - } - if (object.answer) { - if (!Array.isArray(object.answer)) - throw TypeError(".meerkat.BallotQuestion.answer: array expected"); - message.answer = []; - for (var i = 0; i < object.answer.length; ++i) { - if (typeof object.answer[i] !== "object") - throw TypeError(".meerkat.BallotQuestion.answer: object expected"); - message.answer[i] = $root.meerkat.UIElement.fromObject(object.answer[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a BallotQuestion message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.BallotQuestion - * @static - * @param {meerkat.BallotQuestion} message BallotQuestion - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - BallotQuestion.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.answer = []; - if (options.defaults) { - object.isMandatory = false; - object.question = null; - object.description = null; - } - if (message.isMandatory != null && message.hasOwnProperty("isMandatory")) - object.isMandatory = message.isMandatory; - if (message.question != null && message.hasOwnProperty("question")) - object.question = $root.meerkat.UIElement.toObject(message.question, options); - if (message.description != null && message.hasOwnProperty("description")) - object.description = $root.meerkat.UIElement.toObject(message.description, options); - if (message.answer && message.answer.length) { - object.answer = []; - for (var j = 0; j < message.answer.length; ++j) - object.answer[j] = $root.meerkat.UIElement.toObject(message.answer[j], options); - } - return object; - }; - - /** - * Converts this BallotQuestion to JSON. - * @function toJSON - * @memberof meerkat.BallotQuestion - * @instance - * @returns {Object.} JSON object - */ - BallotQuestion.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return BallotQuestion; - })(); - - meerkat.QuestionCluster = (function() { - - /** - * Properties of a QuestionCluster. - * @memberof meerkat - * @interface IQuestionCluster - * @property {meerkat.IUIElement} [clusterDescription] QuestionCluster clusterDescription - * @property {Array.} [questionIndex] QuestionCluster questionIndex - */ - - /** - * Constructs a new QuestionCluster. - * @memberof meerkat - * @classdesc Represents a QuestionCluster. - * @constructor - * @param {meerkat.IQuestionCluster=} [properties] Properties to set - */ - function QuestionCluster(properties) { - this.questionIndex = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QuestionCluster clusterDescription. - * @member {(meerkat.IUIElement|null|undefined)}clusterDescription - * @memberof meerkat.QuestionCluster - * @instance - */ - QuestionCluster.prototype.clusterDescription = null; - - /** - * QuestionCluster questionIndex. - * @member {Array.}questionIndex - * @memberof meerkat.QuestionCluster - * @instance - */ - QuestionCluster.prototype.questionIndex = $util.emptyArray; - - /** - * Creates a new QuestionCluster instance using the specified properties. - * @function create - * @memberof meerkat.QuestionCluster - * @static - * @param {meerkat.IQuestionCluster=} [properties] Properties to set - * @returns {meerkat.QuestionCluster} QuestionCluster instance - */ - QuestionCluster.create = function create(properties) { - return new QuestionCluster(properties); - }; - - /** - * Encodes the specified QuestionCluster message. Does not implicitly {@link meerkat.QuestionCluster.verify|verify} messages. - * @function encode - * @memberof meerkat.QuestionCluster - * @static - * @param {meerkat.IQuestionCluster} message QuestionCluster message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QuestionCluster.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.clusterDescription != null && message.hasOwnProperty("clusterDescription")) - $root.meerkat.UIElement.encode(message.clusterDescription, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.questionIndex != null && message.questionIndex.length) { - writer.uint32(/* id 2, wireType 2 =*/18).fork(); - for (var i = 0; i < message.questionIndex.length; ++i) - writer.int32(message.questionIndex[i]); - writer.ldelim(); - } - return writer; - }; - - /** - * Encodes the specified QuestionCluster message, length delimited. Does not implicitly {@link meerkat.QuestionCluster.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.QuestionCluster - * @static - * @param {meerkat.IQuestionCluster} message QuestionCluster message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QuestionCluster.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QuestionCluster message from the specified reader or buffer. - * @function decode - * @memberof meerkat.QuestionCluster - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.QuestionCluster} QuestionCluster - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QuestionCluster.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.QuestionCluster(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.clusterDescription = $root.meerkat.UIElement.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.questionIndex && message.questionIndex.length)) - message.questionIndex = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.questionIndex.push(reader.int32()); - } else - message.questionIndex.push(reader.int32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QuestionCluster message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.QuestionCluster - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.QuestionCluster} QuestionCluster - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QuestionCluster.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QuestionCluster message. - * @function verify - * @memberof meerkat.QuestionCluster - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QuestionCluster.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.clusterDescription != null && message.hasOwnProperty("clusterDescription")) { - var error = $root.meerkat.UIElement.verify(message.clusterDescription); - if (error) - return "clusterDescription." + error; - } - if (message.questionIndex != null && message.hasOwnProperty("questionIndex")) { - if (!Array.isArray(message.questionIndex)) - return "questionIndex: array expected"; - for (var i = 0; i < message.questionIndex.length; ++i) - if (!$util.isInteger(message.questionIndex[i])) - return "questionIndex: integer[] expected"; - } - return null; - }; - - /** - * Creates a QuestionCluster message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.QuestionCluster - * @static - * @param {Object.} object Plain object - * @returns {meerkat.QuestionCluster} QuestionCluster - */ - QuestionCluster.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.QuestionCluster) - return object; - var message = new $root.meerkat.QuestionCluster(); - if (object.clusterDescription != null) { - if (typeof object.clusterDescription !== "object") - throw TypeError(".meerkat.QuestionCluster.clusterDescription: object expected"); - message.clusterDescription = $root.meerkat.UIElement.fromObject(object.clusterDescription); - } - if (object.questionIndex) { - if (!Array.isArray(object.questionIndex)) - throw TypeError(".meerkat.QuestionCluster.questionIndex: array expected"); - message.questionIndex = []; - for (var i = 0; i < object.questionIndex.length; ++i) - message.questionIndex[i] = object.questionIndex[i] | 0; - } - return message; - }; - - /** - * Creates a plain object from a QuestionCluster message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.QuestionCluster - * @static - * @param {meerkat.QuestionCluster} message QuestionCluster - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QuestionCluster.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.questionIndex = []; - if (options.defaults) - object.clusterDescription = null; - if (message.clusterDescription != null && message.hasOwnProperty("clusterDescription")) - object.clusterDescription = $root.meerkat.UIElement.toObject(message.clusterDescription, options); - if (message.questionIndex && message.questionIndex.length) { - object.questionIndex = []; - for (var j = 0; j < message.questionIndex.length; ++j) - object.questionIndex[j] = message.questionIndex[j]; - } - return object; - }; - - /** - * Converts this QuestionCluster to JSON. - * @function toJSON - * @memberof meerkat.QuestionCluster - * @instance - * @returns {Object.} JSON object - */ - QuestionCluster.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QuestionCluster; - })(); - - meerkat.Channel = (function() { - - /** - * Properties of a Channel. - * @memberof meerkat - * @interface IChannel - * @property {meerkat.IUIElement} [channelDescription] Channel channelDescription - * @property {Array.} [clusterIndex] Channel clusterIndex - */ - - /** - * Constructs a new Channel. - * @memberof meerkat - * @classdesc Represents a Channel. - * @constructor - * @param {meerkat.IChannel=} [properties] Properties to set - */ - function Channel(properties) { - this.clusterIndex = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Channel channelDescription. - * @member {(meerkat.IUIElement|null|undefined)}channelDescription - * @memberof meerkat.Channel - * @instance - */ - Channel.prototype.channelDescription = null; - - /** - * Channel clusterIndex. - * @member {Array.}clusterIndex - * @memberof meerkat.Channel - * @instance - */ - Channel.prototype.clusterIndex = $util.emptyArray; - - /** - * Creates a new Channel instance using the specified properties. - * @function create - * @memberof meerkat.Channel - * @static - * @param {meerkat.IChannel=} [properties] Properties to set - * @returns {meerkat.Channel} Channel instance - */ - Channel.create = function create(properties) { - return new Channel(properties); - }; - - /** - * Encodes the specified Channel message. Does not implicitly {@link meerkat.Channel.verify|verify} messages. - * @function encode - * @memberof meerkat.Channel - * @static - * @param {meerkat.IChannel} message Channel message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Channel.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.channelDescription != null && message.hasOwnProperty("channelDescription")) - $root.meerkat.UIElement.encode(message.channelDescription, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.clusterIndex != null && message.clusterIndex.length) { - writer.uint32(/* id 2, wireType 2 =*/18).fork(); - for (var i = 0; i < message.clusterIndex.length; ++i) - writer.int32(message.clusterIndex[i]); - writer.ldelim(); - } - return writer; - }; - - /** - * Encodes the specified Channel message, length delimited. Does not implicitly {@link meerkat.Channel.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.Channel - * @static - * @param {meerkat.IChannel} message Channel message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Channel.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Channel message from the specified reader or buffer. - * @function decode - * @memberof meerkat.Channel - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.Channel} Channel - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Channel.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.Channel(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.channelDescription = $root.meerkat.UIElement.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.clusterIndex && message.clusterIndex.length)) - message.clusterIndex = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.clusterIndex.push(reader.int32()); - } else - message.clusterIndex.push(reader.int32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Channel message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.Channel - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.Channel} Channel - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Channel.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Channel message. - * @function verify - * @memberof meerkat.Channel - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Channel.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.channelDescription != null && message.hasOwnProperty("channelDescription")) { - var error = $root.meerkat.UIElement.verify(message.channelDescription); - if (error) - return "channelDescription." + error; - } - if (message.clusterIndex != null && message.hasOwnProperty("clusterIndex")) { - if (!Array.isArray(message.clusterIndex)) - return "clusterIndex: array expected"; - for (var i = 0; i < message.clusterIndex.length; ++i) - if (!$util.isInteger(message.clusterIndex[i])) - return "clusterIndex: integer[] expected"; - } - return null; - }; - - /** - * Creates a Channel message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.Channel - * @static - * @param {Object.} object Plain object - * @returns {meerkat.Channel} Channel - */ - Channel.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.Channel) - return object; - var message = new $root.meerkat.Channel(); - if (object.channelDescription != null) { - if (typeof object.channelDescription !== "object") - throw TypeError(".meerkat.Channel.channelDescription: object expected"); - message.channelDescription = $root.meerkat.UIElement.fromObject(object.channelDescription); - } - if (object.clusterIndex) { - if (!Array.isArray(object.clusterIndex)) - throw TypeError(".meerkat.Channel.clusterIndex: array expected"); - message.clusterIndex = []; - for (var i = 0; i < object.clusterIndex.length; ++i) - message.clusterIndex[i] = object.clusterIndex[i] | 0; - } - return message; - }; - - /** - * Creates a plain object from a Channel message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.Channel - * @static - * @param {meerkat.Channel} message Channel - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Channel.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.clusterIndex = []; - if (options.defaults) - object.channelDescription = null; - if (message.channelDescription != null && message.hasOwnProperty("channelDescription")) - object.channelDescription = $root.meerkat.UIElement.toObject(message.channelDescription, options); - if (message.clusterIndex && message.clusterIndex.length) { - object.clusterIndex = []; - for (var j = 0; j < message.clusterIndex.length; ++j) - object.clusterIndex[j] = message.clusterIndex[j]; - } - return object; - }; - - /** - * Converts this Channel to JSON. - * @function toJSON - * @memberof meerkat.Channel - * @instance - * @returns {Object.} JSON object - */ - Channel.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Channel; - })(); - - meerkat.BallotAnswer = (function() { - - /** - * Properties of a BallotAnswer. - * @memberof meerkat - * @interface IBallotAnswer - * @property {Array.} [answer] BallotAnswer answer - */ - - /** - * Constructs a new BallotAnswer. - * @memberof meerkat - * @classdesc Represents a BallotAnswer. - * @constructor - * @param {meerkat.IBallotAnswer=} [properties] Properties to set - */ - function BallotAnswer(properties) { - this.answer = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * BallotAnswer answer. - * @member {Array.}answer - * @memberof meerkat.BallotAnswer - * @instance - */ - BallotAnswer.prototype.answer = $util.emptyArray; - - /** - * Creates a new BallotAnswer instance using the specified properties. - * @function create - * @memberof meerkat.BallotAnswer - * @static - * @param {meerkat.IBallotAnswer=} [properties] Properties to set - * @returns {meerkat.BallotAnswer} BallotAnswer instance - */ - BallotAnswer.create = function create(properties) { - return new BallotAnswer(properties); - }; - - /** - * Encodes the specified BallotAnswer message. Does not implicitly {@link meerkat.BallotAnswer.verify|verify} messages. - * @function encode - * @memberof meerkat.BallotAnswer - * @static - * @param {meerkat.IBallotAnswer} message BallotAnswer message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BallotAnswer.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.answer != null && message.answer.length) { - writer.uint32(/* id 1, wireType 2 =*/10).fork(); - for (var i = 0; i < message.answer.length; ++i) - writer.sint64(message.answer[i]); - writer.ldelim(); - } - return writer; - }; - - /** - * Encodes the specified BallotAnswer message, length delimited. Does not implicitly {@link meerkat.BallotAnswer.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.BallotAnswer - * @static - * @param {meerkat.IBallotAnswer} message BallotAnswer message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BallotAnswer.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a BallotAnswer message from the specified reader or buffer. - * @function decode - * @memberof meerkat.BallotAnswer - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.BallotAnswer} BallotAnswer - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BallotAnswer.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.BallotAnswer(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.answer && message.answer.length)) - message.answer = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.answer.push(reader.sint64()); - } else - message.answer.push(reader.sint64()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a BallotAnswer message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.BallotAnswer - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.BallotAnswer} BallotAnswer - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BallotAnswer.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a BallotAnswer message. - * @function verify - * @memberof meerkat.BallotAnswer - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - BallotAnswer.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.answer != null && message.hasOwnProperty("answer")) { - if (!Array.isArray(message.answer)) - return "answer: array expected"; - for (var i = 0; i < message.answer.length; ++i) - if (!$util.isInteger(message.answer[i]) && !(message.answer[i] && $util.isInteger(message.answer[i].low) && $util.isInteger(message.answer[i].high))) - return "answer: integer|Long[] expected"; - } - return null; - }; - - /** - * Creates a BallotAnswer message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.BallotAnswer - * @static - * @param {Object.} object Plain object - * @returns {meerkat.BallotAnswer} BallotAnswer - */ - BallotAnswer.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.BallotAnswer) - return object; - var message = new $root.meerkat.BallotAnswer(); - if (object.answer) { - if (!Array.isArray(object.answer)) - throw TypeError(".meerkat.BallotAnswer.answer: array expected"); - message.answer = []; - for (var i = 0; i < object.answer.length; ++i) - if ($util.Long) - (message.answer[i] = $util.Long.fromValue(object.answer[i])).unsigned = false; - else if (typeof object.answer[i] === "string") - message.answer[i] = parseInt(object.answer[i], 10); - else if (typeof object.answer[i] === "number") - message.answer[i] = object.answer[i]; - else if (typeof object.answer[i] === "object") - message.answer[i] = new $util.LongBits(object.answer[i].low >>> 0, object.answer[i].high >>> 0).toNumber(); - } - return message; - }; - - /** - * Creates a plain object from a BallotAnswer message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.BallotAnswer - * @static - * @param {meerkat.BallotAnswer} message BallotAnswer - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - BallotAnswer.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.answer = []; - if (message.answer && message.answer.length) { - object.answer = []; - for (var j = 0; j < message.answer.length; ++j) - if (typeof message.answer[j] === "number") - object.answer[j] = options.longs === String ? String(message.answer[j]) : message.answer[j]; - else - object.answer[j] = options.longs === String ? $util.Long.prototype.toString.call(message.answer[j]) : options.longs === Number ? new $util.LongBits(message.answer[j].low >>> 0, message.answer[j].high >>> 0).toNumber() : message.answer[j]; - } - return object; - }; - - /** - * Converts this BallotAnswer to JSON. - * @function toJSON - * @memberof meerkat.BallotAnswer - * @instance - * @returns {Object.} JSON object - */ - BallotAnswer.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return BallotAnswer; - })(); - - meerkat.PlaintextBallot = (function() { - - /** - * Properties of a PlaintextBallot. - * @memberof meerkat - * @interface IPlaintextBallot - * @property {number|Long} [serialNumber] PlaintextBallot serialNumber - * @property {Uint8Array} [channelIdentifier] PlaintextBallot channelIdentifier - * @property {Array.} [answers] PlaintextBallot answers - */ - - /** - * Constructs a new PlaintextBallot. - * @memberof meerkat - * @classdesc Represents a PlaintextBallot. - * @constructor - * @param {meerkat.IPlaintextBallot=} [properties] Properties to set - */ - function PlaintextBallot(properties) { - this.answers = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * PlaintextBallot serialNumber. - * @member {number|Long}serialNumber - * @memberof meerkat.PlaintextBallot - * @instance - */ - PlaintextBallot.prototype.serialNumber = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * PlaintextBallot channelIdentifier. - * @member {Uint8Array}channelIdentifier - * @memberof meerkat.PlaintextBallot - * @instance - */ - PlaintextBallot.prototype.channelIdentifier = $util.newBuffer([]); - - /** - * PlaintextBallot answers. - * @member {Array.}answers - * @memberof meerkat.PlaintextBallot - * @instance - */ - PlaintextBallot.prototype.answers = $util.emptyArray; - - /** - * Creates a new PlaintextBallot instance using the specified properties. - * @function create - * @memberof meerkat.PlaintextBallot - * @static - * @param {meerkat.IPlaintextBallot=} [properties] Properties to set - * @returns {meerkat.PlaintextBallot} PlaintextBallot instance - */ - PlaintextBallot.create = function create(properties) { - return new PlaintextBallot(properties); - }; - - /** - * Encodes the specified PlaintextBallot message. Does not implicitly {@link meerkat.PlaintextBallot.verify|verify} messages. - * @function encode - * @memberof meerkat.PlaintextBallot - * @static - * @param {meerkat.IPlaintextBallot} message PlaintextBallot message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - PlaintextBallot.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.serialNumber != null && message.hasOwnProperty("serialNumber")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.serialNumber); - if (message.channelIdentifier != null && message.hasOwnProperty("channelIdentifier")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.channelIdentifier); - if (message.answers != null && message.answers.length) - for (var i = 0; i < message.answers.length; ++i) - $root.meerkat.BallotAnswer.encode(message.answers[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified PlaintextBallot message, length delimited. Does not implicitly {@link meerkat.PlaintextBallot.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.PlaintextBallot - * @static - * @param {meerkat.IPlaintextBallot} message PlaintextBallot message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - PlaintextBallot.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a PlaintextBallot message from the specified reader or buffer. - * @function decode - * @memberof meerkat.PlaintextBallot - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.PlaintextBallot} PlaintextBallot - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - PlaintextBallot.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.PlaintextBallot(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.serialNumber = reader.uint64(); - break; - case 2: - message.channelIdentifier = reader.bytes(); - break; - case 3: - if (!(message.answers && message.answers.length)) - message.answers = []; - message.answers.push($root.meerkat.BallotAnswer.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a PlaintextBallot message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.PlaintextBallot - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.PlaintextBallot} PlaintextBallot - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - PlaintextBallot.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a PlaintextBallot message. - * @function verify - * @memberof meerkat.PlaintextBallot - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - PlaintextBallot.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.serialNumber != null && message.hasOwnProperty("serialNumber")) - if (!$util.isInteger(message.serialNumber) && !(message.serialNumber && $util.isInteger(message.serialNumber.low) && $util.isInteger(message.serialNumber.high))) - return "serialNumber: integer|Long expected"; - if (message.channelIdentifier != null && message.hasOwnProperty("channelIdentifier")) - if (!(message.channelIdentifier && typeof message.channelIdentifier.length === "number" || $util.isString(message.channelIdentifier))) - return "channelIdentifier: buffer expected"; - if (message.answers != null && message.hasOwnProperty("answers")) { - if (!Array.isArray(message.answers)) - return "answers: array expected"; - for (var i = 0; i < message.answers.length; ++i) { - var error = $root.meerkat.BallotAnswer.verify(message.answers[i]); - if (error) - return "answers." + error; - } - } - return null; - }; - - /** - * Creates a PlaintextBallot message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.PlaintextBallot - * @static - * @param {Object.} object Plain object - * @returns {meerkat.PlaintextBallot} PlaintextBallot - */ - PlaintextBallot.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.PlaintextBallot) - return object; - var message = new $root.meerkat.PlaintextBallot(); - if (object.serialNumber != null) - if ($util.Long) - (message.serialNumber = $util.Long.fromValue(object.serialNumber)).unsigned = true; - else if (typeof object.serialNumber === "string") - message.serialNumber = parseInt(object.serialNumber, 10); - else if (typeof object.serialNumber === "number") - message.serialNumber = object.serialNumber; - else if (typeof object.serialNumber === "object") - message.serialNumber = new $util.LongBits(object.serialNumber.low >>> 0, object.serialNumber.high >>> 0).toNumber(true); - if (object.channelIdentifier != null) - if (typeof object.channelIdentifier === "string") - $util.base64.decode(object.channelIdentifier, message.channelIdentifier = $util.newBuffer($util.base64.length(object.channelIdentifier)), 0); - else if (object.channelIdentifier.length) - message.channelIdentifier = object.channelIdentifier; - if (object.answers) { - if (!Array.isArray(object.answers)) - throw TypeError(".meerkat.PlaintextBallot.answers: array expected"); - message.answers = []; - for (var i = 0; i < object.answers.length; ++i) { - if (typeof object.answers[i] !== "object") - throw TypeError(".meerkat.PlaintextBallot.answers: object expected"); - message.answers[i] = $root.meerkat.BallotAnswer.fromObject(object.answers[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a PlaintextBallot message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.PlaintextBallot - * @static - * @param {meerkat.PlaintextBallot} message PlaintextBallot - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - PlaintextBallot.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.answers = []; - if (options.defaults) { - if ($util.Long) { - var long = new $util.Long(0, 0, true); - object.serialNumber = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.serialNumber = options.longs === String ? "0" : 0; - object.channelIdentifier = options.bytes === String ? "" : []; - } - if (message.serialNumber != null && message.hasOwnProperty("serialNumber")) - if (typeof message.serialNumber === "number") - object.serialNumber = options.longs === String ? String(message.serialNumber) : message.serialNumber; - else - object.serialNumber = options.longs === String ? $util.Long.prototype.toString.call(message.serialNumber) : options.longs === Number ? new $util.LongBits(message.serialNumber.low >>> 0, message.serialNumber.high >>> 0).toNumber(true) : message.serialNumber; - if (message.channelIdentifier != null && message.hasOwnProperty("channelIdentifier")) - object.channelIdentifier = options.bytes === String ? $util.base64.encode(message.channelIdentifier, 0, message.channelIdentifier.length) : options.bytes === Array ? Array.prototype.slice.call(message.channelIdentifier) : message.channelIdentifier; - if (message.answers && message.answers.length) { - object.answers = []; - for (var j = 0; j < message.answers.length; ++j) - object.answers[j] = $root.meerkat.BallotAnswer.toObject(message.answers[j], options); - } - return object; - }; - - /** - * Converts this PlaintextBallot to JSON. - * @function toJSON - * @memberof meerkat.PlaintextBallot - * @instance - * @returns {Object.} JSON object - */ - PlaintextBallot.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return PlaintextBallot; - })(); - - meerkat.EncryptedBallot = (function() { - - /** - * Properties of an EncryptedBallot. - * @memberof meerkat - * @interface IEncryptedBallot - * @property {number|Long} [serialNumber] EncryptedBallot serialNumber - * @property {meerkat.IRerandomizableEncryptedMessage} [data] EncryptedBallot data - */ - - /** - * Constructs a new EncryptedBallot. - * @memberof meerkat - * @classdesc Represents an EncryptedBallot. - * @constructor - * @param {meerkat.IEncryptedBallot=} [properties] Properties to set - */ - function EncryptedBallot(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * EncryptedBallot serialNumber. - * @member {number|Long}serialNumber - * @memberof meerkat.EncryptedBallot - * @instance - */ - EncryptedBallot.prototype.serialNumber = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * EncryptedBallot data. - * @member {(meerkat.IRerandomizableEncryptedMessage|null|undefined)}data - * @memberof meerkat.EncryptedBallot - * @instance - */ - EncryptedBallot.prototype.data = null; - - /** - * Creates a new EncryptedBallot instance using the specified properties. - * @function create - * @memberof meerkat.EncryptedBallot - * @static - * @param {meerkat.IEncryptedBallot=} [properties] Properties to set - * @returns {meerkat.EncryptedBallot} EncryptedBallot instance - */ - EncryptedBallot.create = function create(properties) { - return new EncryptedBallot(properties); - }; - - /** - * Encodes the specified EncryptedBallot message. Does not implicitly {@link meerkat.EncryptedBallot.verify|verify} messages. - * @function encode - * @memberof meerkat.EncryptedBallot - * @static - * @param {meerkat.IEncryptedBallot} message EncryptedBallot message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - EncryptedBallot.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.serialNumber != null && message.hasOwnProperty("serialNumber")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.serialNumber); - if (message.data != null && message.hasOwnProperty("data")) - $root.meerkat.RerandomizableEncryptedMessage.encode(message.data, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified EncryptedBallot message, length delimited. Does not implicitly {@link meerkat.EncryptedBallot.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.EncryptedBallot - * @static - * @param {meerkat.IEncryptedBallot} message EncryptedBallot message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - EncryptedBallot.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an EncryptedBallot message from the specified reader or buffer. - * @function decode - * @memberof meerkat.EncryptedBallot - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.EncryptedBallot} EncryptedBallot - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - EncryptedBallot.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.EncryptedBallot(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.serialNumber = reader.uint64(); - break; - case 2: - message.data = $root.meerkat.RerandomizableEncryptedMessage.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an EncryptedBallot message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.EncryptedBallot - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.EncryptedBallot} EncryptedBallot - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - EncryptedBallot.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an EncryptedBallot message. - * @function verify - * @memberof meerkat.EncryptedBallot - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - EncryptedBallot.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.serialNumber != null && message.hasOwnProperty("serialNumber")) - if (!$util.isInteger(message.serialNumber) && !(message.serialNumber && $util.isInteger(message.serialNumber.low) && $util.isInteger(message.serialNumber.high))) - return "serialNumber: integer|Long expected"; - if (message.data != null && message.hasOwnProperty("data")) { - var error = $root.meerkat.RerandomizableEncryptedMessage.verify(message.data); - if (error) - return "data." + error; - } - return null; - }; - - /** - * Creates an EncryptedBallot message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.EncryptedBallot - * @static - * @param {Object.} object Plain object - * @returns {meerkat.EncryptedBallot} EncryptedBallot - */ - EncryptedBallot.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.EncryptedBallot) - return object; - var message = new $root.meerkat.EncryptedBallot(); - if (object.serialNumber != null) - if ($util.Long) - (message.serialNumber = $util.Long.fromValue(object.serialNumber)).unsigned = true; - else if (typeof object.serialNumber === "string") - message.serialNumber = parseInt(object.serialNumber, 10); - else if (typeof object.serialNumber === "number") - message.serialNumber = object.serialNumber; - else if (typeof object.serialNumber === "object") - message.serialNumber = new $util.LongBits(object.serialNumber.low >>> 0, object.serialNumber.high >>> 0).toNumber(true); - if (object.data != null) { - if (typeof object.data !== "object") - throw TypeError(".meerkat.EncryptedBallot.data: object expected"); - message.data = $root.meerkat.RerandomizableEncryptedMessage.fromObject(object.data); - } - return message; - }; - - /** - * Creates a plain object from an EncryptedBallot message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.EncryptedBallot - * @static - * @param {meerkat.EncryptedBallot} message EncryptedBallot - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - EncryptedBallot.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - if ($util.Long) { - var long = new $util.Long(0, 0, true); - object.serialNumber = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.serialNumber = options.longs === String ? "0" : 0; - object.data = null; - } - if (message.serialNumber != null && message.hasOwnProperty("serialNumber")) - if (typeof message.serialNumber === "number") - object.serialNumber = options.longs === String ? String(message.serialNumber) : message.serialNumber; - else - object.serialNumber = options.longs === String ? $util.Long.prototype.toString.call(message.serialNumber) : options.longs === Number ? new $util.LongBits(message.serialNumber.low >>> 0, message.serialNumber.high >>> 0).toNumber(true) : message.serialNumber; - if (message.data != null && message.hasOwnProperty("data")) - object.data = $root.meerkat.RerandomizableEncryptedMessage.toObject(message.data, options); - return object; - }; - - /** - * Converts this EncryptedBallot to JSON. - * @function toJSON - * @memberof meerkat.EncryptedBallot - * @instance - * @returns {Object.} JSON object - */ - EncryptedBallot.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return EncryptedBallot; - })(); - - meerkat.SignedEncryptedBallot = (function() { - - /** - * Properties of a SignedEncryptedBallot. - * @memberof meerkat - * @interface ISignedEncryptedBallot - * @property {meerkat.IEncryptedBallot} [encryptedBallot] SignedEncryptedBallot encryptedBallot - * @property {meerkat.ISignature} [signature] SignedEncryptedBallot signature - */ - - /** - * Constructs a new SignedEncryptedBallot. - * @memberof meerkat - * @classdesc Represents a SignedEncryptedBallot. - * @constructor - * @param {meerkat.ISignedEncryptedBallot=} [properties] Properties to set - */ - function SignedEncryptedBallot(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * SignedEncryptedBallot encryptedBallot. - * @member {(meerkat.IEncryptedBallot|null|undefined)}encryptedBallot - * @memberof meerkat.SignedEncryptedBallot - * @instance - */ - SignedEncryptedBallot.prototype.encryptedBallot = null; - - /** - * SignedEncryptedBallot signature. - * @member {(meerkat.ISignature|null|undefined)}signature - * @memberof meerkat.SignedEncryptedBallot - * @instance - */ - SignedEncryptedBallot.prototype.signature = null; - - /** - * Creates a new SignedEncryptedBallot instance using the specified properties. - * @function create - * @memberof meerkat.SignedEncryptedBallot - * @static - * @param {meerkat.ISignedEncryptedBallot=} [properties] Properties to set - * @returns {meerkat.SignedEncryptedBallot} SignedEncryptedBallot instance - */ - SignedEncryptedBallot.create = function create(properties) { - return new SignedEncryptedBallot(properties); - }; - - /** - * Encodes the specified SignedEncryptedBallot message. Does not implicitly {@link meerkat.SignedEncryptedBallot.verify|verify} messages. - * @function encode - * @memberof meerkat.SignedEncryptedBallot - * @static - * @param {meerkat.ISignedEncryptedBallot} message SignedEncryptedBallot message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SignedEncryptedBallot.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.encryptedBallot != null && message.hasOwnProperty("encryptedBallot")) - $root.meerkat.EncryptedBallot.encode(message.encryptedBallot, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.signature != null && message.hasOwnProperty("signature")) - $root.meerkat.Signature.encode(message.signature, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified SignedEncryptedBallot message, length delimited. Does not implicitly {@link meerkat.SignedEncryptedBallot.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.SignedEncryptedBallot - * @static - * @param {meerkat.ISignedEncryptedBallot} message SignedEncryptedBallot message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SignedEncryptedBallot.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a SignedEncryptedBallot message from the specified reader or buffer. - * @function decode - * @memberof meerkat.SignedEncryptedBallot - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.SignedEncryptedBallot} SignedEncryptedBallot - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SignedEncryptedBallot.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.SignedEncryptedBallot(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.encryptedBallot = $root.meerkat.EncryptedBallot.decode(reader, reader.uint32()); - break; - case 2: - message.signature = $root.meerkat.Signature.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a SignedEncryptedBallot message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.SignedEncryptedBallot - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.SignedEncryptedBallot} SignedEncryptedBallot - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SignedEncryptedBallot.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a SignedEncryptedBallot message. - * @function verify - * @memberof meerkat.SignedEncryptedBallot - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - SignedEncryptedBallot.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.encryptedBallot != null && message.hasOwnProperty("encryptedBallot")) { - var error = $root.meerkat.EncryptedBallot.verify(message.encryptedBallot); - if (error) - return "encryptedBallot." + error; - } - if (message.signature != null && message.hasOwnProperty("signature")) { - error = $root.meerkat.Signature.verify(message.signature); - if (error) - return "signature." + error; - } - return null; - }; - - /** - * Creates a SignedEncryptedBallot message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.SignedEncryptedBallot - * @static - * @param {Object.} object Plain object - * @returns {meerkat.SignedEncryptedBallot} SignedEncryptedBallot - */ - SignedEncryptedBallot.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.SignedEncryptedBallot) - return object; - var message = new $root.meerkat.SignedEncryptedBallot(); - if (object.encryptedBallot != null) { - if (typeof object.encryptedBallot !== "object") - throw TypeError(".meerkat.SignedEncryptedBallot.encryptedBallot: object expected"); - message.encryptedBallot = $root.meerkat.EncryptedBallot.fromObject(object.encryptedBallot); - } - if (object.signature != null) { - if (typeof object.signature !== "object") - throw TypeError(".meerkat.SignedEncryptedBallot.signature: object expected"); - message.signature = $root.meerkat.Signature.fromObject(object.signature); - } - return message; - }; - - /** - * Creates a plain object from a SignedEncryptedBallot message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.SignedEncryptedBallot - * @static - * @param {meerkat.SignedEncryptedBallot} message SignedEncryptedBallot - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - SignedEncryptedBallot.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.encryptedBallot = null; - object.signature = null; - } - if (message.encryptedBallot != null && message.hasOwnProperty("encryptedBallot")) - object.encryptedBallot = $root.meerkat.EncryptedBallot.toObject(message.encryptedBallot, options); - if (message.signature != null && message.hasOwnProperty("signature")) - object.signature = $root.meerkat.Signature.toObject(message.signature, options); - return object; - }; - - /** - * Converts this SignedEncryptedBallot to JSON. - * @function toJSON - * @memberof meerkat.SignedEncryptedBallot - * @instance - * @returns {Object.} JSON object - */ - SignedEncryptedBallot.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return SignedEncryptedBallot; - })(); - - meerkat.BallotSecrets = (function() { - - /** - * Properties of a BallotSecrets. - * @memberof meerkat - * @interface IBallotSecrets - * @property {meerkat.IPlaintextBallot} [plaintextBallot] BallotSecrets plaintextBallot - * @property {meerkat.IEncryptionRandomness} [encryptionRandomness] BallotSecrets encryptionRandomness - * @property {meerkat.IRandomnessGenerationProof} [proof] BallotSecrets proof - */ - - /** - * Constructs a new BallotSecrets. - * @memberof meerkat - * @classdesc Represents a BallotSecrets. - * @constructor - * @param {meerkat.IBallotSecrets=} [properties] Properties to set - */ - function BallotSecrets(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * BallotSecrets plaintextBallot. - * @member {(meerkat.IPlaintextBallot|null|undefined)}plaintextBallot - * @memberof meerkat.BallotSecrets - * @instance - */ - BallotSecrets.prototype.plaintextBallot = null; - - /** - * BallotSecrets encryptionRandomness. - * @member {(meerkat.IEncryptionRandomness|null|undefined)}encryptionRandomness - * @memberof meerkat.BallotSecrets - * @instance - */ - BallotSecrets.prototype.encryptionRandomness = null; - - /** - * BallotSecrets proof. - * @member {(meerkat.IRandomnessGenerationProof|null|undefined)}proof - * @memberof meerkat.BallotSecrets - * @instance - */ - BallotSecrets.prototype.proof = null; - - /** - * Creates a new BallotSecrets instance using the specified properties. - * @function create - * @memberof meerkat.BallotSecrets - * @static - * @param {meerkat.IBallotSecrets=} [properties] Properties to set - * @returns {meerkat.BallotSecrets} BallotSecrets instance - */ - BallotSecrets.create = function create(properties) { - return new BallotSecrets(properties); - }; - - /** - * Encodes the specified BallotSecrets message. Does not implicitly {@link meerkat.BallotSecrets.verify|verify} messages. - * @function encode - * @memberof meerkat.BallotSecrets - * @static - * @param {meerkat.IBallotSecrets} message BallotSecrets message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BallotSecrets.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.plaintextBallot != null && message.hasOwnProperty("plaintextBallot")) - $root.meerkat.PlaintextBallot.encode(message.plaintextBallot, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.encryptionRandomness != null && message.hasOwnProperty("encryptionRandomness")) - $root.meerkat.EncryptionRandomness.encode(message.encryptionRandomness, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.proof != null && message.hasOwnProperty("proof")) - $root.meerkat.RandomnessGenerationProof.encode(message.proof, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified BallotSecrets message, length delimited. Does not implicitly {@link meerkat.BallotSecrets.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.BallotSecrets - * @static - * @param {meerkat.IBallotSecrets} message BallotSecrets message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BallotSecrets.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a BallotSecrets message from the specified reader or buffer. - * @function decode - * @memberof meerkat.BallotSecrets - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.BallotSecrets} BallotSecrets - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BallotSecrets.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.BallotSecrets(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.plaintextBallot = $root.meerkat.PlaintextBallot.decode(reader, reader.uint32()); - break; - case 2: - message.encryptionRandomness = $root.meerkat.EncryptionRandomness.decode(reader, reader.uint32()); - break; - case 3: - message.proof = $root.meerkat.RandomnessGenerationProof.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a BallotSecrets message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.BallotSecrets - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.BallotSecrets} BallotSecrets - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BallotSecrets.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a BallotSecrets message. - * @function verify - * @memberof meerkat.BallotSecrets - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - BallotSecrets.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.plaintextBallot != null && message.hasOwnProperty("plaintextBallot")) { - var error = $root.meerkat.PlaintextBallot.verify(message.plaintextBallot); - if (error) - return "plaintextBallot." + error; - } - if (message.encryptionRandomness != null && message.hasOwnProperty("encryptionRandomness")) { - error = $root.meerkat.EncryptionRandomness.verify(message.encryptionRandomness); - if (error) - return "encryptionRandomness." + error; - } - if (message.proof != null && message.hasOwnProperty("proof")) { - error = $root.meerkat.RandomnessGenerationProof.verify(message.proof); - if (error) - return "proof." + error; - } - return null; - }; - - /** - * Creates a BallotSecrets message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.BallotSecrets - * @static - * @param {Object.} object Plain object - * @returns {meerkat.BallotSecrets} BallotSecrets - */ - BallotSecrets.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.BallotSecrets) - return object; - var message = new $root.meerkat.BallotSecrets(); - if (object.plaintextBallot != null) { - if (typeof object.plaintextBallot !== "object") - throw TypeError(".meerkat.BallotSecrets.plaintextBallot: object expected"); - message.plaintextBallot = $root.meerkat.PlaintextBallot.fromObject(object.plaintextBallot); - } - if (object.encryptionRandomness != null) { - if (typeof object.encryptionRandomness !== "object") - throw TypeError(".meerkat.BallotSecrets.encryptionRandomness: object expected"); - message.encryptionRandomness = $root.meerkat.EncryptionRandomness.fromObject(object.encryptionRandomness); - } - if (object.proof != null) { - if (typeof object.proof !== "object") - throw TypeError(".meerkat.BallotSecrets.proof: object expected"); - message.proof = $root.meerkat.RandomnessGenerationProof.fromObject(object.proof); - } - return message; - }; - - /** - * Creates a plain object from a BallotSecrets message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.BallotSecrets - * @static - * @param {meerkat.BallotSecrets} message BallotSecrets - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - BallotSecrets.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.plaintextBallot = null; - object.encryptionRandomness = null; - object.proof = null; - } - if (message.plaintextBallot != null && message.hasOwnProperty("plaintextBallot")) - object.plaintextBallot = $root.meerkat.PlaintextBallot.toObject(message.plaintextBallot, options); - if (message.encryptionRandomness != null && message.hasOwnProperty("encryptionRandomness")) - object.encryptionRandomness = $root.meerkat.EncryptionRandomness.toObject(message.encryptionRandomness, options); - if (message.proof != null && message.hasOwnProperty("proof")) - object.proof = $root.meerkat.RandomnessGenerationProof.toObject(message.proof, options); - return object; - }; - - /** - * Converts this BallotSecrets to JSON. - * @function toJSON - * @memberof meerkat.BallotSecrets - * @instance - * @returns {Object.} JSON object - */ - BallotSecrets.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return BallotSecrets; - })(); - - meerkat.BoothParams = (function() { - - /** - * Properties of a BoothParams. - * @memberof meerkat - * @interface IBoothParams - * @property {Array.} [pscVerificationKeys] BoothParams pscVerificationKeys - */ - - /** - * Constructs a new BoothParams. - * @memberof meerkat - * @classdesc Represents a BoothParams. - * @constructor - * @param {meerkat.IBoothParams=} [properties] Properties to set - */ - function BoothParams(properties) { - this.pscVerificationKeys = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * BoothParams pscVerificationKeys. - * @member {Array.}pscVerificationKeys - * @memberof meerkat.BoothParams - * @instance - */ - BoothParams.prototype.pscVerificationKeys = $util.emptyArray; - - /** - * Creates a new BoothParams instance using the specified properties. - * @function create - * @memberof meerkat.BoothParams - * @static - * @param {meerkat.IBoothParams=} [properties] Properties to set - * @returns {meerkat.BoothParams} BoothParams instance - */ - BoothParams.create = function create(properties) { - return new BoothParams(properties); - }; - - /** - * Encodes the specified BoothParams message. Does not implicitly {@link meerkat.BoothParams.verify|verify} messages. - * @function encode - * @memberof meerkat.BoothParams - * @static - * @param {meerkat.IBoothParams} message BoothParams message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BoothParams.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.pscVerificationKeys != null && message.pscVerificationKeys.length) - for (var i = 0; i < message.pscVerificationKeys.length; ++i) - $root.meerkat.SignatureVerificationKey.encode(message.pscVerificationKeys[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified BoothParams message, length delimited. Does not implicitly {@link meerkat.BoothParams.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.BoothParams - * @static - * @param {meerkat.IBoothParams} message BoothParams message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BoothParams.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a BoothParams message from the specified reader or buffer. - * @function decode - * @memberof meerkat.BoothParams - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.BoothParams} BoothParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BoothParams.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.BoothParams(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.pscVerificationKeys && message.pscVerificationKeys.length)) - message.pscVerificationKeys = []; - message.pscVerificationKeys.push($root.meerkat.SignatureVerificationKey.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a BoothParams message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.BoothParams - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.BoothParams} BoothParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BoothParams.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a BoothParams message. - * @function verify - * @memberof meerkat.BoothParams - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - BoothParams.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.pscVerificationKeys != null && message.hasOwnProperty("pscVerificationKeys")) { - if (!Array.isArray(message.pscVerificationKeys)) - return "pscVerificationKeys: array expected"; - for (var i = 0; i < message.pscVerificationKeys.length; ++i) { - var error = $root.meerkat.SignatureVerificationKey.verify(message.pscVerificationKeys[i]); - if (error) - return "pscVerificationKeys." + error; - } - } - return null; - }; - - /** - * Creates a BoothParams message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.BoothParams - * @static - * @param {Object.} object Plain object - * @returns {meerkat.BoothParams} BoothParams - */ - BoothParams.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.BoothParams) - return object; - var message = new $root.meerkat.BoothParams(); - if (object.pscVerificationKeys) { - if (!Array.isArray(object.pscVerificationKeys)) - throw TypeError(".meerkat.BoothParams.pscVerificationKeys: array expected"); - message.pscVerificationKeys = []; - for (var i = 0; i < object.pscVerificationKeys.length; ++i) { - if (typeof object.pscVerificationKeys[i] !== "object") - throw TypeError(".meerkat.BoothParams.pscVerificationKeys: object expected"); - message.pscVerificationKeys[i] = $root.meerkat.SignatureVerificationKey.fromObject(object.pscVerificationKeys[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a BoothParams message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.BoothParams - * @static - * @param {meerkat.BoothParams} message BoothParams - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - BoothParams.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.pscVerificationKeys = []; - if (message.pscVerificationKeys && message.pscVerificationKeys.length) { - object.pscVerificationKeys = []; - for (var j = 0; j < message.pscVerificationKeys.length; ++j) - object.pscVerificationKeys[j] = $root.meerkat.SignatureVerificationKey.toObject(message.pscVerificationKeys[j], options); - } - return object; - }; - - /** - * Converts this BoothParams to JSON. - * @function toJSON - * @memberof meerkat.BoothParams - * @instance - * @returns {Object.} JSON object - */ - BoothParams.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return BoothParams; - })(); - - meerkat.BoothSystemMessages = (function() { - - /** - * Properties of a BoothSystemMessages. - * @memberof meerkat - * @interface IBoothSystemMessages - * @property {Object.} [systemMessage] BoothSystemMessages systemMessage - */ - - /** - * Constructs a new BoothSystemMessages. - * @memberof meerkat - * @classdesc Represents a BoothSystemMessages. - * @constructor - * @param {meerkat.IBoothSystemMessages=} [properties] Properties to set - */ - function BoothSystemMessages(properties) { - this.systemMessage = {}; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * BoothSystemMessages systemMessage. - * @member {Object.}systemMessage - * @memberof meerkat.BoothSystemMessages - * @instance - */ - BoothSystemMessages.prototype.systemMessage = $util.emptyObject; - - /** - * Creates a new BoothSystemMessages instance using the specified properties. - * @function create - * @memberof meerkat.BoothSystemMessages - * @static - * @param {meerkat.IBoothSystemMessages=} [properties] Properties to set - * @returns {meerkat.BoothSystemMessages} BoothSystemMessages instance - */ - BoothSystemMessages.create = function create(properties) { - return new BoothSystemMessages(properties); - }; - - /** - * Encodes the specified BoothSystemMessages message. Does not implicitly {@link meerkat.BoothSystemMessages.verify|verify} messages. - * @function encode - * @memberof meerkat.BoothSystemMessages - * @static - * @param {meerkat.IBoothSystemMessages} message BoothSystemMessages message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BoothSystemMessages.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.systemMessage != null && message.hasOwnProperty("systemMessage")) - for (var keys = Object.keys(message.systemMessage), i = 0; i < keys.length; ++i) { - writer.uint32(/* id 1, wireType 2 =*/10).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]); - $root.meerkat.UIElement.encode(message.systemMessage[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim(); - } - return writer; - }; - - /** - * Encodes the specified BoothSystemMessages message, length delimited. Does not implicitly {@link meerkat.BoothSystemMessages.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.BoothSystemMessages - * @static - * @param {meerkat.IBoothSystemMessages} message BoothSystemMessages message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BoothSystemMessages.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a BoothSystemMessages message from the specified reader or buffer. - * @function decode - * @memberof meerkat.BoothSystemMessages - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.BoothSystemMessages} BoothSystemMessages - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BoothSystemMessages.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.BoothSystemMessages(), key; - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - reader.skip().pos++; - if (message.systemMessage === $util.emptyObject) - message.systemMessage = {}; - key = reader.string(); - reader.pos++; - message.systemMessage[key] = $root.meerkat.UIElement.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a BoothSystemMessages message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.BoothSystemMessages - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.BoothSystemMessages} BoothSystemMessages - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BoothSystemMessages.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a BoothSystemMessages message. - * @function verify - * @memberof meerkat.BoothSystemMessages - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - BoothSystemMessages.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.systemMessage != null && message.hasOwnProperty("systemMessage")) { - if (!$util.isObject(message.systemMessage)) - return "systemMessage: object expected"; - var key = Object.keys(message.systemMessage); - for (var i = 0; i < key.length; ++i) { - var error = $root.meerkat.UIElement.verify(message.systemMessage[key[i]]); - if (error) - return "systemMessage." + error; - } - } - return null; - }; - - /** - * Creates a BoothSystemMessages message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.BoothSystemMessages - * @static - * @param {Object.} object Plain object - * @returns {meerkat.BoothSystemMessages} BoothSystemMessages - */ - BoothSystemMessages.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.BoothSystemMessages) - return object; - var message = new $root.meerkat.BoothSystemMessages(); - if (object.systemMessage) { - if (typeof object.systemMessage !== "object") - throw TypeError(".meerkat.BoothSystemMessages.systemMessage: object expected"); - message.systemMessage = {}; - for (var keys = Object.keys(object.systemMessage), i = 0; i < keys.length; ++i) { - if (typeof object.systemMessage[keys[i]] !== "object") - throw TypeError(".meerkat.BoothSystemMessages.systemMessage: object expected"); - message.systemMessage[keys[i]] = $root.meerkat.UIElement.fromObject(object.systemMessage[keys[i]]); - } - } - return message; - }; - - /** - * Creates a plain object from a BoothSystemMessages message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.BoothSystemMessages - * @static - * @param {meerkat.BoothSystemMessages} message BoothSystemMessages - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - BoothSystemMessages.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.objects || options.defaults) - object.systemMessage = {}; - var keys2; - if (message.systemMessage && (keys2 = Object.keys(message.systemMessage)).length) { - object.systemMessage = {}; - for (var j = 0; j < keys2.length; ++j) - object.systemMessage[keys2[j]] = $root.meerkat.UIElement.toObject(message.systemMessage[keys2[j]], options); - } - return object; - }; - - /** - * Converts this BoothSystemMessages to JSON. - * @function toJSON - * @memberof meerkat.BoothSystemMessages - * @instance - * @returns {Object.} JSON object - */ - BoothSystemMessages.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return BoothSystemMessages; - })(); - - meerkat.BallotAnswerTranslationTable = (function() { - - /** - * Properties of a BallotAnswerTranslationTable. - * @memberof meerkat - * @interface IBallotAnswerTranslationTable - * @property {Uint8Array} [data] BallotAnswerTranslationTable data - */ - - /** - * Constructs a new BallotAnswerTranslationTable. - * @memberof meerkat - * @classdesc Represents a BallotAnswerTranslationTable. - * @constructor - * @param {meerkat.IBallotAnswerTranslationTable=} [properties] Properties to set - */ - function BallotAnswerTranslationTable(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * BallotAnswerTranslationTable data. - * @member {Uint8Array}data - * @memberof meerkat.BallotAnswerTranslationTable - * @instance - */ - BallotAnswerTranslationTable.prototype.data = $util.newBuffer([]); - - /** - * Creates a new BallotAnswerTranslationTable instance using the specified properties. - * @function create - * @memberof meerkat.BallotAnswerTranslationTable - * @static - * @param {meerkat.IBallotAnswerTranslationTable=} [properties] Properties to set - * @returns {meerkat.BallotAnswerTranslationTable} BallotAnswerTranslationTable instance - */ - BallotAnswerTranslationTable.create = function create(properties) { - return new BallotAnswerTranslationTable(properties); - }; - - /** - * Encodes the specified BallotAnswerTranslationTable message. Does not implicitly {@link meerkat.BallotAnswerTranslationTable.verify|verify} messages. - * @function encode - * @memberof meerkat.BallotAnswerTranslationTable - * @static - * @param {meerkat.IBallotAnswerTranslationTable} message BallotAnswerTranslationTable message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BallotAnswerTranslationTable.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.data != null && message.hasOwnProperty("data")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.data); - return writer; - }; - - /** - * Encodes the specified BallotAnswerTranslationTable message, length delimited. Does not implicitly {@link meerkat.BallotAnswerTranslationTable.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.BallotAnswerTranslationTable - * @static - * @param {meerkat.IBallotAnswerTranslationTable} message BallotAnswerTranslationTable message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BallotAnswerTranslationTable.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a BallotAnswerTranslationTable message from the specified reader or buffer. - * @function decode - * @memberof meerkat.BallotAnswerTranslationTable - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.BallotAnswerTranslationTable} BallotAnswerTranslationTable - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BallotAnswerTranslationTable.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.BallotAnswerTranslationTable(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.data = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a BallotAnswerTranslationTable message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.BallotAnswerTranslationTable - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.BallotAnswerTranslationTable} BallotAnswerTranslationTable - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BallotAnswerTranslationTable.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a BallotAnswerTranslationTable message. - * @function verify - * @memberof meerkat.BallotAnswerTranslationTable - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - BallotAnswerTranslationTable.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.data != null && message.hasOwnProperty("data")) - if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) - return "data: buffer expected"; - return null; - }; - - /** - * Creates a BallotAnswerTranslationTable message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.BallotAnswerTranslationTable - * @static - * @param {Object.} object Plain object - * @returns {meerkat.BallotAnswerTranslationTable} BallotAnswerTranslationTable - */ - BallotAnswerTranslationTable.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.BallotAnswerTranslationTable) - return object; - var message = new $root.meerkat.BallotAnswerTranslationTable(); - if (object.data != null) - if (typeof object.data === "string") - $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); - else if (object.data.length) - message.data = object.data; - return message; - }; - - /** - * Creates a plain object from a BallotAnswerTranslationTable message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.BallotAnswerTranslationTable - * @static - * @param {meerkat.BallotAnswerTranslationTable} message BallotAnswerTranslationTable - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - BallotAnswerTranslationTable.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.data = options.bytes === String ? "" : []; - if (message.data != null && message.hasOwnProperty("data")) - object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; - return object; - }; - - /** - * Converts this BallotAnswerTranslationTable to JSON. - * @function toJSON - * @memberof meerkat.BallotAnswerTranslationTable - * @instance - * @returns {Object.} JSON object - */ - BallotAnswerTranslationTable.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return BallotAnswerTranslationTable; - })(); - - meerkat.BulletinBoardClientParams = (function() { - - /** - * Properties of a BulletinBoardClientParams. - * @memberof meerkat - * @interface IBulletinBoardClientParams - * @property {Array.} [bulletinBoardAddress] BulletinBoardClientParams bulletinBoardAddress - * @property {number} [minRedundancy] BulletinBoardClientParams minRedundancy - */ - - /** - * Constructs a new BulletinBoardClientParams. - * @memberof meerkat - * @classdesc Represents a BulletinBoardClientParams. - * @constructor - * @param {meerkat.IBulletinBoardClientParams=} [properties] Properties to set - */ - function BulletinBoardClientParams(properties) { - this.bulletinBoardAddress = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * BulletinBoardClientParams bulletinBoardAddress. - * @member {Array.}bulletinBoardAddress - * @memberof meerkat.BulletinBoardClientParams - * @instance - */ - BulletinBoardClientParams.prototype.bulletinBoardAddress = $util.emptyArray; - - /** - * BulletinBoardClientParams minRedundancy. - * @member {number}minRedundancy - * @memberof meerkat.BulletinBoardClientParams - * @instance - */ - BulletinBoardClientParams.prototype.minRedundancy = 0; - - /** - * Creates a new BulletinBoardClientParams instance using the specified properties. - * @function create - * @memberof meerkat.BulletinBoardClientParams - * @static - * @param {meerkat.IBulletinBoardClientParams=} [properties] Properties to set - * @returns {meerkat.BulletinBoardClientParams} BulletinBoardClientParams instance - */ - BulletinBoardClientParams.create = function create(properties) { - return new BulletinBoardClientParams(properties); - }; - - /** - * Encodes the specified BulletinBoardClientParams message. Does not implicitly {@link meerkat.BulletinBoardClientParams.verify|verify} messages. - * @function encode - * @memberof meerkat.BulletinBoardClientParams - * @static - * @param {meerkat.IBulletinBoardClientParams} message BulletinBoardClientParams message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BulletinBoardClientParams.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.bulletinBoardAddress != null && message.bulletinBoardAddress.length) - for (var i = 0; i < message.bulletinBoardAddress.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.bulletinBoardAddress[i]); - if (message.minRedundancy != null && message.hasOwnProperty("minRedundancy")) - writer.uint32(/* id 2, wireType 5 =*/21).float(message.minRedundancy); - return writer; - }; - - /** - * Encodes the specified BulletinBoardClientParams message, length delimited. Does not implicitly {@link meerkat.BulletinBoardClientParams.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.BulletinBoardClientParams - * @static - * @param {meerkat.IBulletinBoardClientParams} message BulletinBoardClientParams message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BulletinBoardClientParams.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a BulletinBoardClientParams message from the specified reader or buffer. - * @function decode - * @memberof meerkat.BulletinBoardClientParams - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.BulletinBoardClientParams} BulletinBoardClientParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BulletinBoardClientParams.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.BulletinBoardClientParams(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.bulletinBoardAddress && message.bulletinBoardAddress.length)) - message.bulletinBoardAddress = []; - message.bulletinBoardAddress.push(reader.string()); - break; - case 2: - message.minRedundancy = reader.float(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a BulletinBoardClientParams message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.BulletinBoardClientParams - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.BulletinBoardClientParams} BulletinBoardClientParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BulletinBoardClientParams.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a BulletinBoardClientParams message. - * @function verify - * @memberof meerkat.BulletinBoardClientParams - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - BulletinBoardClientParams.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.bulletinBoardAddress != null && message.hasOwnProperty("bulletinBoardAddress")) { - if (!Array.isArray(message.bulletinBoardAddress)) - return "bulletinBoardAddress: array expected"; - for (var i = 0; i < message.bulletinBoardAddress.length; ++i) - if (!$util.isString(message.bulletinBoardAddress[i])) - return "bulletinBoardAddress: string[] expected"; - } - if (message.minRedundancy != null && message.hasOwnProperty("minRedundancy")) - if (typeof message.minRedundancy !== "number") - return "minRedundancy: number expected"; - return null; - }; - - /** - * Creates a BulletinBoardClientParams message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.BulletinBoardClientParams - * @static - * @param {Object.} object Plain object - * @returns {meerkat.BulletinBoardClientParams} BulletinBoardClientParams - */ - BulletinBoardClientParams.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.BulletinBoardClientParams) - return object; - var message = new $root.meerkat.BulletinBoardClientParams(); - if (object.bulletinBoardAddress) { - if (!Array.isArray(object.bulletinBoardAddress)) - throw TypeError(".meerkat.BulletinBoardClientParams.bulletinBoardAddress: array expected"); - message.bulletinBoardAddress = []; - for (var i = 0; i < object.bulletinBoardAddress.length; ++i) - message.bulletinBoardAddress[i] = String(object.bulletinBoardAddress[i]); - } - if (object.minRedundancy != null) - message.minRedundancy = Number(object.minRedundancy); - return message; - }; - - /** - * Creates a plain object from a BulletinBoardClientParams message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.BulletinBoardClientParams - * @static - * @param {meerkat.BulletinBoardClientParams} message BulletinBoardClientParams - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - BulletinBoardClientParams.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.bulletinBoardAddress = []; - if (options.defaults) - object.minRedundancy = 0; - if (message.bulletinBoardAddress && message.bulletinBoardAddress.length) { - object.bulletinBoardAddress = []; - for (var j = 0; j < message.bulletinBoardAddress.length; ++j) - object.bulletinBoardAddress[j] = message.bulletinBoardAddress[j]; - } - if (message.minRedundancy != null && message.hasOwnProperty("minRedundancy")) - object.minRedundancy = options.json && !isFinite(message.minRedundancy) ? String(message.minRedundancy) : message.minRedundancy; - return object; - }; - - /** - * Converts this BulletinBoardClientParams to JSON. - * @function toJSON - * @memberof meerkat.BulletinBoardClientParams - * @instance - * @returns {Object.} JSON object - */ - BulletinBoardClientParams.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return BulletinBoardClientParams; - })(); - - meerkat.ElectionParams = (function() { - - /** - * Properties of an ElectionParams. - * @memberof meerkat - * @interface IElectionParams - * @property {Array.} [trusteeVerificationKeys] ElectionParams trusteeVerificationKeys - * @property {number} [trusteeSignatureThreshold] ElectionParams trusteeSignatureThreshold - * @property {meerkat.IEncryptionPublicKey} [ballotEncryptionKey] ElectionParams ballotEncryptionKey - * @property {Array.} [mixerVerificationKeys] ElectionParams mixerVerificationKeys - * @property {number} [mixerThreshold] ElectionParams mixerThreshold - * @property {Array.} [channelChoiceQuestions] ElectionParams channelChoiceQuestions - * @property {meerkat.ISimpleCategoriesSelectionData} [selectionData] ElectionParams selectionData - * @property {Array.} [raceQuestions] ElectionParams raceQuestions - * @property {meerkat.IBulletinBoardClientParams} [bulletinBoardClientParams] ElectionParams bulletinBoardClientParams - */ - - /** - * Constructs a new ElectionParams. - * @memberof meerkat - * @classdesc Represents an ElectionParams. - * @constructor - * @param {meerkat.IElectionParams=} [properties] Properties to set - */ - function ElectionParams(properties) { - this.trusteeVerificationKeys = []; - this.mixerVerificationKeys = []; - this.channelChoiceQuestions = []; - this.raceQuestions = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ElectionParams trusteeVerificationKeys. - * @member {Array.}trusteeVerificationKeys - * @memberof meerkat.ElectionParams - * @instance - */ - ElectionParams.prototype.trusteeVerificationKeys = $util.emptyArray; - - /** - * ElectionParams trusteeSignatureThreshold. - * @member {number}trusteeSignatureThreshold - * @memberof meerkat.ElectionParams - * @instance - */ - ElectionParams.prototype.trusteeSignatureThreshold = 0; - - /** - * ElectionParams ballotEncryptionKey. - * @member {(meerkat.IEncryptionPublicKey|null|undefined)}ballotEncryptionKey - * @memberof meerkat.ElectionParams - * @instance - */ - ElectionParams.prototype.ballotEncryptionKey = null; - - /** - * ElectionParams mixerVerificationKeys. - * @member {Array.}mixerVerificationKeys - * @memberof meerkat.ElectionParams - * @instance - */ - ElectionParams.prototype.mixerVerificationKeys = $util.emptyArray; - - /** - * ElectionParams mixerThreshold. - * @member {number}mixerThreshold - * @memberof meerkat.ElectionParams - * @instance - */ - ElectionParams.prototype.mixerThreshold = 0; - - /** - * ElectionParams channelChoiceQuestions. - * @member {Array.}channelChoiceQuestions - * @memberof meerkat.ElectionParams - * @instance - */ - ElectionParams.prototype.channelChoiceQuestions = $util.emptyArray; - - /** - * ElectionParams selectionData. - * @member {(meerkat.ISimpleCategoriesSelectionData|null|undefined)}selectionData - * @memberof meerkat.ElectionParams - * @instance - */ - ElectionParams.prototype.selectionData = null; - - /** - * ElectionParams raceQuestions. - * @member {Array.}raceQuestions - * @memberof meerkat.ElectionParams - * @instance - */ - ElectionParams.prototype.raceQuestions = $util.emptyArray; - - /** - * ElectionParams bulletinBoardClientParams. - * @member {(meerkat.IBulletinBoardClientParams|null|undefined)}bulletinBoardClientParams - * @memberof meerkat.ElectionParams - * @instance - */ - ElectionParams.prototype.bulletinBoardClientParams = null; - - /** - * Creates a new ElectionParams instance using the specified properties. - * @function create - * @memberof meerkat.ElectionParams - * @static - * @param {meerkat.IElectionParams=} [properties] Properties to set - * @returns {meerkat.ElectionParams} ElectionParams instance - */ - ElectionParams.create = function create(properties) { - return new ElectionParams(properties); - }; - - /** - * Encodes the specified ElectionParams message. Does not implicitly {@link meerkat.ElectionParams.verify|verify} messages. - * @function encode - * @memberof meerkat.ElectionParams - * @static - * @param {meerkat.IElectionParams} message ElectionParams message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ElectionParams.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.trusteeVerificationKeys != null && message.trusteeVerificationKeys.length) - for (var i = 0; i < message.trusteeVerificationKeys.length; ++i) - $root.meerkat.SignatureVerificationKey.encode(message.trusteeVerificationKeys[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.trusteeSignatureThreshold != null && message.hasOwnProperty("trusteeSignatureThreshold")) - writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.trusteeSignatureThreshold); - if (message.ballotEncryptionKey != null && message.hasOwnProperty("ballotEncryptionKey")) - $root.meerkat.EncryptionPublicKey.encode(message.ballotEncryptionKey, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.mixerVerificationKeys != null && message.mixerVerificationKeys.length) - for (var i = 0; i < message.mixerVerificationKeys.length; ++i) - $root.meerkat.SignatureVerificationKey.encode(message.mixerVerificationKeys[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.mixerThreshold != null && message.hasOwnProperty("mixerThreshold")) - writer.uint32(/* id 5, wireType 0 =*/40).uint32(message.mixerThreshold); - if (message.channelChoiceQuestions != null && message.channelChoiceQuestions.length) - for (var i = 0; i < message.channelChoiceQuestions.length; ++i) - $root.meerkat.BallotQuestion.encode(message.channelChoiceQuestions[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.selectionData != null && message.hasOwnProperty("selectionData")) - $root.meerkat.SimpleCategoriesSelectionData.encode(message.selectionData, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); - if (message.raceQuestions != null && message.raceQuestions.length) - for (var i = 0; i < message.raceQuestions.length; ++i) - $root.meerkat.BallotQuestion.encode(message.raceQuestions[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.bulletinBoardClientParams != null && message.hasOwnProperty("bulletinBoardClientParams")) - $root.meerkat.BulletinBoardClientParams.encode(message.bulletinBoardClientParams, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified ElectionParams message, length delimited. Does not implicitly {@link meerkat.ElectionParams.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.ElectionParams - * @static - * @param {meerkat.IElectionParams} message ElectionParams message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ElectionParams.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an ElectionParams message from the specified reader or buffer. - * @function decode - * @memberof meerkat.ElectionParams - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.ElectionParams} ElectionParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ElectionParams.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.ElectionParams(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.trusteeVerificationKeys && message.trusteeVerificationKeys.length)) - message.trusteeVerificationKeys = []; - message.trusteeVerificationKeys.push($root.meerkat.SignatureVerificationKey.decode(reader, reader.uint32())); - break; - case 2: - message.trusteeSignatureThreshold = reader.uint32(); - break; - case 3: - message.ballotEncryptionKey = $root.meerkat.EncryptionPublicKey.decode(reader, reader.uint32()); - break; - case 4: - if (!(message.mixerVerificationKeys && message.mixerVerificationKeys.length)) - message.mixerVerificationKeys = []; - message.mixerVerificationKeys.push($root.meerkat.SignatureVerificationKey.decode(reader, reader.uint32())); - break; - case 5: - message.mixerThreshold = reader.uint32(); - break; - case 6: - if (!(message.channelChoiceQuestions && message.channelChoiceQuestions.length)) - message.channelChoiceQuestions = []; - message.channelChoiceQuestions.push($root.meerkat.BallotQuestion.decode(reader, reader.uint32())); - break; - case 7: - message.selectionData = $root.meerkat.SimpleCategoriesSelectionData.decode(reader, reader.uint32()); - break; - case 8: - if (!(message.raceQuestions && message.raceQuestions.length)) - message.raceQuestions = []; - message.raceQuestions.push($root.meerkat.BallotQuestion.decode(reader, reader.uint32())); - break; - case 9: - message.bulletinBoardClientParams = $root.meerkat.BulletinBoardClientParams.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an ElectionParams message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.ElectionParams - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.ElectionParams} ElectionParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ElectionParams.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an ElectionParams message. - * @function verify - * @memberof meerkat.ElectionParams - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ElectionParams.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.trusteeVerificationKeys != null && message.hasOwnProperty("trusteeVerificationKeys")) { - if (!Array.isArray(message.trusteeVerificationKeys)) - return "trusteeVerificationKeys: array expected"; - for (var i = 0; i < message.trusteeVerificationKeys.length; ++i) { - var error = $root.meerkat.SignatureVerificationKey.verify(message.trusteeVerificationKeys[i]); - if (error) - return "trusteeVerificationKeys." + error; - } - } - if (message.trusteeSignatureThreshold != null && message.hasOwnProperty("trusteeSignatureThreshold")) - if (!$util.isInteger(message.trusteeSignatureThreshold)) - return "trusteeSignatureThreshold: integer expected"; - if (message.ballotEncryptionKey != null && message.hasOwnProperty("ballotEncryptionKey")) { - error = $root.meerkat.EncryptionPublicKey.verify(message.ballotEncryptionKey); - if (error) - return "ballotEncryptionKey." + error; - } - if (message.mixerVerificationKeys != null && message.hasOwnProperty("mixerVerificationKeys")) { - if (!Array.isArray(message.mixerVerificationKeys)) - return "mixerVerificationKeys: array expected"; - for (var i = 0; i < message.mixerVerificationKeys.length; ++i) { - error = $root.meerkat.SignatureVerificationKey.verify(message.mixerVerificationKeys[i]); - if (error) - return "mixerVerificationKeys." + error; - } - } - if (message.mixerThreshold != null && message.hasOwnProperty("mixerThreshold")) - if (!$util.isInteger(message.mixerThreshold)) - return "mixerThreshold: integer expected"; - if (message.channelChoiceQuestions != null && message.hasOwnProperty("channelChoiceQuestions")) { - if (!Array.isArray(message.channelChoiceQuestions)) - return "channelChoiceQuestions: array expected"; - for (var i = 0; i < message.channelChoiceQuestions.length; ++i) { - error = $root.meerkat.BallotQuestion.verify(message.channelChoiceQuestions[i]); - if (error) - return "channelChoiceQuestions." + error; - } - } - if (message.selectionData != null && message.hasOwnProperty("selectionData")) { - error = $root.meerkat.SimpleCategoriesSelectionData.verify(message.selectionData); - if (error) - return "selectionData." + error; - } - if (message.raceQuestions != null && message.hasOwnProperty("raceQuestions")) { - if (!Array.isArray(message.raceQuestions)) - return "raceQuestions: array expected"; - for (var i = 0; i < message.raceQuestions.length; ++i) { - error = $root.meerkat.BallotQuestion.verify(message.raceQuestions[i]); - if (error) - return "raceQuestions." + error; - } - } - if (message.bulletinBoardClientParams != null && message.hasOwnProperty("bulletinBoardClientParams")) { - error = $root.meerkat.BulletinBoardClientParams.verify(message.bulletinBoardClientParams); - if (error) - return "bulletinBoardClientParams." + error; - } - return null; - }; - - /** - * Creates an ElectionParams message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.ElectionParams - * @static - * @param {Object.} object Plain object - * @returns {meerkat.ElectionParams} ElectionParams - */ - ElectionParams.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.ElectionParams) - return object; - var message = new $root.meerkat.ElectionParams(); - if (object.trusteeVerificationKeys) { - if (!Array.isArray(object.trusteeVerificationKeys)) - throw TypeError(".meerkat.ElectionParams.trusteeVerificationKeys: array expected"); - message.trusteeVerificationKeys = []; - for (var i = 0; i < object.trusteeVerificationKeys.length; ++i) { - if (typeof object.trusteeVerificationKeys[i] !== "object") - throw TypeError(".meerkat.ElectionParams.trusteeVerificationKeys: object expected"); - message.trusteeVerificationKeys[i] = $root.meerkat.SignatureVerificationKey.fromObject(object.trusteeVerificationKeys[i]); - } - } - if (object.trusteeSignatureThreshold != null) - message.trusteeSignatureThreshold = object.trusteeSignatureThreshold >>> 0; - if (object.ballotEncryptionKey != null) { - if (typeof object.ballotEncryptionKey !== "object") - throw TypeError(".meerkat.ElectionParams.ballotEncryptionKey: object expected"); - message.ballotEncryptionKey = $root.meerkat.EncryptionPublicKey.fromObject(object.ballotEncryptionKey); - } - if (object.mixerVerificationKeys) { - if (!Array.isArray(object.mixerVerificationKeys)) - throw TypeError(".meerkat.ElectionParams.mixerVerificationKeys: array expected"); - message.mixerVerificationKeys = []; - for (var i = 0; i < object.mixerVerificationKeys.length; ++i) { - if (typeof object.mixerVerificationKeys[i] !== "object") - throw TypeError(".meerkat.ElectionParams.mixerVerificationKeys: object expected"); - message.mixerVerificationKeys[i] = $root.meerkat.SignatureVerificationKey.fromObject(object.mixerVerificationKeys[i]); - } - } - if (object.mixerThreshold != null) - message.mixerThreshold = object.mixerThreshold >>> 0; - if (object.channelChoiceQuestions) { - if (!Array.isArray(object.channelChoiceQuestions)) - throw TypeError(".meerkat.ElectionParams.channelChoiceQuestions: array expected"); - message.channelChoiceQuestions = []; - for (var i = 0; i < object.channelChoiceQuestions.length; ++i) { - if (typeof object.channelChoiceQuestions[i] !== "object") - throw TypeError(".meerkat.ElectionParams.channelChoiceQuestions: object expected"); - message.channelChoiceQuestions[i] = $root.meerkat.BallotQuestion.fromObject(object.channelChoiceQuestions[i]); - } - } - if (object.selectionData != null) { - if (typeof object.selectionData !== "object") - throw TypeError(".meerkat.ElectionParams.selectionData: object expected"); - message.selectionData = $root.meerkat.SimpleCategoriesSelectionData.fromObject(object.selectionData); - } - if (object.raceQuestions) { - if (!Array.isArray(object.raceQuestions)) - throw TypeError(".meerkat.ElectionParams.raceQuestions: array expected"); - message.raceQuestions = []; - for (var i = 0; i < object.raceQuestions.length; ++i) { - if (typeof object.raceQuestions[i] !== "object") - throw TypeError(".meerkat.ElectionParams.raceQuestions: object expected"); - message.raceQuestions[i] = $root.meerkat.BallotQuestion.fromObject(object.raceQuestions[i]); - } - } - if (object.bulletinBoardClientParams != null) { - if (typeof object.bulletinBoardClientParams !== "object") - throw TypeError(".meerkat.ElectionParams.bulletinBoardClientParams: object expected"); - message.bulletinBoardClientParams = $root.meerkat.BulletinBoardClientParams.fromObject(object.bulletinBoardClientParams); - } - return message; - }; - - /** - * Creates a plain object from an ElectionParams message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.ElectionParams - * @static - * @param {meerkat.ElectionParams} message ElectionParams - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ElectionParams.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) { - object.trusteeVerificationKeys = []; - object.mixerVerificationKeys = []; - object.channelChoiceQuestions = []; - object.raceQuestions = []; - } - if (options.defaults) { - object.trusteeSignatureThreshold = 0; - object.ballotEncryptionKey = null; - object.mixerThreshold = 0; - object.selectionData = null; - object.bulletinBoardClientParams = null; - } - if (message.trusteeVerificationKeys && message.trusteeVerificationKeys.length) { - object.trusteeVerificationKeys = []; - for (var j = 0; j < message.trusteeVerificationKeys.length; ++j) - object.trusteeVerificationKeys[j] = $root.meerkat.SignatureVerificationKey.toObject(message.trusteeVerificationKeys[j], options); - } - if (message.trusteeSignatureThreshold != null && message.hasOwnProperty("trusteeSignatureThreshold")) - object.trusteeSignatureThreshold = message.trusteeSignatureThreshold; - if (message.ballotEncryptionKey != null && message.hasOwnProperty("ballotEncryptionKey")) - object.ballotEncryptionKey = $root.meerkat.EncryptionPublicKey.toObject(message.ballotEncryptionKey, options); - if (message.mixerVerificationKeys && message.mixerVerificationKeys.length) { - object.mixerVerificationKeys = []; - for (var j = 0; j < message.mixerVerificationKeys.length; ++j) - object.mixerVerificationKeys[j] = $root.meerkat.SignatureVerificationKey.toObject(message.mixerVerificationKeys[j], options); - } - if (message.mixerThreshold != null && message.hasOwnProperty("mixerThreshold")) - object.mixerThreshold = message.mixerThreshold; - if (message.channelChoiceQuestions && message.channelChoiceQuestions.length) { - object.channelChoiceQuestions = []; - for (var j = 0; j < message.channelChoiceQuestions.length; ++j) - object.channelChoiceQuestions[j] = $root.meerkat.BallotQuestion.toObject(message.channelChoiceQuestions[j], options); - } - if (message.selectionData != null && message.hasOwnProperty("selectionData")) - object.selectionData = $root.meerkat.SimpleCategoriesSelectionData.toObject(message.selectionData, options); - if (message.raceQuestions && message.raceQuestions.length) { - object.raceQuestions = []; - for (var j = 0; j < message.raceQuestions.length; ++j) - object.raceQuestions[j] = $root.meerkat.BallotQuestion.toObject(message.raceQuestions[j], options); - } - if (message.bulletinBoardClientParams != null && message.hasOwnProperty("bulletinBoardClientParams")) - object.bulletinBoardClientParams = $root.meerkat.BulletinBoardClientParams.toObject(message.bulletinBoardClientParams, options); - return object; - }; - - /** - * Converts this ElectionParams to JSON. - * @function toJSON - * @memberof meerkat.ElectionParams - * @instance - * @returns {Object.} JSON object - */ - ElectionParams.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ElectionParams; - })(); - - meerkat.Category = (function() { - - /** - * Properties of a Category. - * @memberof meerkat - * @interface ICategory - * @property {Array.} [questionIndex] Category questionIndex - */ - - /** - * Constructs a new Category. - * @memberof meerkat - * @classdesc Represents a Category. - * @constructor - * @param {meerkat.ICategory=} [properties] Properties to set - */ - function Category(properties) { - this.questionIndex = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Category questionIndex. - * @member {Array.}questionIndex - * @memberof meerkat.Category - * @instance - */ - Category.prototype.questionIndex = $util.emptyArray; - - /** - * Creates a new Category instance using the specified properties. - * @function create - * @memberof meerkat.Category - * @static - * @param {meerkat.ICategory=} [properties] Properties to set - * @returns {meerkat.Category} Category instance - */ - Category.create = function create(properties) { - return new Category(properties); - }; - - /** - * Encodes the specified Category message. Does not implicitly {@link meerkat.Category.verify|verify} messages. - * @function encode - * @memberof meerkat.Category - * @static - * @param {meerkat.ICategory} message Category message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Category.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.questionIndex != null && message.questionIndex.length) { - writer.uint32(/* id 1, wireType 2 =*/10).fork(); - for (var i = 0; i < message.questionIndex.length; ++i) - writer.uint32(message.questionIndex[i]); - writer.ldelim(); - } - return writer; - }; - - /** - * Encodes the specified Category message, length delimited. Does not implicitly {@link meerkat.Category.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.Category - * @static - * @param {meerkat.ICategory} message Category message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Category.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Category message from the specified reader or buffer. - * @function decode - * @memberof meerkat.Category - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.Category} Category - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Category.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.Category(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.questionIndex && message.questionIndex.length)) - message.questionIndex = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.questionIndex.push(reader.uint32()); - } else - message.questionIndex.push(reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Category message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.Category - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.Category} Category - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Category.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Category message. - * @function verify - * @memberof meerkat.Category - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Category.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.questionIndex != null && message.hasOwnProperty("questionIndex")) { - if (!Array.isArray(message.questionIndex)) - return "questionIndex: array expected"; - for (var i = 0; i < message.questionIndex.length; ++i) - if (!$util.isInteger(message.questionIndex[i])) - return "questionIndex: integer[] expected"; - } - return null; - }; - - /** - * Creates a Category message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.Category - * @static - * @param {Object.} object Plain object - * @returns {meerkat.Category} Category - */ - Category.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.Category) - return object; - var message = new $root.meerkat.Category(); - if (object.questionIndex) { - if (!Array.isArray(object.questionIndex)) - throw TypeError(".meerkat.Category.questionIndex: array expected"); - message.questionIndex = []; - for (var i = 0; i < object.questionIndex.length; ++i) - message.questionIndex[i] = object.questionIndex[i] >>> 0; - } - return message; - }; - - /** - * Creates a plain object from a Category message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.Category - * @static - * @param {meerkat.Category} message Category - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Category.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.questionIndex = []; - if (message.questionIndex && message.questionIndex.length) { - object.questionIndex = []; - for (var j = 0; j < message.questionIndex.length; ++j) - object.questionIndex[j] = message.questionIndex[j]; - } - return object; - }; - - /** - * Converts this Category to JSON. - * @function toJSON - * @memberof meerkat.Category - * @instance - * @returns {Object.} JSON object - */ - Category.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Category; - })(); - - meerkat.CategoryChooser = (function() { - - /** - * Properties of a CategoryChooser. - * @memberof meerkat - * @interface ICategoryChooser - * @property {Array.} [category] CategoryChooser category - */ - - /** - * Constructs a new CategoryChooser. - * @memberof meerkat - * @classdesc Represents a CategoryChooser. - * @constructor - * @param {meerkat.ICategoryChooser=} [properties] Properties to set - */ - function CategoryChooser(properties) { - this.category = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * CategoryChooser category. - * @member {Array.}category - * @memberof meerkat.CategoryChooser - * @instance - */ - CategoryChooser.prototype.category = $util.emptyArray; - - /** - * Creates a new CategoryChooser instance using the specified properties. - * @function create - * @memberof meerkat.CategoryChooser - * @static - * @param {meerkat.ICategoryChooser=} [properties] Properties to set - * @returns {meerkat.CategoryChooser} CategoryChooser instance - */ - CategoryChooser.create = function create(properties) { - return new CategoryChooser(properties); - }; - - /** - * Encodes the specified CategoryChooser message. Does not implicitly {@link meerkat.CategoryChooser.verify|verify} messages. - * @function encode - * @memberof meerkat.CategoryChooser - * @static - * @param {meerkat.ICategoryChooser} message CategoryChooser message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CategoryChooser.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.category != null && message.category.length) - for (var i = 0; i < message.category.length; ++i) - $root.meerkat.Category.encode(message.category[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified CategoryChooser message, length delimited. Does not implicitly {@link meerkat.CategoryChooser.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.CategoryChooser - * @static - * @param {meerkat.ICategoryChooser} message CategoryChooser message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CategoryChooser.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a CategoryChooser message from the specified reader or buffer. - * @function decode - * @memberof meerkat.CategoryChooser - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.CategoryChooser} CategoryChooser - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CategoryChooser.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.CategoryChooser(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.category && message.category.length)) - message.category = []; - message.category.push($root.meerkat.Category.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a CategoryChooser message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.CategoryChooser - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.CategoryChooser} CategoryChooser - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CategoryChooser.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a CategoryChooser message. - * @function verify - * @memberof meerkat.CategoryChooser - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - CategoryChooser.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.category != null && message.hasOwnProperty("category")) { - if (!Array.isArray(message.category)) - return "category: array expected"; - for (var i = 0; i < message.category.length; ++i) { - var error = $root.meerkat.Category.verify(message.category[i]); - if (error) - return "category." + error; - } - } - return null; - }; - - /** - * Creates a CategoryChooser message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.CategoryChooser - * @static - * @param {Object.} object Plain object - * @returns {meerkat.CategoryChooser} CategoryChooser - */ - CategoryChooser.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.CategoryChooser) - return object; - var message = new $root.meerkat.CategoryChooser(); - if (object.category) { - if (!Array.isArray(object.category)) - throw TypeError(".meerkat.CategoryChooser.category: array expected"); - message.category = []; - for (var i = 0; i < object.category.length; ++i) { - if (typeof object.category[i] !== "object") - throw TypeError(".meerkat.CategoryChooser.category: object expected"); - message.category[i] = $root.meerkat.Category.fromObject(object.category[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a CategoryChooser message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.CategoryChooser - * @static - * @param {meerkat.CategoryChooser} message CategoryChooser - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - CategoryChooser.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.category = []; - if (message.category && message.category.length) { - object.category = []; - for (var j = 0; j < message.category.length; ++j) - object.category[j] = $root.meerkat.Category.toObject(message.category[j], options); - } - return object; - }; - - /** - * Converts this CategoryChooser to JSON. - * @function toJSON - * @memberof meerkat.CategoryChooser - * @instance - * @returns {Object.} JSON object - */ - CategoryChooser.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return CategoryChooser; - })(); - - meerkat.SimpleCategoriesSelectionData = (function() { - - /** - * Properties of a SimpleCategoriesSelectionData. - * @memberof meerkat - * @interface ISimpleCategoriesSelectionData - * @property {meerkat.ICategory} [sharedDefaults] SimpleCategoriesSelectionData sharedDefaults - * @property {Array.} [categoryChooser] SimpleCategoriesSelectionData categoryChooser - */ - - /** - * Constructs a new SimpleCategoriesSelectionData. - * @memberof meerkat - * @classdesc Represents a SimpleCategoriesSelectionData. - * @constructor - * @param {meerkat.ISimpleCategoriesSelectionData=} [properties] Properties to set - */ - function SimpleCategoriesSelectionData(properties) { - this.categoryChooser = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * SimpleCategoriesSelectionData sharedDefaults. - * @member {(meerkat.ICategory|null|undefined)}sharedDefaults - * @memberof meerkat.SimpleCategoriesSelectionData - * @instance - */ - SimpleCategoriesSelectionData.prototype.sharedDefaults = null; - - /** - * SimpleCategoriesSelectionData categoryChooser. - * @member {Array.}categoryChooser - * @memberof meerkat.SimpleCategoriesSelectionData - * @instance - */ - SimpleCategoriesSelectionData.prototype.categoryChooser = $util.emptyArray; - - /** - * Creates a new SimpleCategoriesSelectionData instance using the specified properties. - * @function create - * @memberof meerkat.SimpleCategoriesSelectionData - * @static - * @param {meerkat.ISimpleCategoriesSelectionData=} [properties] Properties to set - * @returns {meerkat.SimpleCategoriesSelectionData} SimpleCategoriesSelectionData instance - */ - SimpleCategoriesSelectionData.create = function create(properties) { - return new SimpleCategoriesSelectionData(properties); - }; - - /** - * Encodes the specified SimpleCategoriesSelectionData message. Does not implicitly {@link meerkat.SimpleCategoriesSelectionData.verify|verify} messages. - * @function encode - * @memberof meerkat.SimpleCategoriesSelectionData - * @static - * @param {meerkat.ISimpleCategoriesSelectionData} message SimpleCategoriesSelectionData message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SimpleCategoriesSelectionData.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.sharedDefaults != null && message.hasOwnProperty("sharedDefaults")) - $root.meerkat.Category.encode(message.sharedDefaults, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.categoryChooser != null && message.categoryChooser.length) - for (var i = 0; i < message.categoryChooser.length; ++i) - $root.meerkat.CategoryChooser.encode(message.categoryChooser[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified SimpleCategoriesSelectionData message, length delimited. Does not implicitly {@link meerkat.SimpleCategoriesSelectionData.verify|verify} messages. - * @function encodeDelimited - * @memberof meerkat.SimpleCategoriesSelectionData - * @static - * @param {meerkat.ISimpleCategoriesSelectionData} message SimpleCategoriesSelectionData message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SimpleCategoriesSelectionData.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a SimpleCategoriesSelectionData message from the specified reader or buffer. - * @function decode - * @memberof meerkat.SimpleCategoriesSelectionData - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {meerkat.SimpleCategoriesSelectionData} SimpleCategoriesSelectionData - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SimpleCategoriesSelectionData.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.meerkat.SimpleCategoriesSelectionData(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.sharedDefaults = $root.meerkat.Category.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.categoryChooser && message.categoryChooser.length)) - message.categoryChooser = []; - message.categoryChooser.push($root.meerkat.CategoryChooser.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a SimpleCategoriesSelectionData message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof meerkat.SimpleCategoriesSelectionData - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {meerkat.SimpleCategoriesSelectionData} SimpleCategoriesSelectionData - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SimpleCategoriesSelectionData.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a SimpleCategoriesSelectionData message. - * @function verify - * @memberof meerkat.SimpleCategoriesSelectionData - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - SimpleCategoriesSelectionData.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.sharedDefaults != null && message.hasOwnProperty("sharedDefaults")) { - var error = $root.meerkat.Category.verify(message.sharedDefaults); - if (error) - return "sharedDefaults." + error; - } - if (message.categoryChooser != null && message.hasOwnProperty("categoryChooser")) { - if (!Array.isArray(message.categoryChooser)) - return "categoryChooser: array expected"; - for (var i = 0; i < message.categoryChooser.length; ++i) { - error = $root.meerkat.CategoryChooser.verify(message.categoryChooser[i]); - if (error) - return "categoryChooser." + error; - } - } - return null; - }; - - /** - * Creates a SimpleCategoriesSelectionData message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof meerkat.SimpleCategoriesSelectionData - * @static - * @param {Object.} object Plain object - * @returns {meerkat.SimpleCategoriesSelectionData} SimpleCategoriesSelectionData - */ - SimpleCategoriesSelectionData.fromObject = function fromObject(object) { - if (object instanceof $root.meerkat.SimpleCategoriesSelectionData) - return object; - var message = new $root.meerkat.SimpleCategoriesSelectionData(); - if (object.sharedDefaults != null) { - if (typeof object.sharedDefaults !== "object") - throw TypeError(".meerkat.SimpleCategoriesSelectionData.sharedDefaults: object expected"); - message.sharedDefaults = $root.meerkat.Category.fromObject(object.sharedDefaults); - } - if (object.categoryChooser) { - if (!Array.isArray(object.categoryChooser)) - throw TypeError(".meerkat.SimpleCategoriesSelectionData.categoryChooser: array expected"); - message.categoryChooser = []; - for (var i = 0; i < object.categoryChooser.length; ++i) { - if (typeof object.categoryChooser[i] !== "object") - throw TypeError(".meerkat.SimpleCategoriesSelectionData.categoryChooser: object expected"); - message.categoryChooser[i] = $root.meerkat.CategoryChooser.fromObject(object.categoryChooser[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a SimpleCategoriesSelectionData message. Also converts values to other types if specified. - * @function toObject - * @memberof meerkat.SimpleCategoriesSelectionData - * @static - * @param {meerkat.SimpleCategoriesSelectionData} message SimpleCategoriesSelectionData - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - SimpleCategoriesSelectionData.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.categoryChooser = []; - if (options.defaults) - object.sharedDefaults = null; - if (message.sharedDefaults != null && message.hasOwnProperty("sharedDefaults")) - object.sharedDefaults = $root.meerkat.Category.toObject(message.sharedDefaults, options); - if (message.categoryChooser && message.categoryChooser.length) { - object.categoryChooser = []; - for (var j = 0; j < message.categoryChooser.length; ++j) - object.categoryChooser[j] = $root.meerkat.CategoryChooser.toObject(message.categoryChooser[j], options); - } - return object; - }; - - /** - * Converts this SimpleCategoriesSelectionData to JSON. - * @function toJSON - * @memberof meerkat.SimpleCategoriesSelectionData - * @instance - * @returns {Object.} JSON object - */ - SimpleCategoriesSelectionData.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return SimpleCategoriesSelectionData; - })(); - - return meerkat; -})(); - -$root.google = (function() { - - /** - * Namespace google. - * @exports google - * @namespace - */ - var google = {}; - - google.protobuf = (function() { - - /** - * Namespace protobuf. - * @memberof google - * @namespace - */ - var protobuf = {}; - - protobuf.Timestamp = (function() { - - /** - * Properties of a Timestamp. - * @memberof google.protobuf - * @interface ITimestamp - * @property {number|Long} [seconds] Timestamp seconds - * @property {number} [nanos] Timestamp nanos - */ - - /** - * Constructs a new Timestamp. - * @memberof google.protobuf - * @classdesc Represents a Timestamp. - * @constructor - * @param {google.protobuf.ITimestamp=} [properties] Properties to set - */ - function Timestamp(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Timestamp seconds. - * @member {number|Long}seconds - * @memberof google.protobuf.Timestamp - * @instance - */ - Timestamp.prototype.seconds = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Timestamp nanos. - * @member {number}nanos - * @memberof google.protobuf.Timestamp - * @instance - */ - Timestamp.prototype.nanos = 0; - - /** - * Creates a new Timestamp instance using the specified properties. - * @function create - * @memberof google.protobuf.Timestamp - * @static - * @param {google.protobuf.ITimestamp=} [properties] Properties to set - * @returns {google.protobuf.Timestamp} Timestamp instance - */ - Timestamp.create = function create(properties) { - return new Timestamp(properties); - }; - - /** - * Encodes the specified Timestamp message. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. - * @function encode - * @memberof google.protobuf.Timestamp - * @static - * @param {google.protobuf.ITimestamp} message Timestamp message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Timestamp.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.seconds != null && message.hasOwnProperty("seconds")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.seconds); - if (message.nanos != null && message.hasOwnProperty("nanos")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.nanos); - return writer; - }; - - /** - * Encodes the specified Timestamp message, length delimited. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.Timestamp - * @static - * @param {google.protobuf.ITimestamp} message Timestamp message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Timestamp.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Timestamp message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.Timestamp - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.Timestamp} Timestamp - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Timestamp.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Timestamp(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.seconds = reader.int64(); - break; - case 2: - message.nanos = reader.int32(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Timestamp message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.Timestamp - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.Timestamp} Timestamp - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Timestamp.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Timestamp message. - * @function verify - * @memberof google.protobuf.Timestamp - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Timestamp.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.seconds != null && message.hasOwnProperty("seconds")) - if (!$util.isInteger(message.seconds) && !(message.seconds && $util.isInteger(message.seconds.low) && $util.isInteger(message.seconds.high))) - return "seconds: integer|Long expected"; - if (message.nanos != null && message.hasOwnProperty("nanos")) - if (!$util.isInteger(message.nanos)) - return "nanos: integer expected"; - return null; - }; - - /** - * Creates a Timestamp message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.Timestamp - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.Timestamp} Timestamp - */ - Timestamp.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.Timestamp) - return object; - var message = new $root.google.protobuf.Timestamp(); - if (object.seconds != null) - if ($util.Long) - (message.seconds = $util.Long.fromValue(object.seconds)).unsigned = false; - else if (typeof object.seconds === "string") - message.seconds = parseInt(object.seconds, 10); - else if (typeof object.seconds === "number") - message.seconds = object.seconds; - else if (typeof object.seconds === "object") - message.seconds = new $util.LongBits(object.seconds.low >>> 0, object.seconds.high >>> 0).toNumber(); - if (object.nanos != null) - message.nanos = object.nanos | 0; - return message; - }; - - /** - * Creates a plain object from a Timestamp message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.Timestamp - * @static - * @param {google.protobuf.Timestamp} message Timestamp - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Timestamp.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.seconds = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.seconds = options.longs === String ? "0" : 0; - object.nanos = 0; - } - if (message.seconds != null && message.hasOwnProperty("seconds")) - if (typeof message.seconds === "number") - object.seconds = options.longs === String ? String(message.seconds) : message.seconds; - else - object.seconds = options.longs === String ? $util.Long.prototype.toString.call(message.seconds) : options.longs === Number ? new $util.LongBits(message.seconds.low >>> 0, message.seconds.high >>> 0).toNumber() : message.seconds; - if (message.nanos != null && message.hasOwnProperty("nanos")) - object.nanos = message.nanos; - return object; - }; - - /** - * Converts this Timestamp to JSON. - * @function toJSON - * @memberof google.protobuf.Timestamp - * @instance - * @returns {Object.} JSON object - */ - Timestamp.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Timestamp; - })(); - - return protobuf; - })(); - - return google; -})(); - -module.exports = $root; diff --git a/bulletin-board-server-frontend/src/assets/meerkat-logo.svg b/bulletin-board-server-frontend/src/assets/meerkat-logo.svg new file mode 100644 index 0000000..4cf5302 --- /dev/null +++ b/bulletin-board-server-frontend/src/assets/meerkat-logo.svg @@ -0,0 +1,73 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/bulletin-board-server-frontend/src/proto/DKG.proto b/bulletin-board-server-frontend/src/proto/DKG.proto deleted file mode 120000 index 7e491e8..0000000 --- a/bulletin-board-server-frontend/src/proto/DKG.proto +++ /dev/null @@ -1 +0,0 @@ -../../../distributed-key-generation/src/main/proto/meerkat/DKG.proto \ No newline at end of file diff --git a/bulletin-board-server-frontend/src/proto/ballot_question_ui_element.proto b/bulletin-board-server-frontend/src/proto/ballot_question_ui_element.proto deleted file mode 120000 index 9fe7723..0000000 --- a/bulletin-board-server-frontend/src/proto/ballot_question_ui_element.proto +++ /dev/null @@ -1 +0,0 @@ -../../../meerkat-common/src/main/proto/meerkat/ballot_question_ui_element.proto \ No newline at end of file diff --git a/bulletin-board-server-frontend/src/proto/bulletin_board_api.proto b/bulletin-board-server-frontend/src/proto/bulletin_board_api.proto deleted file mode 120000 index 25931e9..0000000 --- a/bulletin-board-server-frontend/src/proto/bulletin_board_api.proto +++ /dev/null @@ -1 +0,0 @@ -../../../meerkat-common/src/main/proto/meerkat/bulletin_board_api.proto \ No newline at end of file diff --git a/bulletin-board-server-frontend/src/proto/bulletin_board_webapp.proto b/bulletin-board-server-frontend/src/proto/bulletin_board_webapp.proto deleted file mode 120000 index de630ad..0000000 --- a/bulletin-board-server-frontend/src/proto/bulletin_board_webapp.proto +++ /dev/null @@ -1 +0,0 @@ -../../../bulletin-board-server/src/main/proto/meerkat/bulletin_board_webapp.proto \ No newline at end of file diff --git a/bulletin-board-server-frontend/src/proto/comm.proto b/bulletin-board-server-frontend/src/proto/comm.proto deleted file mode 120000 index 7bbef0d..0000000 --- a/bulletin-board-server-frontend/src/proto/comm.proto +++ /dev/null @@ -1 +0,0 @@ -../../../meerkat-common/src/main/proto/meerkat/comm.proto \ No newline at end of file diff --git a/bulletin-board-server-frontend/src/proto/concrete_crypto.proto b/bulletin-board-server-frontend/src/proto/concrete_crypto.proto deleted file mode 120000 index 86bc0c6..0000000 --- a/bulletin-board-server-frontend/src/proto/concrete_crypto.proto +++ /dev/null @@ -1 +0,0 @@ -../../../mixer/docs/concrete_crypto.proto \ No newline at end of file diff --git a/bulletin-board-server-frontend/src/proto/crypto.proto b/bulletin-board-server-frontend/src/proto/crypto.proto deleted file mode 120000 index 48ff272..0000000 --- a/bulletin-board-server-frontend/src/proto/crypto.proto +++ /dev/null @@ -1 +0,0 @@ -../../../mixer/docs/crypto.proto \ No newline at end of file diff --git a/bulletin-board-server-frontend/src/proto/mixing.proto b/bulletin-board-server-frontend/src/proto/mixing.proto deleted file mode 120000 index 803d618..0000000 --- a/bulletin-board-server-frontend/src/proto/mixing.proto +++ /dev/null @@ -1 +0,0 @@ -../../../mixer/src/main/proto/meerkat/mixing.proto \ No newline at end of file diff --git a/bulletin-board-server-frontend/src/proto/polling_station.proto b/bulletin-board-server-frontend/src/proto/polling_station.proto deleted file mode 120000 index 4cffd73..0000000 --- a/bulletin-board-server-frontend/src/proto/polling_station.proto +++ /dev/null @@ -1 +0,0 @@ -../../../scanner-api-common/src/main/proto/meerkat/polling_station.proto \ No newline at end of file diff --git a/bulletin-board-server-frontend/src/proto/voting.proto b/bulletin-board-server-frontend/src/proto/voting.proto deleted file mode 120000 index ab5f0f6..0000000 --- a/bulletin-board-server-frontend/src/proto/voting.proto +++ /dev/null @@ -1 +0,0 @@ -../../../meerkat-common/src/main/proto/meerkat/voting.proto \ No newline at end of file diff --git a/bulletin-board-server/build.gradle b/bulletin-board-server/build.gradle index f61f2d3..3d14a63 100644 --- a/bulletin-board-server/build.gradle +++ b/bulletin-board-server/build.gradle @@ -1,8 +1,8 @@ plugins { id "us.kirchmeier.capsule" version '1.0.2' - id 'com.google.protobuf' version '0.8.0' - id 'org.akhikhl.gretty' version "1.2.4" + id 'com.google.protobuf' version '0.8.1' + id 'org.akhikhl.gretty' version "2.0.0" } apply plugin: 'org.akhikhl.gretty' @@ -10,6 +10,7 @@ apply plugin: 'com.google.protobuf' apply plugin: 'java' apply plugin: 'eclipse' apply plugin: 'idea' +apply plugin: 'war' //apply plugin: 'application' @@ -51,13 +52,24 @@ dependencies { compile 'org.apache.commons:commons-dbcp2:2.0.+' // Servlets - compile 'javax.servlet:javax.servlet-api:3.0.+' +// compile 'javax.servlet:javax.servlet-api:3.0.+' // Depend on test resources from meerkat-common testCompile project(path: ':meerkat-common', configuration: 'testOutput') testCompile 'junit:junit:4.+' } +ext { + frontendProject = project(":bulletin-board-server-frontend") +} + +war { + from frontendProject.projectDir.toPath().resolve("dist").toString() +} + +frontendProject.afterEvaluate { + war.dependsOn frontendProject.npm_run_build +} test { exclude '**/*SQLite*Test*' diff --git a/bulletin-board-server/src/main/webapp/WEB-INF/web.xml b/bulletin-board-server/src/main/webapp/WEB-INF/web.xml index 226aa3b..d9452f5 100644 --- a/bulletin-board-server/src/main/webapp/WEB-INF/web.xml +++ b/bulletin-board-server/src/main/webapp/WEB-INF/web.xml @@ -1,6 +1,6 @@ - Jersey Hello World + bbserver org.glassfish.jersey.servlet.ServletContainer @@ -11,7 +11,11 @@ 1 - Jersey Hello World + bbserver + /bbserver/* + + + default /* diff --git a/distributed-key-generation/build.gradle b/distributed-key-generation/build.gradle index e99a878..82e05fc 100644 --- a/distributed-key-generation/build.gradle +++ b/distributed-key-generation/build.gradle @@ -1,7 +1,7 @@ plugins { id "us.kirchmeier.capsule" version '1.0.2' - id 'com.google.protobuf' version '0.8.0' + id 'com.google.protobuf' version '0.8.1' } apply plugin: 'java' diff --git a/meerkat-common/build.gradle b/meerkat-common/build.gradle index 8e432fe..f13e1c1 100644 --- a/meerkat-common/build.gradle +++ b/meerkat-common/build.gradle @@ -1,7 +1,7 @@ plugins { id "us.kirchmeier.capsule" version '1.0.2' - id 'com.google.protobuf' version '0.8.0' + id 'com.google.protobuf' version '0.8.1' } apply plugin: 'java' diff --git a/meerkat-common/src/main/java/meerkat/bulletinboard/BulletinBoardConstants.java b/meerkat-common/src/main/java/meerkat/bulletinboard/BulletinBoardConstants.java index ed0a9fe..87c5e7b 100644 --- a/meerkat-common/src/main/java/meerkat/bulletinboard/BulletinBoardConstants.java +++ b/meerkat-common/src/main/java/meerkat/bulletinboard/BulletinBoardConstants.java @@ -8,7 +8,7 @@ public interface BulletinBoardConstants { // Relative addresses for Bulletin Board operations public static final String STATUS_PATH = "/status"; - public static final String BULLETIN_BOARD_SERVER_PATH = "/bbserver"; + public static final String BULLETIN_BOARD_SERVER_PATH = "/"; // The actual prefix is set in web.xml public static final String GENERATE_SYNC_QUERY_PATH = "/generatesyncquery"; public static final String READ_MESSAGES_PATH = "/readmessages"; public static final String COUNT_MESSAGES_PATH = "/countmessages"; diff --git a/mixer/build.gradle b/mixer/build.gradle index 52e388a..b254d5a 100644 --- a/mixer/build.gradle +++ b/mixer/build.gradle @@ -1,7 +1,7 @@ plugins { id "us.kirchmeier.capsule" version '1.0.2' - id 'com.google.protobuf' version '0.8.0' + id 'com.google.protobuf' version '0.8.1' } apply plugin: 'java' diff --git a/polling-station/build.gradle b/polling-station/build.gradle index 6527c1d..df3c2d8 100644 --- a/polling-station/build.gradle +++ b/polling-station/build.gradle @@ -1,7 +1,7 @@ plugins { id "us.kirchmeier.capsule" version '1.0.2' - id 'com.google.protobuf' version '0.8.0' + id 'com.google.protobuf' version '0.8.1' } apply plugin: 'java' diff --git a/restful-api-common/build.gradle b/restful-api-common/build.gradle index b838cdb..0e16c49 100644 --- a/restful-api-common/build.gradle +++ b/restful-api-common/build.gradle @@ -1,7 +1,7 @@ plugins { id "us.kirchmeier.capsule" version '1.0.2' - id 'com.google.protobuf' version '0.8.0' + id 'com.google.protobuf' version '0.8.1' } apply plugin: 'java' diff --git a/scanner-api-common/build.gradle b/scanner-api-common/build.gradle index a6fa1b5..996aada 100644 --- a/scanner-api-common/build.gradle +++ b/scanner-api-common/build.gradle @@ -1,7 +1,7 @@ plugins { id "us.kirchmeier.capsule" version "1.0.2" - id 'com.google.protobuf' version '0.8.0' + id 'com.google.protobuf' version '0.8.1' } apply plugin: 'java' diff --git a/settings.gradle b/settings.gradle index 299a873..cc1056c 100644 --- a/settings.gradle +++ b/settings.gradle @@ -10,6 +10,7 @@ include 'mixer' include 'bulletin-board-client' include 'distributed-key-generation' include 'voting-booth-gui' +include 'bulletin-board-server-frontend' // Only include the android projects if the android SDK directory is set // we assume that if you have a local.properties file it contains diff --git a/voting-booth-gui/build.gradle b/voting-booth-gui/build.gradle index 96ed70d..395beb7 100644 --- a/voting-booth-gui/build.gradle +++ b/voting-booth-gui/build.gradle @@ -1,7 +1,7 @@ plugins { id "us.kirchmeier.capsule" version "1.0.2" - id 'com.google.protobuf' version '0.8.0' + id 'com.google.protobuf' version '0.8.1' } apply plugin: 'java' diff --git a/voting-booth/build.gradle b/voting-booth/build.gradle index 75feb87..c654245 100644 --- a/voting-booth/build.gradle +++ b/voting-booth/build.gradle @@ -1,6 +1,6 @@ plugins { id "us.kirchmeier.capsule" version '1.0.2' - id 'com.google.protobuf' version '0.8.0' + id 'com.google.protobuf' version '0.8.1' } apply plugin: 'java' From fa4656f0a9d081ff62f89b3301ae36e2813cff6d Mon Sep 17 00:00:00 2001 From: Tal Moran Date: Mon, 3 Jul 2017 03:37:32 +0300 Subject: [PATCH 5/7] added dependency on npmInstall to ensure protobufjs is installed in bb server frontend --- bulletin-board-server-frontend/build.gradle | 3 +++ 1 file changed, 3 insertions(+) diff --git a/bulletin-board-server-frontend/build.gradle b/bulletin-board-server-frontend/build.gradle index 67c01ce..d1c8eae 100644 --- a/bulletin-board-server-frontend/build.gradle +++ b/bulletin-board-server-frontend/build.gradle @@ -45,10 +45,13 @@ task generateProtobufBundle(type: NpmTask) { setEnvironment([PROTO_FILES: protoFiles.join(" ")]); generateProtobufBundle.args = ['run', 'protoc'] } + + dependsOn npmInstall } generateProtobufBundle.description = "Generate the bundle.js/bundle.d.ts files containing compiled protobufs" +npm_run_build.dependsOn(npm_install) npm_run_build.dependsOn(generateProtobufBundle) npm_start.dependsOn(generateProtobufBundle) From 931bb563786d0c79f3c2efe4723a6e486e95c155 Mon Sep 17 00:00:00 2001 From: Tal Moran Date: Mon, 3 Jul 2017 02:51:02 -0400 Subject: [PATCH 6/7] Fixed npm_install dependency that broke clean builds --- bulletin-board-server-frontend/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bulletin-board-server-frontend/build.gradle b/bulletin-board-server-frontend/build.gradle index d1c8eae..fefa3d1 100644 --- a/bulletin-board-server-frontend/build.gradle +++ b/bulletin-board-server-frontend/build.gradle @@ -46,7 +46,7 @@ task generateProtobufBundle(type: NpmTask) { generateProtobufBundle.args = ['run', 'protoc'] } - dependsOn npmInstall + dependsOn npm_install } generateProtobufBundle.description = "Generate the bundle.js/bundle.d.ts files containing compiled protobufs" From 252a761005866c226d6b6e05fd7723873db556ee Mon Sep 17 00:00:00 2001 From: Tal Moran Date: Thu, 6 Jul 2017 12:00:04 +0300 Subject: [PATCH 7/7] Better cross-platform support for building bb-server frontend --- bulletin-board-server-frontend/build.gradle | 3 +-- .../generate-protobuf.js | 21 +++++++++++++++++++ bulletin-board-server-frontend/package.json | 2 +- 3 files changed, 23 insertions(+), 3 deletions(-) create mode 100755 bulletin-board-server-frontend/generate-protobuf.js diff --git a/bulletin-board-server-frontend/build.gradle b/bulletin-board-server-frontend/build.gradle index fefa3d1..3810624 100644 --- a/bulletin-board-server-frontend/build.gradle +++ b/bulletin-board-server-frontend/build.gradle @@ -42,8 +42,7 @@ task generateProtobufBundle(type: NpmTask) { // We need do this in doFirst since getProtoFiles won't find all subprojects // until after configuration is complete def protoFiles = getProtoFiles() - setEnvironment([PROTO_FILES: protoFiles.join(" ")]); - generateProtobufBundle.args = ['run', 'protoc'] + generateProtobufBundle.args = ['run', 'protoc', '--' ] + protoFiles; } dependsOn npm_install diff --git a/bulletin-board-server-frontend/generate-protobuf.js b/bulletin-board-server-frontend/generate-protobuf.js new file mode 100755 index 0000000..eeb255e --- /dev/null +++ b/bulletin-board-server-frontend/generate-protobuf.js @@ -0,0 +1,21 @@ +#!/usr/bin/env node +const { execFileSync } = require('child_process'); + +const bundlejs = 'src/app/bundle.js' +const bundlets = 'src/app/bundle.d.ts' + +var pbjs_args = [ + '-t', 'static-module', '-w', 'commonjs', '-o', bundlejs +].concat(process.argv.slice(2)); + +console.log("Running pbjs " + pbjs_args.join(" ")); +var out = execFileSync('pbjs', pbjs_args); +console.log("" + out); + +var pbts_args = [ + '-o', bundlets, bundlejs +]; + +console.log("Running pbts " + pbts_args.join(" ")); +out = execFileSync('pbts', pbts_args); +console.log("" + out); diff --git a/bulletin-board-server-frontend/package.json b/bulletin-board-server-frontend/package.json index ceaaf48..58d7e8a 100644 --- a/bulletin-board-server-frontend/package.json +++ b/bulletin-board-server-frontend/package.json @@ -10,7 +10,7 @@ "lint": "ng e2e", "pbts": "pbts", "pbjs": "pbjs", - "protoc" : "pbjs -t static-module -w commonjs -o src/app/bundle.js $PROTO_FILES && pbts -o src/app/bundle.d.ts src/app/bundle.js" + "protoc" : "./generate-protobuf.js" }, "private": true, "dependencies": {