status-go/protocol/protobuf/pairing.pb.go
Andrea Maria Piana 23f71c1125 Fix encryption id && rekey with a single message
This commit changes the format of the encryption id to be based off 3
things:

1) The group id
2) The timestamp
3) The actual key

Previously this was solely based on the timestamp and the group id, but
this might lead to conflicts. Moreover the format of the key was an
uint32 and so it would wrap periodically.

The migration is a bit tricky, so first we cleared the cache of keys,
that's easier than migrating, and second we set the new field hash_id to
the concatenation of group_id / key_id.
This might lead on some duplication in case keys are re-received, but it
should not have an impact on the correctness of the code.

I have added 2 tests covering compatibility between old/new clients, as
this should not be a breaking change.

It also adds a new message to rekey in a single go, instead of having to
send multiple messages
2023-10-24 20:48:54 +01:00

4951 lines
175 KiB
Go

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.29.1
// protoc v3.20.3
// source: pairing.proto
package protobuf
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type SyncTrustedUser_TrustStatus int32
const (
SyncTrustedUser_UNKNOWN SyncTrustedUser_TrustStatus = 0
SyncTrustedUser_TRUSTED SyncTrustedUser_TrustStatus = 1
SyncTrustedUser_UNTRUSTWORTHY SyncTrustedUser_TrustStatus = 2
)
// Enum value maps for SyncTrustedUser_TrustStatus.
var (
SyncTrustedUser_TrustStatus_name = map[int32]string{
0: "UNKNOWN",
1: "TRUSTED",
2: "UNTRUSTWORTHY",
}
SyncTrustedUser_TrustStatus_value = map[string]int32{
"UNKNOWN": 0,
"TRUSTED": 1,
"UNTRUSTWORTHY": 2,
}
)
func (x SyncTrustedUser_TrustStatus) Enum() *SyncTrustedUser_TrustStatus {
p := new(SyncTrustedUser_TrustStatus)
*p = x
return p
}
func (x SyncTrustedUser_TrustStatus) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (SyncTrustedUser_TrustStatus) Descriptor() protoreflect.EnumDescriptor {
return file_pairing_proto_enumTypes[0].Descriptor()
}
func (SyncTrustedUser_TrustStatus) Type() protoreflect.EnumType {
return &file_pairing_proto_enumTypes[0]
}
func (x SyncTrustedUser_TrustStatus) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use SyncTrustedUser_TrustStatus.Descriptor instead.
func (SyncTrustedUser_TrustStatus) EnumDescriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{31, 0}
}
type SyncVerificationRequest_VerificationStatus int32
const (
SyncVerificationRequest_UNKNOWN SyncVerificationRequest_VerificationStatus = 0
SyncVerificationRequest_PENDING SyncVerificationRequest_VerificationStatus = 1
SyncVerificationRequest_ACCEPTED SyncVerificationRequest_VerificationStatus = 2
SyncVerificationRequest_DECLINED SyncVerificationRequest_VerificationStatus = 3
SyncVerificationRequest_CANCELED SyncVerificationRequest_VerificationStatus = 4
)
// Enum value maps for SyncVerificationRequest_VerificationStatus.
var (
SyncVerificationRequest_VerificationStatus_name = map[int32]string{
0: "UNKNOWN",
1: "PENDING",
2: "ACCEPTED",
3: "DECLINED",
4: "CANCELED",
}
SyncVerificationRequest_VerificationStatus_value = map[string]int32{
"UNKNOWN": 0,
"PENDING": 1,
"ACCEPTED": 2,
"DECLINED": 3,
"CANCELED": 4,
}
)
func (x SyncVerificationRequest_VerificationStatus) Enum() *SyncVerificationRequest_VerificationStatus {
p := new(SyncVerificationRequest_VerificationStatus)
*p = x
return p
}
func (x SyncVerificationRequest_VerificationStatus) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (SyncVerificationRequest_VerificationStatus) Descriptor() protoreflect.EnumDescriptor {
return file_pairing_proto_enumTypes[1].Descriptor()
}
func (SyncVerificationRequest_VerificationStatus) Type() protoreflect.EnumType {
return &file_pairing_proto_enumTypes[1]
}
func (x SyncVerificationRequest_VerificationStatus) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use SyncVerificationRequest_VerificationStatus.Descriptor instead.
func (SyncVerificationRequest_VerificationStatus) EnumDescriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{32, 0}
}
type SyncContactRequestDecision_DecisionStatus int32
const (
SyncContactRequestDecision_ACCEPTED SyncContactRequestDecision_DecisionStatus = 0
SyncContactRequestDecision_DECLINED SyncContactRequestDecision_DecisionStatus = 1
)
// Enum value maps for SyncContactRequestDecision_DecisionStatus.
var (
SyncContactRequestDecision_DecisionStatus_name = map[int32]string{
0: "ACCEPTED",
1: "DECLINED",
}
SyncContactRequestDecision_DecisionStatus_value = map[string]int32{
"ACCEPTED": 0,
"DECLINED": 1,
}
)
func (x SyncContactRequestDecision_DecisionStatus) Enum() *SyncContactRequestDecision_DecisionStatus {
p := new(SyncContactRequestDecision_DecisionStatus)
*p = x
return p
}
func (x SyncContactRequestDecision_DecisionStatus) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (SyncContactRequestDecision_DecisionStatus) Descriptor() protoreflect.EnumDescriptor {
return file_pairing_proto_enumTypes[2].Descriptor()
}
func (SyncContactRequestDecision_DecisionStatus) Type() protoreflect.EnumType {
return &file_pairing_proto_enumTypes[2]
}
func (x SyncContactRequestDecision_DecisionStatus) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use SyncContactRequestDecision_DecisionStatus.Descriptor instead.
func (SyncContactRequestDecision_DecisionStatus) EnumDescriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{33, 0}
}
// `FetchingBackedUpDataDetails` is used to describe how many messages a single backup data structure consists of
type FetchingBackedUpDataDetails struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
DataNumber uint32 `protobuf:"varint,1,opt,name=data_number,json=dataNumber,proto3" json:"data_number,omitempty"`
TotalNumber uint32 `protobuf:"varint,2,opt,name=total_number,json=totalNumber,proto3" json:"total_number,omitempty"`
}
func (x *FetchingBackedUpDataDetails) Reset() {
*x = FetchingBackedUpDataDetails{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FetchingBackedUpDataDetails) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FetchingBackedUpDataDetails) ProtoMessage() {}
func (x *FetchingBackedUpDataDetails) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use FetchingBackedUpDataDetails.ProtoReflect.Descriptor instead.
func (*FetchingBackedUpDataDetails) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{0}
}
func (x *FetchingBackedUpDataDetails) GetDataNumber() uint32 {
if x != nil {
return x.DataNumber
}
return 0
}
func (x *FetchingBackedUpDataDetails) GetTotalNumber() uint32 {
if x != nil {
return x.TotalNumber
}
return 0
}
type Backup struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
// this is what we already had
Contacts []*SyncInstallationContactV2 `protobuf:"bytes,3,rep,name=contacts,proto3" json:"contacts,omitempty"`
Communities []*SyncInstallationCommunity `protobuf:"bytes,4,rep,name=communities,proto3" json:"communities,omitempty"`
// newly added details to be backed up to and fetched from waku
ContactsDetails *FetchingBackedUpDataDetails `protobuf:"bytes,5,opt,name=contactsDetails,proto3" json:"contactsDetails,omitempty"`
CommunitiesDetails *FetchingBackedUpDataDetails `protobuf:"bytes,6,opt,name=communitiesDetails,proto3" json:"communitiesDetails,omitempty"`
Profile *BackedUpProfile `protobuf:"bytes,7,opt,name=profile,proto3" json:"profile,omitempty"`
ProfileDetails *FetchingBackedUpDataDetails `protobuf:"bytes,8,opt,name=profileDetails,proto3" json:"profileDetails,omitempty"`
Setting *SyncSetting `protobuf:"bytes,9,opt,name=setting,proto3" json:"setting,omitempty"`
SettingsDetails *FetchingBackedUpDataDetails `protobuf:"bytes,10,opt,name=settingsDetails,proto3" json:"settingsDetails,omitempty"`
Keypair *SyncKeypair `protobuf:"bytes,11,opt,name=keypair,proto3" json:"keypair,omitempty"`
KeypairDetails *FetchingBackedUpDataDetails `protobuf:"bytes,12,opt,name=keypairDetails,proto3" json:"keypairDetails,omitempty"`
WatchOnlyAccount *SyncAccount `protobuf:"bytes,13,opt,name=watchOnlyAccount,proto3" json:"watchOnlyAccount,omitempty"`
WatchOnlyAccountDetails *FetchingBackedUpDataDetails `protobuf:"bytes,14,opt,name=watchOnlyAccountDetails,proto3" json:"watchOnlyAccountDetails,omitempty"`
Chats []*SyncChat `protobuf:"bytes,15,rep,name=chats,proto3" json:"chats,omitempty"`
ChatsDetails *FetchingBackedUpDataDetails `protobuf:"bytes,16,opt,name=chatsDetails,proto3" json:"chatsDetails,omitempty"`
}
func (x *Backup) Reset() {
*x = Backup{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Backup) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Backup) ProtoMessage() {}
func (x *Backup) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Backup.ProtoReflect.Descriptor instead.
func (*Backup) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{1}
}
func (x *Backup) GetClock() uint64 {
if x != nil {
return x.Clock
}
return 0
}
func (x *Backup) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *Backup) GetContacts() []*SyncInstallationContactV2 {
if x != nil {
return x.Contacts
}
return nil
}
func (x *Backup) GetCommunities() []*SyncInstallationCommunity {
if x != nil {
return x.Communities
}
return nil
}
func (x *Backup) GetContactsDetails() *FetchingBackedUpDataDetails {
if x != nil {
return x.ContactsDetails
}
return nil
}
func (x *Backup) GetCommunitiesDetails() *FetchingBackedUpDataDetails {
if x != nil {
return x.CommunitiesDetails
}
return nil
}
func (x *Backup) GetProfile() *BackedUpProfile {
if x != nil {
return x.Profile
}
return nil
}
func (x *Backup) GetProfileDetails() *FetchingBackedUpDataDetails {
if x != nil {
return x.ProfileDetails
}
return nil
}
func (x *Backup) GetSetting() *SyncSetting {
if x != nil {
return x.Setting
}
return nil
}
func (x *Backup) GetSettingsDetails() *FetchingBackedUpDataDetails {
if x != nil {
return x.SettingsDetails
}
return nil
}
func (x *Backup) GetKeypair() *SyncKeypair {
if x != nil {
return x.Keypair
}
return nil
}
func (x *Backup) GetKeypairDetails() *FetchingBackedUpDataDetails {
if x != nil {
return x.KeypairDetails
}
return nil
}
func (x *Backup) GetWatchOnlyAccount() *SyncAccount {
if x != nil {
return x.WatchOnlyAccount
}
return nil
}
func (x *Backup) GetWatchOnlyAccountDetails() *FetchingBackedUpDataDetails {
if x != nil {
return x.WatchOnlyAccountDetails
}
return nil
}
func (x *Backup) GetChats() []*SyncChat {
if x != nil {
return x.Chats
}
return nil
}
func (x *Backup) GetChatsDetails() *FetchingBackedUpDataDetails {
if x != nil {
return x.ChatsDetails
}
return nil
}
type MultiAccount struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Timestamp int64 `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
Identicon string `protobuf:"bytes,3,opt,name=identicon,proto3" json:"identicon,omitempty"`
ColorHash []*MultiAccount_ColorHash `protobuf:"bytes,4,rep,name=color_hash,json=colorHash,proto3" json:"color_hash,omitempty"`
ColorId int64 `protobuf:"varint,5,opt,name=color_id,json=colorId,proto3" json:"color_id,omitempty"`
KeycardPairing string `protobuf:"bytes,6,opt,name=keycard_pairing,json=keycardPairing,proto3" json:"keycard_pairing,omitempty"`
KeyUid string `protobuf:"bytes,7,opt,name=key_uid,json=keyUid,proto3" json:"key_uid,omitempty"`
Images []*MultiAccount_IdentityImage `protobuf:"bytes,8,rep,name=images,proto3" json:"images,omitempty"`
CustomizationColor string `protobuf:"bytes,9,opt,name=customization_color,json=customizationColor,proto3" json:"customization_color,omitempty"`
CustomizationColorClock uint64 `protobuf:"varint,10,opt,name=customization_color_clock,json=customizationColorClock,proto3" json:"customization_color_clock,omitempty"`
}
func (x *MultiAccount) Reset() {
*x = MultiAccount{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MultiAccount) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MultiAccount) ProtoMessage() {}
func (x *MultiAccount) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MultiAccount.ProtoReflect.Descriptor instead.
func (*MultiAccount) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{2}
}
func (x *MultiAccount) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *MultiAccount) GetTimestamp() int64 {
if x != nil {
return x.Timestamp
}
return 0
}
func (x *MultiAccount) GetIdenticon() string {
if x != nil {
return x.Identicon
}
return ""
}
func (x *MultiAccount) GetColorHash() []*MultiAccount_ColorHash {
if x != nil {
return x.ColorHash
}
return nil
}
func (x *MultiAccount) GetColorId() int64 {
if x != nil {
return x.ColorId
}
return 0
}
func (x *MultiAccount) GetKeycardPairing() string {
if x != nil {
return x.KeycardPairing
}
return ""
}
func (x *MultiAccount) GetKeyUid() string {
if x != nil {
return x.KeyUid
}
return ""
}
func (x *MultiAccount) GetImages() []*MultiAccount_IdentityImage {
if x != nil {
return x.Images
}
return nil
}
func (x *MultiAccount) GetCustomizationColor() string {
if x != nil {
return x.CustomizationColor
}
return ""
}
func (x *MultiAccount) GetCustomizationColorClock() uint64 {
if x != nil {
return x.CustomizationColorClock
}
return 0
}
type LocalPairingPayload struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Keys []*LocalPairingPayload_Key `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"`
Multiaccount *MultiAccount `protobuf:"bytes,2,opt,name=multiaccount,proto3" json:"multiaccount,omitempty"`
Password string `protobuf:"bytes,3,opt,name=password,proto3" json:"password,omitempty"`
ChatKey string `protobuf:"bytes,4,opt,name=chatKey,proto3" json:"chatKey,omitempty"`
KeycardPairings string `protobuf:"bytes,5,opt,name=keycardPairings,proto3" json:"keycardPairings,omitempty"`
}
func (x *LocalPairingPayload) Reset() {
*x = LocalPairingPayload{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LocalPairingPayload) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LocalPairingPayload) ProtoMessage() {}
func (x *LocalPairingPayload) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LocalPairingPayload.ProtoReflect.Descriptor instead.
func (*LocalPairingPayload) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{3}
}
func (x *LocalPairingPayload) GetKeys() []*LocalPairingPayload_Key {
if x != nil {
return x.Keys
}
return nil
}
func (x *LocalPairingPayload) GetMultiaccount() *MultiAccount {
if x != nil {
return x.Multiaccount
}
return nil
}
func (x *LocalPairingPayload) GetPassword() string {
if x != nil {
return x.Password
}
return ""
}
func (x *LocalPairingPayload) GetChatKey() string {
if x != nil {
return x.ChatKey
}
return ""
}
func (x *LocalPairingPayload) GetKeycardPairings() string {
if x != nil {
return x.KeycardPairings
}
return ""
}
type LocalPairingPeerHello struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PairingVersion int32 `protobuf:"varint,1,opt,name=pairing_version,json=pairingVersion,proto3" json:"pairing_version,omitempty"`
PeerId []byte `protobuf:"bytes,2,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
DeviceName string `protobuf:"bytes,3,opt,name=device_name,json=deviceName,proto3" json:"device_name,omitempty"`
DeviceType string `protobuf:"bytes,4,opt,name=device_type,json=deviceType,proto3" json:"device_type,omitempty"`
Signature []byte `protobuf:"bytes,5,opt,name=signature,proto3" json:"signature,omitempty"`
}
func (x *LocalPairingPeerHello) Reset() {
*x = LocalPairingPeerHello{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LocalPairingPeerHello) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LocalPairingPeerHello) ProtoMessage() {}
func (x *LocalPairingPeerHello) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LocalPairingPeerHello.ProtoReflect.Descriptor instead.
func (*LocalPairingPeerHello) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{4}
}
func (x *LocalPairingPeerHello) GetPairingVersion() int32 {
if x != nil {
return x.PairingVersion
}
return 0
}
func (x *LocalPairingPeerHello) GetPeerId() []byte {
if x != nil {
return x.PeerId
}
return nil
}
func (x *LocalPairingPeerHello) GetDeviceName() string {
if x != nil {
return x.DeviceName
}
return ""
}
func (x *LocalPairingPeerHello) GetDeviceType() string {
if x != nil {
return x.DeviceType
}
return ""
}
func (x *LocalPairingPeerHello) GetSignature() []byte {
if x != nil {
return x.Signature
}
return nil
}
type SyncPairInstallation struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
InstallationId string `protobuf:"bytes,2,opt,name=installation_id,json=installationId,proto3" json:"installation_id,omitempty"`
DeviceType string `protobuf:"bytes,3,opt,name=device_type,json=deviceType,proto3" json:"device_type,omitempty"`
Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
// following fields used for local pairing
Version uint32 `protobuf:"varint,5,opt,name=version,proto3" json:"version,omitempty"`
}
func (x *SyncPairInstallation) Reset() {
*x = SyncPairInstallation{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SyncPairInstallation) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SyncPairInstallation) ProtoMessage() {}
func (x *SyncPairInstallation) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SyncPairInstallation.ProtoReflect.Descriptor instead.
func (*SyncPairInstallation) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{5}
}
func (x *SyncPairInstallation) GetClock() uint64 {
if x != nil {
return x.Clock
}
return 0
}
func (x *SyncPairInstallation) GetInstallationId() string {
if x != nil {
return x.InstallationId
}
return ""
}
func (x *SyncPairInstallation) GetDeviceType() string {
if x != nil {
return x.DeviceType
}
return ""
}
func (x *SyncPairInstallation) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *SyncPairInstallation) GetVersion() uint32 {
if x != nil {
return x.Version
}
return 0
}
type SyncInstallationContactV2 struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
LastUpdatedLocally uint64 `protobuf:"varint,1,opt,name=last_updated_locally,json=lastUpdatedLocally,proto3" json:"last_updated_locally,omitempty"`
Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
ProfileImage string `protobuf:"bytes,3,opt,name=profile_image,json=profileImage,proto3" json:"profile_image,omitempty"`
EnsName string `protobuf:"bytes,4,opt,name=ens_name,json=ensName,proto3" json:"ens_name,omitempty"`
LastUpdated uint64 `protobuf:"varint,5,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"`
SystemTags []string `protobuf:"bytes,6,rep,name=system_tags,json=systemTags,proto3" json:"system_tags,omitempty"`
LocalNickname string `protobuf:"bytes,7,opt,name=local_nickname,json=localNickname,proto3" json:"local_nickname,omitempty"`
Added bool `protobuf:"varint,9,opt,name=added,proto3" json:"added,omitempty"`
Blocked bool `protobuf:"varint,10,opt,name=blocked,proto3" json:"blocked,omitempty"`
Muted bool `protobuf:"varint,11,opt,name=muted,proto3" json:"muted,omitempty"`
Removed bool `protobuf:"varint,12,opt,name=removed,proto3" json:"removed,omitempty"`
HasAddedUs bool `protobuf:"varint,13,opt,name=has_added_us,json=hasAddedUs,proto3" json:"has_added_us,omitempty"`
VerificationStatus int64 `protobuf:"varint,14,opt,name=verification_status,json=verificationStatus,proto3" json:"verification_status,omitempty"`
TrustStatus int64 `protobuf:"varint,15,opt,name=trust_status,json=trustStatus,proto3" json:"trust_status,omitempty"`
ContactRequestLocalState int64 `protobuf:"varint,16,opt,name=contact_request_local_state,json=contactRequestLocalState,proto3" json:"contact_request_local_state,omitempty"`
ContactRequestLocalClock int64 `protobuf:"varint,17,opt,name=contact_request_local_clock,json=contactRequestLocalClock,proto3" json:"contact_request_local_clock,omitempty"`
ContactRequestRemoteState int64 `protobuf:"varint,18,opt,name=contact_request_remote_state,json=contactRequestRemoteState,proto3" json:"contact_request_remote_state,omitempty"`
ContactRequestRemoteClock int64 `protobuf:"varint,19,opt,name=contact_request_remote_clock,json=contactRequestRemoteClock,proto3" json:"contact_request_remote_clock,omitempty"`
DisplayName string `protobuf:"bytes,20,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
}
func (x *SyncInstallationContactV2) Reset() {
*x = SyncInstallationContactV2{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SyncInstallationContactV2) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SyncInstallationContactV2) ProtoMessage() {}
func (x *SyncInstallationContactV2) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SyncInstallationContactV2.ProtoReflect.Descriptor instead.
func (*SyncInstallationContactV2) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{6}
}
func (x *SyncInstallationContactV2) GetLastUpdatedLocally() uint64 {
if x != nil {
return x.LastUpdatedLocally
}
return 0
}
func (x *SyncInstallationContactV2) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *SyncInstallationContactV2) GetProfileImage() string {
if x != nil {
return x.ProfileImage
}
return ""
}
func (x *SyncInstallationContactV2) GetEnsName() string {
if x != nil {
return x.EnsName
}
return ""
}
func (x *SyncInstallationContactV2) GetLastUpdated() uint64 {
if x != nil {
return x.LastUpdated
}
return 0
}
func (x *SyncInstallationContactV2) GetSystemTags() []string {
if x != nil {
return x.SystemTags
}
return nil
}
func (x *SyncInstallationContactV2) GetLocalNickname() string {
if x != nil {
return x.LocalNickname
}
return ""
}
func (x *SyncInstallationContactV2) GetAdded() bool {
if x != nil {
return x.Added
}
return false
}
func (x *SyncInstallationContactV2) GetBlocked() bool {
if x != nil {
return x.Blocked
}
return false
}
func (x *SyncInstallationContactV2) GetMuted() bool {
if x != nil {
return x.Muted
}
return false
}
func (x *SyncInstallationContactV2) GetRemoved() bool {
if x != nil {
return x.Removed
}
return false
}
func (x *SyncInstallationContactV2) GetHasAddedUs() bool {
if x != nil {
return x.HasAddedUs
}
return false
}
func (x *SyncInstallationContactV2) GetVerificationStatus() int64 {
if x != nil {
return x.VerificationStatus
}
return 0
}
func (x *SyncInstallationContactV2) GetTrustStatus() int64 {
if x != nil {
return x.TrustStatus
}
return 0
}
func (x *SyncInstallationContactV2) GetContactRequestLocalState() int64 {
if x != nil {
return x.ContactRequestLocalState
}
return 0
}
func (x *SyncInstallationContactV2) GetContactRequestLocalClock() int64 {
if x != nil {
return x.ContactRequestLocalClock
}
return 0
}
func (x *SyncInstallationContactV2) GetContactRequestRemoteState() int64 {
if x != nil {
return x.ContactRequestRemoteState
}
return 0
}
func (x *SyncInstallationContactV2) GetContactRequestRemoteClock() int64 {
if x != nil {
return x.ContactRequestRemoteClock
}
return 0
}
func (x *SyncInstallationContactV2) GetDisplayName() string {
if x != nil {
return x.DisplayName
}
return ""
}
type SyncInstallationAccount struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
ProfileImage string `protobuf:"bytes,2,opt,name=profile_image,json=profileImage,proto3" json:"profile_image,omitempty"`
LastUpdated uint64 `protobuf:"varint,3,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"`
}
func (x *SyncInstallationAccount) Reset() {
*x = SyncInstallationAccount{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SyncInstallationAccount) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SyncInstallationAccount) ProtoMessage() {}
func (x *SyncInstallationAccount) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SyncInstallationAccount.ProtoReflect.Descriptor instead.
func (*SyncInstallationAccount) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{7}
}
func (x *SyncInstallationAccount) GetClock() uint64 {
if x != nil {
return x.Clock
}
return 0
}
func (x *SyncInstallationAccount) GetProfileImage() string {
if x != nil {
return x.ProfileImage
}
return ""
}
func (x *SyncInstallationAccount) GetLastUpdated() uint64 {
if x != nil {
return x.LastUpdated
}
return 0
}
type SyncInstallationCommunity struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
Id []byte `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
// Don't sync private_key because we want to have only one control node
//
// Deprecated: Marked as deprecated in pairing.proto.
PrivateKey []byte `protobuf:"bytes,3,opt,name=private_key,json=privateKey,proto3" json:"private_key,omitempty"`
Description []byte `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`
Joined bool `protobuf:"varint,5,opt,name=joined,proto3" json:"joined,omitempty"`
Verified bool `protobuf:"varint,6,opt,name=verified,proto3" json:"verified,omitempty"`
Muted bool `protobuf:"varint,7,opt,name=muted,proto3" json:"muted,omitempty"`
RequestsToJoin []*SyncCommunityRequestsToJoin `protobuf:"bytes,8,rep,name=requests_to_join,json=requestsToJoin,proto3" json:"requests_to_join,omitempty"`
Settings *SyncCommunitySettings `protobuf:"bytes,9,opt,name=settings,proto3" json:"settings,omitempty"`
Encrypted bool `protobuf:"varint,10,opt,name=encrypted,proto3" json:"encrypted,omitempty"`
Spectated bool `protobuf:"varint,11,opt,name=spectated,proto3" json:"spectated,omitempty"`
EncryptionKeys []byte `protobuf:"bytes,12,opt,name=encryption_keys,json=encryptionKeys,proto3" json:"encryption_keys,omitempty"`
ControlNode *SyncCommunityControlNode `protobuf:"bytes,13,opt,name=control_node,json=controlNode,proto3" json:"control_node,omitempty"`
}
func (x *SyncInstallationCommunity) Reset() {
*x = SyncInstallationCommunity{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SyncInstallationCommunity) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SyncInstallationCommunity) ProtoMessage() {}
func (x *SyncInstallationCommunity) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SyncInstallationCommunity.ProtoReflect.Descriptor instead.
func (*SyncInstallationCommunity) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{8}
}
func (x *SyncInstallationCommunity) GetClock() uint64 {
if x != nil {
return x.Clock
}
return 0
}
func (x *SyncInstallationCommunity) GetId() []byte {
if x != nil {
return x.Id
}
return nil
}
// Deprecated: Marked as deprecated in pairing.proto.
func (x *SyncInstallationCommunity) GetPrivateKey() []byte {
if x != nil {
return x.PrivateKey
}
return nil
}
func (x *SyncInstallationCommunity) GetDescription() []byte {
if x != nil {
return x.Description
}
return nil
}
func (x *SyncInstallationCommunity) GetJoined() bool {
if x != nil {
return x.Joined
}
return false
}
func (x *SyncInstallationCommunity) GetVerified() bool {
if x != nil {
return x.Verified
}
return false
}
func (x *SyncInstallationCommunity) GetMuted() bool {
if x != nil {
return x.Muted
}
return false
}
func (x *SyncInstallationCommunity) GetRequestsToJoin() []*SyncCommunityRequestsToJoin {
if x != nil {
return x.RequestsToJoin
}
return nil
}
func (x *SyncInstallationCommunity) GetSettings() *SyncCommunitySettings {
if x != nil {
return x.Settings
}
return nil
}
func (x *SyncInstallationCommunity) GetEncrypted() bool {
if x != nil {
return x.Encrypted
}
return false
}
func (x *SyncInstallationCommunity) GetSpectated() bool {
if x != nil {
return x.Spectated
}
return false
}
func (x *SyncInstallationCommunity) GetEncryptionKeys() []byte {
if x != nil {
return x.EncryptionKeys
}
return nil
}
func (x *SyncInstallationCommunity) GetControlNode() *SyncCommunityControlNode {
if x != nil {
return x.ControlNode
}
return nil
}
type SyncCommunityRequestsToJoin struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
PublicKey string `protobuf:"bytes,2,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"`
Clock uint64 `protobuf:"varint,3,opt,name=clock,proto3" json:"clock,omitempty"`
EnsName string `protobuf:"bytes,4,opt,name=ens_name,json=ensName,proto3" json:"ens_name,omitempty"`
ChatId string `protobuf:"bytes,5,opt,name=chat_id,json=chatId,proto3" json:"chat_id,omitempty"`
CommunityId []byte `protobuf:"bytes,6,opt,name=community_id,json=communityId,proto3" json:"community_id,omitempty"`
State uint64 `protobuf:"varint,7,opt,name=state,proto3" json:"state,omitempty"`
RevealedAccounts []*RevealedAccount `protobuf:"bytes,8,rep,name=revealed_accounts,json=revealedAccounts,proto3" json:"revealed_accounts,omitempty"`
}
func (x *SyncCommunityRequestsToJoin) Reset() {
*x = SyncCommunityRequestsToJoin{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SyncCommunityRequestsToJoin) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SyncCommunityRequestsToJoin) ProtoMessage() {}
func (x *SyncCommunityRequestsToJoin) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SyncCommunityRequestsToJoin.ProtoReflect.Descriptor instead.
func (*SyncCommunityRequestsToJoin) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{9}
}
func (x *SyncCommunityRequestsToJoin) GetId() []byte {
if x != nil {
return x.Id
}
return nil
}
func (x *SyncCommunityRequestsToJoin) GetPublicKey() string {
if x != nil {
return x.PublicKey
}
return ""
}
func (x *SyncCommunityRequestsToJoin) GetClock() uint64 {
if x != nil {
return x.Clock
}
return 0
}
func (x *SyncCommunityRequestsToJoin) GetEnsName() string {
if x != nil {
return x.EnsName
}
return ""
}
func (x *SyncCommunityRequestsToJoin) GetChatId() string {
if x != nil {
return x.ChatId
}
return ""
}
func (x *SyncCommunityRequestsToJoin) GetCommunityId() []byte {
if x != nil {
return x.CommunityId
}
return nil
}
func (x *SyncCommunityRequestsToJoin) GetState() uint64 {
if x != nil {
return x.State
}
return 0
}
func (x *SyncCommunityRequestsToJoin) GetRevealedAccounts() []*RevealedAccount {
if x != nil {
return x.RevealedAccounts
}
return nil
}
type SyncCommunityControlNode struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Lamport timestamp of control node change
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
// The device id of the control node
// Empty if there is no control node
InstallationId string `protobuf:"bytes,2,opt,name=installation_id,json=installationId,proto3" json:"installation_id,omitempty"`
}
func (x *SyncCommunityControlNode) Reset() {
*x = SyncCommunityControlNode{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SyncCommunityControlNode) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SyncCommunityControlNode) ProtoMessage() {}
func (x *SyncCommunityControlNode) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SyncCommunityControlNode.ProtoReflect.Descriptor instead.
func (*SyncCommunityControlNode) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{10}
}
func (x *SyncCommunityControlNode) GetClock() uint64 {
if x != nil {
return x.Clock
}
return 0
}
func (x *SyncCommunityControlNode) GetInstallationId() string {
if x != nil {
return x.InstallationId
}
return ""
}
type SyncChat struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
ChatType uint32 `protobuf:"varint,2,opt,name=chat_type,json=chatType,proto3" json:"chat_type,omitempty"`
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
MembershipUpdateEvents []*MembershipUpdateEvents `protobuf:"bytes,4,rep,name=membershipUpdateEvents,proto3" json:"membershipUpdateEvents,omitempty"`
Active bool `protobuf:"varint,5,opt,name=active,proto3" json:"active,omitempty"`
Clock uint64 `protobuf:"varint,6,opt,name=clock,proto3" json:"clock,omitempty"`
Muted bool `protobuf:"varint,7,opt,name=muted,proto3" json:"muted,omitempty"`
}
func (x *SyncChat) Reset() {
*x = SyncChat{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SyncChat) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SyncChat) ProtoMessage() {}
func (x *SyncChat) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SyncChat.ProtoReflect.Descriptor instead.
func (*SyncChat) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{11}
}
func (x *SyncChat) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *SyncChat) GetChatType() uint32 {
if x != nil {
return x.ChatType
}
return 0
}
func (x *SyncChat) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *SyncChat) GetMembershipUpdateEvents() []*MembershipUpdateEvents {
if x != nil {
return x.MembershipUpdateEvents
}
return nil
}
func (x *SyncChat) GetActive() bool {
if x != nil {
return x.Active
}
return false
}
func (x *SyncChat) GetClock() uint64 {
if x != nil {
return x.Clock
}
return 0
}
func (x *SyncChat) GetMuted() bool {
if x != nil {
return x.Muted
}
return false
}
type MembershipUpdateEvents struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
Type uint32 `protobuf:"varint,2,opt,name=type,proto3" json:"type,omitempty"`
Members []string `protobuf:"bytes,3,rep,name=members,proto3" json:"members,omitempty"`
Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
Signature []byte `protobuf:"bytes,5,opt,name=signature,proto3" json:"signature,omitempty"`
ChatId string `protobuf:"bytes,6,opt,name=chat_id,json=chatId,proto3" json:"chat_id,omitempty"`
From string `protobuf:"bytes,7,opt,name=from,proto3" json:"from,omitempty"`
RawPayload []byte `protobuf:"bytes,8,opt,name=raw_payload,json=rawPayload,proto3" json:"raw_payload,omitempty"`
Color string `protobuf:"bytes,9,opt,name=color,proto3" json:"color,omitempty"`
Image []byte `protobuf:"bytes,10,opt,name=image,proto3" json:"image,omitempty"`
}
func (x *MembershipUpdateEvents) Reset() {
*x = MembershipUpdateEvents{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MembershipUpdateEvents) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MembershipUpdateEvents) ProtoMessage() {}
func (x *MembershipUpdateEvents) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MembershipUpdateEvents.ProtoReflect.Descriptor instead.
func (*MembershipUpdateEvents) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{12}
}
func (x *MembershipUpdateEvents) GetClock() uint64 {
if x != nil {
return x.Clock
}
return 0
}
func (x *MembershipUpdateEvents) GetType() uint32 {
if x != nil {
return x.Type
}
return 0
}
func (x *MembershipUpdateEvents) GetMembers() []string {
if x != nil {
return x.Members
}
return nil
}
func (x *MembershipUpdateEvents) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *MembershipUpdateEvents) GetSignature() []byte {
if x != nil {
return x.Signature
}
return nil
}
func (x *MembershipUpdateEvents) GetChatId() string {
if x != nil {
return x.ChatId
}
return ""
}
func (x *MembershipUpdateEvents) GetFrom() string {
if x != nil {
return x.From
}
return ""
}
func (x *MembershipUpdateEvents) GetRawPayload() []byte {
if x != nil {
return x.RawPayload
}
return nil
}
func (x *MembershipUpdateEvents) GetColor() string {
if x != nil {
return x.Color
}
return ""
}
func (x *MembershipUpdateEvents) GetImage() []byte {
if x != nil {
return x.Image
}
return nil
}
type SyncChatRemoved struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
}
func (x *SyncChatRemoved) Reset() {
*x = SyncChatRemoved{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SyncChatRemoved) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SyncChatRemoved) ProtoMessage() {}
func (x *SyncChatRemoved) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SyncChatRemoved.ProtoReflect.Descriptor instead.
func (*SyncChatRemoved) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{13}
}
func (x *SyncChatRemoved) GetClock() uint64 {
if x != nil {
return x.Clock
}
return 0
}
func (x *SyncChatRemoved) GetId() string {
if x != nil {
return x.Id
}
return ""
}
type SyncChatMessagesRead struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
}
func (x *SyncChatMessagesRead) Reset() {
*x = SyncChatMessagesRead{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SyncChatMessagesRead) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SyncChatMessagesRead) ProtoMessage() {}
func (x *SyncChatMessagesRead) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SyncChatMessagesRead.ProtoReflect.Descriptor instead.
func (*SyncChatMessagesRead) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{14}
}
func (x *SyncChatMessagesRead) GetClock() uint64 {
if x != nil {
return x.Clock
}
return 0
}
func (x *SyncChatMessagesRead) GetId() string {
if x != nil {
return x.Id
}
return ""
}
type SyncActivityCenterRead struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
Ids [][]byte `protobuf:"bytes,2,rep,name=ids,proto3" json:"ids,omitempty"`
}
func (x *SyncActivityCenterRead) Reset() {
*x = SyncActivityCenterRead{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SyncActivityCenterRead) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SyncActivityCenterRead) ProtoMessage() {}
func (x *SyncActivityCenterRead) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SyncActivityCenterRead.ProtoReflect.Descriptor instead.
func (*SyncActivityCenterRead) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{15}
}
func (x *SyncActivityCenterRead) GetClock() uint64 {
if x != nil {
return x.Clock
}
return 0
}
func (x *SyncActivityCenterRead) GetIds() [][]byte {
if x != nil {
return x.Ids
}
return nil
}
type SyncActivityCenterAccepted struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
Ids [][]byte `protobuf:"bytes,2,rep,name=ids,proto3" json:"ids,omitempty"`
}
func (x *SyncActivityCenterAccepted) Reset() {
*x = SyncActivityCenterAccepted{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SyncActivityCenterAccepted) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SyncActivityCenterAccepted) ProtoMessage() {}
func (x *SyncActivityCenterAccepted) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SyncActivityCenterAccepted.ProtoReflect.Descriptor instead.
func (*SyncActivityCenterAccepted) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{16}
}
func (x *SyncActivityCenterAccepted) GetClock() uint64 {
if x != nil {
return x.Clock
}
return 0
}
func (x *SyncActivityCenterAccepted) GetIds() [][]byte {
if x != nil {
return x.Ids
}
return nil
}
type SyncActivityCenterDismissed struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
Ids [][]byte `protobuf:"bytes,2,rep,name=ids,proto3" json:"ids,omitempty"`
}
func (x *SyncActivityCenterDismissed) Reset() {
*x = SyncActivityCenterDismissed{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SyncActivityCenterDismissed) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SyncActivityCenterDismissed) ProtoMessage() {}
func (x *SyncActivityCenterDismissed) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SyncActivityCenterDismissed.ProtoReflect.Descriptor instead.
func (*SyncActivityCenterDismissed) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{17}
}
func (x *SyncActivityCenterDismissed) GetClock() uint64 {
if x != nil {
return x.Clock
}
return 0
}
func (x *SyncActivityCenterDismissed) GetIds() [][]byte {
if x != nil {
return x.Ids
}
return nil
}
type SyncActivityCenterDeleted struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
Ids [][]byte `protobuf:"bytes,2,rep,name=ids,proto3" json:"ids,omitempty"`
}
func (x *SyncActivityCenterDeleted) Reset() {
*x = SyncActivityCenterDeleted{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SyncActivityCenterDeleted) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SyncActivityCenterDeleted) ProtoMessage() {}
func (x *SyncActivityCenterDeleted) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[18]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SyncActivityCenterDeleted.ProtoReflect.Descriptor instead.
func (*SyncActivityCenterDeleted) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{18}
}
func (x *SyncActivityCenterDeleted) GetClock() uint64 {
if x != nil {
return x.Clock
}
return 0
}
func (x *SyncActivityCenterDeleted) GetIds() [][]byte {
if x != nil {
return x.Ids
}
return nil
}
type SyncActivityCenterUnread struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
Ids [][]byte `protobuf:"bytes,2,rep,name=ids,proto3" json:"ids,omitempty"`
}
func (x *SyncActivityCenterUnread) Reset() {
*x = SyncActivityCenterUnread{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SyncActivityCenterUnread) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SyncActivityCenterUnread) ProtoMessage() {}
func (x *SyncActivityCenterUnread) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[19]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SyncActivityCenterUnread.ProtoReflect.Descriptor instead.
func (*SyncActivityCenterUnread) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{19}
}
func (x *SyncActivityCenterUnread) GetClock() uint64 {
if x != nil {
return x.Clock
}
return 0
}
func (x *SyncActivityCenterUnread) GetIds() [][]byte {
if x != nil {
return x.Ids
}
return nil
}
type SyncActivityCenterNotificationState struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UpdatedAt uint64 `protobuf:"varint,1,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
HasSeen bool `protobuf:"varint,2,opt,name=has_seen,json=hasSeen,proto3" json:"has_seen,omitempty"`
}
func (x *SyncActivityCenterNotificationState) Reset() {
*x = SyncActivityCenterNotificationState{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SyncActivityCenterNotificationState) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SyncActivityCenterNotificationState) ProtoMessage() {}
func (x *SyncActivityCenterNotificationState) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[20]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SyncActivityCenterNotificationState.ProtoReflect.Descriptor instead.
func (*SyncActivityCenterNotificationState) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{20}
}
func (x *SyncActivityCenterNotificationState) GetUpdatedAt() uint64 {
if x != nil {
return x.UpdatedAt
}
return 0
}
func (x *SyncActivityCenterNotificationState) GetHasSeen() bool {
if x != nil {
return x.HasSeen
}
return false
}
type SyncBookmark struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
ImageUrl string `protobuf:"bytes,4,opt,name=image_url,json=imageUrl,proto3" json:"image_url,omitempty"`
Removed bool `protobuf:"varint,5,opt,name=removed,proto3" json:"removed,omitempty"`
DeletedAt uint64 `protobuf:"varint,6,opt,name=deleted_at,json=deletedAt,proto3" json:"deleted_at,omitempty"`
}
func (x *SyncBookmark) Reset() {
*x = SyncBookmark{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SyncBookmark) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SyncBookmark) ProtoMessage() {}
func (x *SyncBookmark) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[21]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SyncBookmark.ProtoReflect.Descriptor instead.
func (*SyncBookmark) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{21}
}
func (x *SyncBookmark) GetClock() uint64 {
if x != nil {
return x.Clock
}
return 0
}
func (x *SyncBookmark) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *SyncBookmark) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *SyncBookmark) GetImageUrl() string {
if x != nil {
return x.ImageUrl
}
return ""
}
func (x *SyncBookmark) GetRemoved() bool {
if x != nil {
return x.Removed
}
return false
}
func (x *SyncBookmark) GetDeletedAt() uint64 {
if x != nil {
return x.DeletedAt
}
return 0
}
type SyncEnsUsernameDetail struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"`
ChainId uint64 `protobuf:"varint,3,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
Removed bool `protobuf:"varint,4,opt,name=removed,proto3" json:"removed,omitempty"`
}
func (x *SyncEnsUsernameDetail) Reset() {
*x = SyncEnsUsernameDetail{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SyncEnsUsernameDetail) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SyncEnsUsernameDetail) ProtoMessage() {}
func (x *SyncEnsUsernameDetail) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[22]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SyncEnsUsernameDetail.ProtoReflect.Descriptor instead.
func (*SyncEnsUsernameDetail) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{22}
}
func (x *SyncEnsUsernameDetail) GetClock() uint64 {
if x != nil {
return x.Clock
}
return 0
}
func (x *SyncEnsUsernameDetail) GetUsername() string {
if x != nil {
return x.Username
}
return ""
}
func (x *SyncEnsUsernameDetail) GetChainId() uint64 {
if x != nil {
return x.ChainId
}
return 0
}
func (x *SyncEnsUsernameDetail) GetRemoved() bool {
if x != nil {
return x.Removed
}
return false
}
type SyncClearHistory struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ChatId string `protobuf:"bytes,1,opt,name=chat_id,json=chatId,proto3" json:"chat_id,omitempty"`
ClearedAt uint64 `protobuf:"varint,2,opt,name=cleared_at,json=clearedAt,proto3" json:"cleared_at,omitempty"`
}
func (x *SyncClearHistory) Reset() {
*x = SyncClearHistory{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SyncClearHistory) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SyncClearHistory) ProtoMessage() {}
func (x *SyncClearHistory) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[23]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SyncClearHistory.ProtoReflect.Descriptor instead.
func (*SyncClearHistory) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{23}
}
func (x *SyncClearHistory) GetChatId() string {
if x != nil {
return x.ChatId
}
return ""
}
func (x *SyncClearHistory) GetClearedAt() uint64 {
if x != nil {
return x.ClearedAt
}
return 0
}
type SyncProfilePicture struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Payload []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
Width uint32 `protobuf:"varint,3,opt,name=width,proto3" json:"width,omitempty"`
Height uint32 `protobuf:"varint,4,opt,name=height,proto3" json:"height,omitempty"`
FileSize uint32 `protobuf:"varint,5,opt,name=file_size,json=fileSize,proto3" json:"file_size,omitempty"`
ResizeTarget uint32 `protobuf:"varint,6,opt,name=resize_target,json=resizeTarget,proto3" json:"resize_target,omitempty"`
Clock uint64 `protobuf:"varint,7,opt,name=clock,proto3" json:"clock,omitempty"`
}
func (x *SyncProfilePicture) Reset() {
*x = SyncProfilePicture{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SyncProfilePicture) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SyncProfilePicture) ProtoMessage() {}
func (x *SyncProfilePicture) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[24]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SyncProfilePicture.ProtoReflect.Descriptor instead.
func (*SyncProfilePicture) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{24}
}
func (x *SyncProfilePicture) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *SyncProfilePicture) GetPayload() []byte {
if x != nil {
return x.Payload
}
return nil
}
func (x *SyncProfilePicture) GetWidth() uint32 {
if x != nil {
return x.Width
}
return 0
}
func (x *SyncProfilePicture) GetHeight() uint32 {
if x != nil {
return x.Height
}
return 0
}
func (x *SyncProfilePicture) GetFileSize() uint32 {
if x != nil {
return x.FileSize
}
return 0
}
func (x *SyncProfilePicture) GetResizeTarget() uint32 {
if x != nil {
return x.ResizeTarget
}
return 0
}
func (x *SyncProfilePicture) GetClock() uint64 {
if x != nil {
return x.Clock
}
return 0
}
type SyncProfilePictures struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
KeyUid string `protobuf:"bytes,1,opt,name=key_uid,json=keyUid,proto3" json:"key_uid,omitempty"`
Pictures []*SyncProfilePicture `protobuf:"bytes,2,rep,name=pictures,proto3" json:"pictures,omitempty"`
}
func (x *SyncProfilePictures) Reset() {
*x = SyncProfilePictures{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SyncProfilePictures) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SyncProfilePictures) ProtoMessage() {}
func (x *SyncProfilePictures) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[25]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SyncProfilePictures.ProtoReflect.Descriptor instead.
func (*SyncProfilePictures) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{25}
}
func (x *SyncProfilePictures) GetKeyUid() string {
if x != nil {
return x.KeyUid
}
return ""
}
func (x *SyncProfilePictures) GetPictures() []*SyncProfilePicture {
if x != nil {
return x.Pictures
}
return nil
}
type SyncAccount struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
Address []byte `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
KeyUid string `protobuf:"bytes,3,opt,name=key_uid,json=keyUid,proto3" json:"key_uid,omitempty"`
PublicKey []byte `protobuf:"bytes,4,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"`
Path string `protobuf:"bytes,5,opt,name=path,proto3" json:"path,omitempty"`
Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
ColorId string `protobuf:"bytes,7,opt,name=color_id,json=colorId,proto3" json:"color_id,omitempty"`
Emoji string `protobuf:"bytes,8,opt,name=emoji,proto3" json:"emoji,omitempty"`
Wallet bool `protobuf:"varint,9,opt,name=wallet,proto3" json:"wallet,omitempty"`
Chat bool `protobuf:"varint,10,opt,name=chat,proto3" json:"chat,omitempty"`
Hidden bool `protobuf:"varint,11,opt,name=hidden,proto3" json:"hidden,omitempty"`
Removed bool `protobuf:"varint,12,opt,name=removed,proto3" json:"removed,omitempty"`
Position int64 `protobuf:"varint,13,opt,name=position,proto3" json:"position,omitempty"`
ProdPreferredChainIDs string `protobuf:"bytes,14,opt,name=prodPreferredChainIDs,proto3" json:"prodPreferredChainIDs,omitempty"`
TestPreferredChainIDs string `protobuf:"bytes,15,opt,name=testPreferredChainIDs,proto3" json:"testPreferredChainIDs,omitempty"`
Operable string `protobuf:"bytes,16,opt,name=operable,proto3" json:"operable,omitempty"`
}
func (x *SyncAccount) Reset() {
*x = SyncAccount{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SyncAccount) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SyncAccount) ProtoMessage() {}
func (x *SyncAccount) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[26]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SyncAccount.ProtoReflect.Descriptor instead.
func (*SyncAccount) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{26}
}
func (x *SyncAccount) GetClock() uint64 {
if x != nil {
return x.Clock
}
return 0
}
func (x *SyncAccount) GetAddress() []byte {
if x != nil {
return x.Address
}
return nil
}
func (x *SyncAccount) GetKeyUid() string {
if x != nil {
return x.KeyUid
}
return ""
}
func (x *SyncAccount) GetPublicKey() []byte {
if x != nil {
return x.PublicKey
}
return nil
}
func (x *SyncAccount) GetPath() string {
if x != nil {
return x.Path
}
return ""
}
func (x *SyncAccount) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *SyncAccount) GetColorId() string {
if x != nil {
return x.ColorId
}
return ""
}
func (x *SyncAccount) GetEmoji() string {
if x != nil {
return x.Emoji
}
return ""
}
func (x *SyncAccount) GetWallet() bool {
if x != nil {
return x.Wallet
}
return false
}
func (x *SyncAccount) GetChat() bool {
if x != nil {
return x.Chat
}
return false
}
func (x *SyncAccount) GetHidden() bool {
if x != nil {
return x.Hidden
}
return false
}
func (x *SyncAccount) GetRemoved() bool {
if x != nil {
return x.Removed
}
return false
}
func (x *SyncAccount) GetPosition() int64 {
if x != nil {
return x.Position
}
return 0
}
func (x *SyncAccount) GetProdPreferredChainIDs() string {
if x != nil {
return x.ProdPreferredChainIDs
}
return ""
}
func (x *SyncAccount) GetTestPreferredChainIDs() string {
if x != nil {
return x.TestPreferredChainIDs
}
return ""
}
func (x *SyncAccount) GetOperable() string {
if x != nil {
return x.Operable
}
return ""
}
type SyncKeypair struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
KeyUid string `protobuf:"bytes,2,opt,name=key_uid,json=keyUid,proto3" json:"key_uid,omitempty"`
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
Type string `protobuf:"bytes,4,opt,name=type,proto3" json:"type,omitempty"`
DerivedFrom string `protobuf:"bytes,5,opt,name=derived_from,json=derivedFrom,proto3" json:"derived_from,omitempty"`
LastUsedDerivationIndex uint64 `protobuf:"varint,6,opt,name=last_used_derivation_index,json=lastUsedDerivationIndex,proto3" json:"last_used_derivation_index,omitempty"`
SyncedFrom string `protobuf:"bytes,7,opt,name=synced_from,json=syncedFrom,proto3" json:"synced_from,omitempty"`
Accounts []*SyncAccount `protobuf:"bytes,8,rep,name=accounts,proto3" json:"accounts,omitempty"`
Keycards []*SyncKeycard `protobuf:"bytes,9,rep,name=keycards,proto3" json:"keycards,omitempty"`
Removed bool `protobuf:"varint,10,opt,name=removed,proto3" json:"removed,omitempty"`
KeycardPairings []byte `protobuf:"bytes,11,opt,name=keycard_pairings,json=keycardPairings,proto3" json:"keycard_pairings,omitempty"`
}
func (x *SyncKeypair) Reset() {
*x = SyncKeypair{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SyncKeypair) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SyncKeypair) ProtoMessage() {}
func (x *SyncKeypair) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[27]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SyncKeypair.ProtoReflect.Descriptor instead.
func (*SyncKeypair) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{27}
}
func (x *SyncKeypair) GetClock() uint64 {
if x != nil {
return x.Clock
}
return 0
}
func (x *SyncKeypair) GetKeyUid() string {
if x != nil {
return x.KeyUid
}
return ""
}
func (x *SyncKeypair) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *SyncKeypair) GetType() string {
if x != nil {
return x.Type
}
return ""
}
func (x *SyncKeypair) GetDerivedFrom() string {
if x != nil {
return x.DerivedFrom
}
return ""
}
func (x *SyncKeypair) GetLastUsedDerivationIndex() uint64 {
if x != nil {
return x.LastUsedDerivationIndex
}
return 0
}
func (x *SyncKeypair) GetSyncedFrom() string {
if x != nil {
return x.SyncedFrom
}
return ""
}
func (x *SyncKeypair) GetAccounts() []*SyncAccount {
if x != nil {
return x.Accounts
}
return nil
}
func (x *SyncKeypair) GetKeycards() []*SyncKeycard {
if x != nil {
return x.Keycards
}
return nil
}
func (x *SyncKeypair) GetRemoved() bool {
if x != nil {
return x.Removed
}
return false
}
func (x *SyncKeypair) GetKeycardPairings() []byte {
if x != nil {
return x.KeycardPairings
}
return nil
}
// this message is used for syncing accounts positions only, for syncing any other info consider
// `SyncAccount` or `SyncKeypair` message
type SyncAccountsPositions struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
Accounts []*SyncAccount `protobuf:"bytes,2,rep,name=accounts,proto3" json:"accounts,omitempty"`
}
func (x *SyncAccountsPositions) Reset() {
*x = SyncAccountsPositions{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SyncAccountsPositions) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SyncAccountsPositions) ProtoMessage() {}
func (x *SyncAccountsPositions) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[28]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SyncAccountsPositions.ProtoReflect.Descriptor instead.
func (*SyncAccountsPositions) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{28}
}
func (x *SyncAccountsPositions) GetClock() uint64 {
if x != nil {
return x.Clock
}
return 0
}
func (x *SyncAccountsPositions) GetAccounts() []*SyncAccount {
if x != nil {
return x.Accounts
}
return nil
}
type SyncSavedAddress struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Address []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Favourite bool `protobuf:"varint,3,opt,name=favourite,proto3" json:"favourite,omitempty"`
Removed bool `protobuf:"varint,5,opt,name=removed,proto3" json:"removed,omitempty"`
UpdateClock uint64 `protobuf:"varint,7,opt,name=update_clock,json=updateClock,proto3" json:"update_clock,omitempty"`
ChainShortNames string `protobuf:"bytes,8,opt,name=chain_short_names,json=chainShortNames,proto3" json:"chain_short_names,omitempty"`
Ens string `protobuf:"bytes,9,opt,name=ens,proto3" json:"ens,omitempty"`
IsTest bool `protobuf:"varint,10,opt,name=is_test,json=isTest,proto3" json:"is_test,omitempty"`
}
func (x *SyncSavedAddress) Reset() {
*x = SyncSavedAddress{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SyncSavedAddress) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SyncSavedAddress) ProtoMessage() {}
func (x *SyncSavedAddress) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[29]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SyncSavedAddress.ProtoReflect.Descriptor instead.
func (*SyncSavedAddress) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{29}
}
func (x *SyncSavedAddress) GetAddress() []byte {
if x != nil {
return x.Address
}
return nil
}
func (x *SyncSavedAddress) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *SyncSavedAddress) GetFavourite() bool {
if x != nil {
return x.Favourite
}
return false
}
func (x *SyncSavedAddress) GetRemoved() bool {
if x != nil {
return x.Removed
}
return false
}
func (x *SyncSavedAddress) GetUpdateClock() uint64 {
if x != nil {
return x.UpdateClock
}
return 0
}
func (x *SyncSavedAddress) GetChainShortNames() string {
if x != nil {
return x.ChainShortNames
}
return ""
}
func (x *SyncSavedAddress) GetEns() string {
if x != nil {
return x.Ens
}
return ""
}
func (x *SyncSavedAddress) GetIsTest() bool {
if x != nil {
return x.IsTest
}
return false
}
type SyncCommunitySettings struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
CommunityId string `protobuf:"bytes,2,opt,name=community_id,json=communityId,proto3" json:"community_id,omitempty"`
HistoryArchiveSupportEnabled bool `protobuf:"varint,3,opt,name=history_archive_support_enabled,json=historyArchiveSupportEnabled,proto3" json:"history_archive_support_enabled,omitempty"`
}
func (x *SyncCommunitySettings) Reset() {
*x = SyncCommunitySettings{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SyncCommunitySettings) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SyncCommunitySettings) ProtoMessage() {}
func (x *SyncCommunitySettings) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[30]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SyncCommunitySettings.ProtoReflect.Descriptor instead.
func (*SyncCommunitySettings) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{30}
}
func (x *SyncCommunitySettings) GetClock() uint64 {
if x != nil {
return x.Clock
}
return 0
}
func (x *SyncCommunitySettings) GetCommunityId() string {
if x != nil {
return x.CommunityId
}
return ""
}
func (x *SyncCommunitySettings) GetHistoryArchiveSupportEnabled() bool {
if x != nil {
return x.HistoryArchiveSupportEnabled
}
return false
}
type SyncTrustedUser struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
Status SyncTrustedUser_TrustStatus `protobuf:"varint,3,opt,name=status,proto3,enum=protobuf.SyncTrustedUser_TrustStatus" json:"status,omitempty"`
}
func (x *SyncTrustedUser) Reset() {
*x = SyncTrustedUser{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SyncTrustedUser) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SyncTrustedUser) ProtoMessage() {}
func (x *SyncTrustedUser) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[31]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SyncTrustedUser.ProtoReflect.Descriptor instead.
func (*SyncTrustedUser) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{31}
}
func (x *SyncTrustedUser) GetClock() uint64 {
if x != nil {
return x.Clock
}
return 0
}
func (x *SyncTrustedUser) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *SyncTrustedUser) GetStatus() SyncTrustedUser_TrustStatus {
if x != nil {
return x.Status
}
return SyncTrustedUser_UNKNOWN
}
type SyncVerificationRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
From string `protobuf:"bytes,2,opt,name=from,proto3" json:"from,omitempty"`
To string `protobuf:"bytes,3,opt,name=to,proto3" json:"to,omitempty"`
Challenge string `protobuf:"bytes,4,opt,name=challenge,proto3" json:"challenge,omitempty"`
RequestedAt uint64 `protobuf:"varint,5,opt,name=requested_at,json=requestedAt,proto3" json:"requested_at,omitempty"`
Response string `protobuf:"bytes,6,opt,name=response,proto3" json:"response,omitempty"`
RepliedAt uint64 `protobuf:"varint,7,opt,name=replied_at,json=repliedAt,proto3" json:"replied_at,omitempty"`
VerificationStatus SyncVerificationRequest_VerificationStatus `protobuf:"varint,8,opt,name=verification_status,json=verificationStatus,proto3,enum=protobuf.SyncVerificationRequest_VerificationStatus" json:"verification_status,omitempty"`
Id string `protobuf:"bytes,9,opt,name=id,proto3" json:"id,omitempty"`
}
func (x *SyncVerificationRequest) Reset() {
*x = SyncVerificationRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SyncVerificationRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SyncVerificationRequest) ProtoMessage() {}
func (x *SyncVerificationRequest) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[32]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SyncVerificationRequest.ProtoReflect.Descriptor instead.
func (*SyncVerificationRequest) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{32}
}
func (x *SyncVerificationRequest) GetClock() uint64 {
if x != nil {
return x.Clock
}
return 0
}
func (x *SyncVerificationRequest) GetFrom() string {
if x != nil {
return x.From
}
return ""
}
func (x *SyncVerificationRequest) GetTo() string {
if x != nil {
return x.To
}
return ""
}
func (x *SyncVerificationRequest) GetChallenge() string {
if x != nil {
return x.Challenge
}
return ""
}
func (x *SyncVerificationRequest) GetRequestedAt() uint64 {
if x != nil {
return x.RequestedAt
}
return 0
}
func (x *SyncVerificationRequest) GetResponse() string {
if x != nil {
return x.Response
}
return ""
}
func (x *SyncVerificationRequest) GetRepliedAt() uint64 {
if x != nil {
return x.RepliedAt
}
return 0
}
func (x *SyncVerificationRequest) GetVerificationStatus() SyncVerificationRequest_VerificationStatus {
if x != nil {
return x.VerificationStatus
}
return SyncVerificationRequest_UNKNOWN
}
func (x *SyncVerificationRequest) GetId() string {
if x != nil {
return x.Id
}
return ""
}
type SyncContactRequestDecision struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
RequestId string `protobuf:"bytes,2,opt,name=requestId,proto3" json:"requestId,omitempty"`
DecisionStatus SyncContactRequestDecision_DecisionStatus `protobuf:"varint,3,opt,name=decision_status,json=decisionStatus,proto3,enum=protobuf.SyncContactRequestDecision_DecisionStatus" json:"decision_status,omitempty"`
}
func (x *SyncContactRequestDecision) Reset() {
*x = SyncContactRequestDecision{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SyncContactRequestDecision) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SyncContactRequestDecision) ProtoMessage() {}
func (x *SyncContactRequestDecision) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[33]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SyncContactRequestDecision.ProtoReflect.Descriptor instead.
func (*SyncContactRequestDecision) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{33}
}
func (x *SyncContactRequestDecision) GetClock() uint64 {
if x != nil {
return x.Clock
}
return 0
}
func (x *SyncContactRequestDecision) GetRequestId() string {
if x != nil {
return x.RequestId
}
return ""
}
func (x *SyncContactRequestDecision) GetDecisionStatus() SyncContactRequestDecision_DecisionStatus {
if x != nil {
return x.DecisionStatus
}
return SyncContactRequestDecision_ACCEPTED
}
// `BackedUpProfile` is used to describe profile of logged in user
type BackedUpProfile struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
KeyUid string `protobuf:"bytes,1,opt,name=key_uid,json=keyUid,proto3" json:"key_uid,omitempty"`
DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
DisplayNameClock uint64 `protobuf:"varint,3,opt,name=display_name_clock,json=displayNameClock,proto3" json:"display_name_clock,omitempty"`
Pictures []*SyncProfilePicture `protobuf:"bytes,4,rep,name=pictures,proto3" json:"pictures,omitempty"`
SocialLinks *SyncSocialLinks `protobuf:"bytes,5,opt,name=social_links,json=socialLinks,proto3" json:"social_links,omitempty"`
EnsUsernameDetails []*SyncEnsUsernameDetail `protobuf:"bytes,6,rep,name=ens_username_details,json=ensUsernameDetails,proto3" json:"ens_username_details,omitempty"`
}
func (x *BackedUpProfile) Reset() {
*x = BackedUpProfile{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BackedUpProfile) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BackedUpProfile) ProtoMessage() {}
func (x *BackedUpProfile) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[34]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BackedUpProfile.ProtoReflect.Descriptor instead.
func (*BackedUpProfile) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{34}
}
func (x *BackedUpProfile) GetKeyUid() string {
if x != nil {
return x.KeyUid
}
return ""
}
func (x *BackedUpProfile) GetDisplayName() string {
if x != nil {
return x.DisplayName
}
return ""
}
func (x *BackedUpProfile) GetDisplayNameClock() uint64 {
if x != nil {
return x.DisplayNameClock
}
return 0
}
func (x *BackedUpProfile) GetPictures() []*SyncProfilePicture {
if x != nil {
return x.Pictures
}
return nil
}
func (x *BackedUpProfile) GetSocialLinks() *SyncSocialLinks {
if x != nil {
return x.SocialLinks
}
return nil
}
func (x *BackedUpProfile) GetEnsUsernameDetails() []*SyncEnsUsernameDetail {
if x != nil {
return x.EnsUsernameDetails
}
return nil
}
type RawMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"`
MessageType ApplicationMetadataMessage_Type `protobuf:"varint,2,opt,name=messageType,proto3,enum=protobuf.ApplicationMetadataMessage_Type" json:"messageType,omitempty"`
}
func (x *RawMessage) Reset() {
*x = RawMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RawMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RawMessage) ProtoMessage() {}
func (x *RawMessage) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[35]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RawMessage.ProtoReflect.Descriptor instead.
func (*RawMessage) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{35}
}
func (x *RawMessage) GetPayload() []byte {
if x != nil {
return x.Payload
}
return nil
}
func (x *RawMessage) GetMessageType() ApplicationMetadataMessage_Type {
if x != nil {
return x.MessageType
}
return ApplicationMetadataMessage_UNKNOWN
}
type SyncRawMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RawMessages []*RawMessage `protobuf:"bytes,1,rep,name=rawMessages,proto3" json:"rawMessages,omitempty"`
// we need these to be able to login
SubAccountsJsonBytes []byte `protobuf:"bytes,2,opt,name=subAccountsJsonBytes,proto3" json:"subAccountsJsonBytes,omitempty"`
SettingsJsonBytes []byte `protobuf:"bytes,3,opt,name=settingsJsonBytes,proto3" json:"settingsJsonBytes,omitempty"`
}
func (x *SyncRawMessage) Reset() {
*x = SyncRawMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SyncRawMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SyncRawMessage) ProtoMessage() {}
func (x *SyncRawMessage) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[36]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SyncRawMessage.ProtoReflect.Descriptor instead.
func (*SyncRawMessage) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{36}
}
func (x *SyncRawMessage) GetRawMessages() []*RawMessage {
if x != nil {
return x.RawMessages
}
return nil
}
func (x *SyncRawMessage) GetSubAccountsJsonBytes() []byte {
if x != nil {
return x.SubAccountsJsonBytes
}
return nil
}
func (x *SyncRawMessage) GetSettingsJsonBytes() []byte {
if x != nil {
return x.SettingsJsonBytes
}
return nil
}
type SyncKeycard struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Locked bool `protobuf:"varint,3,opt,name=locked,proto3" json:"locked,omitempty"`
KeyUid string `protobuf:"bytes,4,opt,name=key_uid,json=keyUid,proto3" json:"key_uid,omitempty"`
Addresses [][]byte `protobuf:"bytes,5,rep,name=addresses,proto3" json:"addresses,omitempty"`
Position uint64 `protobuf:"varint,6,opt,name=position,proto3" json:"position,omitempty"`
}
func (x *SyncKeycard) Reset() {
*x = SyncKeycard{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SyncKeycard) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SyncKeycard) ProtoMessage() {}
func (x *SyncKeycard) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[37]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SyncKeycard.ProtoReflect.Descriptor instead.
func (*SyncKeycard) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{37}
}
func (x *SyncKeycard) GetUid() string {
if x != nil {
return x.Uid
}
return ""
}
func (x *SyncKeycard) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *SyncKeycard) GetLocked() bool {
if x != nil {
return x.Locked
}
return false
}
func (x *SyncKeycard) GetKeyUid() string {
if x != nil {
return x.KeyUid
}
return ""
}
func (x *SyncKeycard) GetAddresses() [][]byte {
if x != nil {
return x.Addresses
}
return nil
}
func (x *SyncKeycard) GetPosition() uint64 {
if x != nil {
return x.Position
}
return 0
}
type SyncSocialLinks struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SocialLinks []*SocialLink `protobuf:"bytes,1,rep,name=social_links,json=socialLinks,proto3" json:"social_links,omitempty"`
Clock uint64 `protobuf:"varint,2,opt,name=clock,proto3" json:"clock,omitempty"`
}
func (x *SyncSocialLinks) Reset() {
*x = SyncSocialLinks{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[38]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SyncSocialLinks) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SyncSocialLinks) ProtoMessage() {}
func (x *SyncSocialLinks) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[38]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SyncSocialLinks.ProtoReflect.Descriptor instead.
func (*SyncSocialLinks) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{38}
}
func (x *SyncSocialLinks) GetSocialLinks() []*SocialLink {
if x != nil {
return x.SocialLinks
}
return nil
}
func (x *SyncSocialLinks) GetClock() uint64 {
if x != nil {
return x.Clock
}
return 0
}
type SyncAccountCustomizationColor struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UpdatedAt uint64 `protobuf:"varint,1,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
CustomizationColor string `protobuf:"bytes,2,opt,name=customization_color,json=customizationColor,proto3" json:"customization_color,omitempty"`
KeyUid string `protobuf:"bytes,3,opt,name=key_uid,json=keyUid,proto3" json:"key_uid,omitempty"`
}
func (x *SyncAccountCustomizationColor) Reset() {
*x = SyncAccountCustomizationColor{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SyncAccountCustomizationColor) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SyncAccountCustomizationColor) ProtoMessage() {}
func (x *SyncAccountCustomizationColor) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[39]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SyncAccountCustomizationColor.ProtoReflect.Descriptor instead.
func (*SyncAccountCustomizationColor) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{39}
}
func (x *SyncAccountCustomizationColor) GetUpdatedAt() uint64 {
if x != nil {
return x.UpdatedAt
}
return 0
}
func (x *SyncAccountCustomizationColor) GetCustomizationColor() string {
if x != nil {
return x.CustomizationColor
}
return ""
}
func (x *SyncAccountCustomizationColor) GetKeyUid() string {
if x != nil {
return x.KeyUid
}
return ""
}
type MultiAccount_ColorHash struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Index []int64 `protobuf:"varint,1,rep,packed,name=index,proto3" json:"index,omitempty"`
}
func (x *MultiAccount_ColorHash) Reset() {
*x = MultiAccount_ColorHash{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[40]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MultiAccount_ColorHash) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MultiAccount_ColorHash) ProtoMessage() {}
func (x *MultiAccount_ColorHash) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[40]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MultiAccount_ColorHash.ProtoReflect.Descriptor instead.
func (*MultiAccount_ColorHash) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{2, 0}
}
func (x *MultiAccount_ColorHash) GetIndex() []int64 {
if x != nil {
return x.Index
}
return nil
}
type MultiAccount_IdentityImage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
KeyUid string `protobuf:"bytes,1,opt,name=key_uid,json=keyUid,proto3" json:"key_uid,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Payload []byte `protobuf:"bytes,3,opt,name=payload,proto3" json:"payload,omitempty"`
Width int64 `protobuf:"varint,4,opt,name=width,proto3" json:"width,omitempty"`
Height int64 `protobuf:"varint,5,opt,name=height,proto3" json:"height,omitempty"`
Filesize int64 `protobuf:"varint,6,opt,name=filesize,proto3" json:"filesize,omitempty"`
ResizeTarget int64 `protobuf:"varint,7,opt,name=resize_target,json=resizeTarget,proto3" json:"resize_target,omitempty"`
Clock uint64 `protobuf:"varint,8,opt,name=clock,proto3" json:"clock,omitempty"`
}
func (x *MultiAccount_IdentityImage) Reset() {
*x = MultiAccount_IdentityImage{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[41]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MultiAccount_IdentityImage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MultiAccount_IdentityImage) ProtoMessage() {}
func (x *MultiAccount_IdentityImage) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[41]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MultiAccount_IdentityImage.ProtoReflect.Descriptor instead.
func (*MultiAccount_IdentityImage) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{2, 1}
}
func (x *MultiAccount_IdentityImage) GetKeyUid() string {
if x != nil {
return x.KeyUid
}
return ""
}
func (x *MultiAccount_IdentityImage) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *MultiAccount_IdentityImage) GetPayload() []byte {
if x != nil {
return x.Payload
}
return nil
}
func (x *MultiAccount_IdentityImage) GetWidth() int64 {
if x != nil {
return x.Width
}
return 0
}
func (x *MultiAccount_IdentityImage) GetHeight() int64 {
if x != nil {
return x.Height
}
return 0
}
func (x *MultiAccount_IdentityImage) GetFilesize() int64 {
if x != nil {
return x.Filesize
}
return 0
}
func (x *MultiAccount_IdentityImage) GetResizeTarget() int64 {
if x != nil {
return x.ResizeTarget
}
return 0
}
func (x *MultiAccount_IdentityImage) GetClock() uint64 {
if x != nil {
return x.Clock
}
return 0
}
type LocalPairingPayload_Key struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
}
func (x *LocalPairingPayload_Key) Reset() {
*x = LocalPairingPayload_Key{}
if protoimpl.UnsafeEnabled {
mi := &file_pairing_proto_msgTypes[42]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LocalPairingPayload_Key) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LocalPairingPayload_Key) ProtoMessage() {}
func (x *LocalPairingPayload_Key) ProtoReflect() protoreflect.Message {
mi := &file_pairing_proto_msgTypes[42]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LocalPairingPayload_Key.ProtoReflect.Descriptor instead.
func (*LocalPairingPayload_Key) Descriptor() ([]byte, []int) {
return file_pairing_proto_rawDescGZIP(), []int{3, 0}
}
func (x *LocalPairingPayload_Key) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *LocalPairingPayload_Key) GetData() []byte {
if x != nil {
return x.Data
}
return nil
}
var File_pairing_proto protoreflect.FileDescriptor
var file_pairing_proto_rawDesc = []byte{
0x0a, 0x0d, 0x70, 0x61, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x1a, 0x13, 0x63, 0x68, 0x61, 0x74, 0x5f,
0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13,
0x73, 0x79, 0x6e, 0x63, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69,
0x74, 0x69, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x61, 0x0a, 0x1b, 0x46, 0x65,
0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x55, 0x70, 0x44, 0x61,
0x74, 0x61, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x61, 0x74,
0x61, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
0x64, 0x61, 0x74, 0x61, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f,
0x74, 0x61, 0x6c, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0xfd, 0x07,
0x0a, 0x06, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x63,
0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x0e,
0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3f,
0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x79, 0x6e, 0x63,
0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74,
0x61, 0x63, 0x74, 0x56, 0x32, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x12,
0x45, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x04,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x53, 0x79, 0x6e, 0x63, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75,
0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63,
0x74, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x25, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68,
0x69, 0x6e, 0x67, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x61, 0x44,
0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73,
0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x55, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x6d, 0x75,
0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x06, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46,
0x65, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x55, 0x70, 0x44,
0x61, 0x74, 0x61, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x12, 0x63, 0x6f, 0x6d, 0x6d,
0x75, 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x33,
0x0a, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65,
0x64, 0x55, 0x70, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x66,
0x69, 0x6c, 0x65, 0x12, 0x4d, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x44, 0x65,
0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x42,
0x61, 0x63, 0x6b, 0x65, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x61, 0x44, 0x65, 0x74, 0x61, 0x69,
0x6c, 0x73, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69,
0x6c, 0x73, 0x12, 0x2f, 0x0a, 0x07, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x09, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53,
0x79, 0x6e, 0x63, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x73, 0x65, 0x74, 0x74,
0x69, 0x6e, 0x67, 0x12, 0x4f, 0x0a, 0x0f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x44,
0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67,
0x42, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x61, 0x44, 0x65, 0x74, 0x61,
0x69, 0x6c, 0x73, 0x52, 0x0f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x44, 0x65, 0x74,
0x61, 0x69, 0x6c, 0x73, 0x12, 0x2f, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x70, 0x61, 0x69, 0x72, 0x18,
0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x53, 0x79, 0x6e, 0x63, 0x4b, 0x65, 0x79, 0x70, 0x61, 0x69, 0x72, 0x52, 0x07, 0x6b, 0x65,
0x79, 0x70, 0x61, 0x69, 0x72, 0x12, 0x4d, 0x0a, 0x0e, 0x6b, 0x65, 0x79, 0x70, 0x61, 0x69, 0x72,
0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x69, 0x6e,
0x67, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x61, 0x44, 0x65, 0x74,
0x61, 0x69, 0x6c, 0x73, 0x52, 0x0e, 0x6b, 0x65, 0x79, 0x70, 0x61, 0x69, 0x72, 0x44, 0x65, 0x74,
0x61, 0x69, 0x6c, 0x73, 0x12, 0x41, 0x0a, 0x10, 0x77, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x6e, 0x6c,
0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x63,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x10, 0x77, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x6e, 0x6c, 0x79,
0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x5f, 0x0a, 0x17, 0x77, 0x61, 0x74, 0x63, 0x68,
0x4f, 0x6e, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69,
0x6c, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x42, 0x61, 0x63, 0x6b,
0x65, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x61, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52,
0x17, 0x77, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x6e, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x63, 0x68, 0x61, 0x74,
0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x43, 0x68, 0x61, 0x74, 0x52, 0x05, 0x63, 0x68, 0x61,
0x74, 0x73, 0x12, 0x49, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x74, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69,
0x6c, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x42, 0x61, 0x63, 0x6b,
0x65, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x61, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52,
0x0c, 0x63, 0x68, 0x61, 0x74, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0xa8, 0x05,
0x0a, 0x0c, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12,
0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18,
0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
0x12, 0x1c, 0x0a, 0x09, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x6f, 0x6e, 0x18, 0x03, 0x20,
0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x6f, 0x6e, 0x12, 0x3f,
0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x75,
0x6c, 0x74, 0x69, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6c, 0x6f, 0x72,
0x48, 0x61, 0x73, 0x68, 0x52, 0x09, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12,
0x19, 0x0a, 0x08, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28,
0x03, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x6b, 0x65,
0x79, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0e, 0x6b, 0x65, 0x79, 0x63, 0x61, 0x72, 0x64, 0x50, 0x61, 0x69, 0x72,
0x69, 0x6e, 0x67, 0x12, 0x17, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x07,
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6b, 0x65, 0x79, 0x55, 0x69, 0x64, 0x12, 0x3c, 0x0a, 0x06,
0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x41, 0x63, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6d, 0x61,
0x67, 0x65, 0x52, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x75,
0x73, 0x74, 0x6f, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6c, 0x6f,
0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x69,
0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x3a, 0x0a, 0x19, 0x63,
0x75, 0x73, 0x74, 0x6f, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6c,
0x6f, 0x72, 0x5f, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17,
0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6c,
0x6f, 0x72, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x1a, 0x21, 0x0a, 0x09, 0x43, 0x6f, 0x6c, 0x6f, 0x72,
0x48, 0x61, 0x73, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20,
0x03, 0x28, 0x03, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x1a, 0xdb, 0x01, 0x0a, 0x0d, 0x49,
0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x17, 0x0a, 0x07,
0x6b, 0x65, 0x79, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6b,
0x65, 0x79, 0x55, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79,
0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c,
0x6f, 0x61, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01,
0x28, 0x03, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69,
0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68,
0x74, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20,
0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x23, 0x0a,
0x0d, 0x72, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x07,
0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x54, 0x61, 0x72, 0x67,
0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28,
0x04, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x97, 0x02, 0x0a, 0x13, 0x4c, 0x6f, 0x63,
0x61, 0x6c, 0x50, 0x61, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64,
0x12, 0x35, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x50,
0x61, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x4b, 0x65,
0x79, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x3a, 0x0a, 0x0c, 0x6d, 0x75, 0x6c, 0x74, 0x69,
0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x41, 0x63,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0c, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x63, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18,
0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12,
0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x74, 0x4b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
0x52, 0x07, 0x63, 0x68, 0x61, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x28, 0x0a, 0x0f, 0x6b, 0x65, 0x79,
0x63, 0x61, 0x72, 0x64, 0x50, 0x61, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0f, 0x6b, 0x65, 0x79, 0x63, 0x61, 0x72, 0x64, 0x50, 0x61, 0x69, 0x72, 0x69,
0x6e, 0x67, 0x73, 0x1a, 0x2d, 0x0a, 0x03, 0x4b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12,
0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61,
0x74, 0x61, 0x22, 0xb9, 0x01, 0x0a, 0x15, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x61, 0x69, 0x72,
0x69, 0x6e, 0x67, 0x50, 0x65, 0x65, 0x72, 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x12, 0x27, 0x0a, 0x0f,
0x70, 0x61, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18,
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x70, 0x61, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1f,
0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12,
0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65,
0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20,
0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0xa4,
0x01, 0x0a, 0x14, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x61, 0x69, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61,
0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b,
0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x27, 0x0a,
0x0f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,
0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76,
0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76,
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x81, 0x06, 0x0a, 0x19, 0x53, 0x79, 0x6e, 0x63, 0x49, 0x6e,
0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63,
0x74, 0x56, 0x32, 0x12, 0x30, 0x0a, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61,
0x74, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x04, 0x52, 0x12, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x6f,
0x63, 0x61, 0x6c, 0x6c, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72,
0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e,
0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e,
0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70,
0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6c, 0x61, 0x73,
0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x79, 0x73, 0x74,
0x65, 0x6d, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x73,
0x79, 0x73, 0x74, 0x65, 0x6d, 0x54, 0x61, 0x67, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x6f, 0x63,
0x61, 0x6c, 0x5f, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65,
0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x64, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52,
0x05, 0x61, 0x64, 0x64, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x65,
0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64,
0x12, 0x14, 0x0a, 0x05, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52,
0x05, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65,
0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64,
0x12, 0x20, 0x0a, 0x0c, 0x68, 0x61, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x75, 0x73,
0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x68, 0x61, 0x73, 0x41, 0x64, 0x64, 0x65, 0x64,
0x55, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52,
0x12, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61,
0x74, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x72, 0x75, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61,
0x74, 0x75, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x72, 0x75, 0x73, 0x74,
0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3d, 0x0a, 0x1b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63,
0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f,
0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x18, 0x63, 0x6f, 0x6e,
0x74, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x6c,
0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3d, 0x0a, 0x1b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74,
0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x63,
0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x18, 0x63, 0x6f, 0x6e, 0x74,
0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x43,
0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x3f, 0x0a, 0x1c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x5f,
0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x73,
0x74, 0x61, 0x74, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x52, 0x19, 0x63, 0x6f, 0x6e, 0x74,
0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65,
0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x1c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74,
0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f,
0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x19, 0x63, 0x6f, 0x6e,
0x74, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74,
0x65, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61,
0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69,
0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x77, 0x0a, 0x17, 0x53, 0x79, 0x6e,
0x63, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20,
0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72,
0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12,
0x21, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18,
0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74,
0x65, 0x64, 0x22, 0x8c, 0x04, 0x0a, 0x19, 0x53, 0x79, 0x6e, 0x63, 0x49, 0x6e, 0x73, 0x74, 0x61,
0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79,
0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0c, 0x52, 0x02, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74,
0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x02, 0x18, 0x01, 0x52,
0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x64,
0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a,
0x06, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6a,
0x6f, 0x69, 0x6e, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65,
0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65,
0x64, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08,
0x52, 0x05, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x12, 0x4f, 0x0a, 0x10, 0x72, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x25, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x79, 0x6e,
0x63, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x73, 0x54, 0x6f, 0x4a, 0x6f, 0x69, 0x6e, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x73, 0x54, 0x6f, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x3b, 0x0a, 0x08, 0x73, 0x65, 0x74, 0x74,
0x69, 0x6e, 0x67, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e,
0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x08, 0x73, 0x65, 0x74,
0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74,
0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70,
0x74, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x65, 0x64,
0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x65,
0x64, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
0x6b, 0x65, 0x79, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x65, 0x6e, 0x63, 0x72,
0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x45, 0x0a, 0x0c, 0x63, 0x6f,
0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x79, 0x6e, 0x63,
0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x4e, 0x6f, 0x64,
0x65, 0x22, 0x97, 0x02, 0x0a, 0x1b, 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e,
0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x54, 0x6f, 0x4a, 0x6f, 0x69,
0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x69,
0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79,
0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52,
0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x73, 0x5f, 0x6e, 0x61,
0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x73, 0x4e, 0x61, 0x6d,
0x65, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01,
0x28, 0x09, 0x52, 0x06, 0x63, 0x68, 0x61, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f,
0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x14, 0x0a,
0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x74,
0x61, 0x74, 0x65, 0x12, 0x46, 0x0a, 0x11, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x5f,
0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c,
0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x10, 0x72, 0x65, 0x76, 0x65, 0x61,
0x6c, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0x59, 0x0a, 0x18, 0x53,
0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x74,
0x72, 0x6f, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b,
0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x27, 0x0a,
0x0f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xe9, 0x01, 0x0a, 0x08, 0x53, 0x79, 0x6e, 0x63, 0x43,
0x68, 0x61, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x68, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65,
0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
0x6e, 0x61, 0x6d, 0x65, 0x12, 0x58, 0x0a, 0x16, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68,
0x69, 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x16, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68,
0x69, 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x16,
0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06,
0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18,
0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x14, 0x0a, 0x05,
0x6d, 0x75, 0x74, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6d, 0x75, 0x74,
0x65, 0x64, 0x22, 0x88, 0x02, 0x0a, 0x16, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69,
0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x14, 0x0a,
0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6c,
0x6f, 0x63, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65,
0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72,
0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75,
0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74,
0x75, 0x72, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06,
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x68, 0x61, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04,
0x66, 0x72, 0x6f, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d,
0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x61, 0x77, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18,
0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x72, 0x61, 0x77, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61,
0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09,
0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65,
0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x37, 0x0a,
0x0f, 0x53, 0x79, 0x6e, 0x63, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64,
0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x3c, 0x0a, 0x14, 0x53, 0x79, 0x6e, 0x63, 0x43, 0x68,
0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x61, 0x64, 0x12, 0x14,
0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63,
0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x02, 0x69, 0x64, 0x22, 0x40, 0x0a, 0x16, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x63, 0x74, 0x69,
0x76, 0x69, 0x74, 0x79, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x61, 0x64, 0x12, 0x14,
0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63,
0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
0x0c, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0x44, 0x0a, 0x1a, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x63,
0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65,
0x70, 0x74, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20,
0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64,
0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0x45, 0x0a, 0x1b,
0x53, 0x79, 0x6e, 0x63, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x43, 0x65, 0x6e, 0x74,
0x65, 0x72, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63,
0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x63,
0x6b, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x03,
0x69, 0x64, 0x73, 0x22, 0x43, 0x0a, 0x19, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x63, 0x74, 0x69, 0x76,
0x69, 0x74, 0x79, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64,
0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20,
0x03, 0x28, 0x0c, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0x42, 0x0a, 0x18, 0x53, 0x79, 0x6e, 0x63,
0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x55, 0x6e,
0x72, 0x65, 0x61, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20,
0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64,
0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0x5f, 0x0a, 0x23,
0x53, 0x79, 0x6e, 0x63, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x43, 0x65, 0x6e, 0x74,
0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74,
0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61,
0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64,
0x41, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x68, 0x61, 0x73, 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x18, 0x02,
0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x68, 0x61, 0x73, 0x53, 0x65, 0x65, 0x6e, 0x22, 0xa0, 0x01,
0x0a, 0x0c, 0x53, 0x79, 0x6e, 0x63, 0x42, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x14,
0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63,
0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03,
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6d,
0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69,
0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x6d, 0x6f, 0x76,
0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65,
0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18,
0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74,
0x22, 0x7e, 0x0a, 0x15, 0x53, 0x79, 0x6e, 0x63, 0x45, 0x6e, 0x73, 0x55, 0x73, 0x65, 0x72, 0x6e,
0x61, 0x6d, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f,
0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x12,
0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x63,
0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x63,
0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65,
0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64,
0x22, 0x4a, 0x0a, 0x10, 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x48, 0x69, 0x73,
0x74, 0x6f, 0x72, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x68, 0x61, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a,
0x0a, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
0x04, 0x52, 0x09, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x65, 0x64, 0x41, 0x74, 0x22, 0xc8, 0x01, 0x0a,
0x12, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74,
0x75, 0x72, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f,
0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61,
0x64, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d,
0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68,
0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12,
0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01,
0x28, 0x0d, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x23, 0x0a, 0x0d,
0x72, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x06, 0x20,
0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65,
0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04,
0x52, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x68, 0x0a, 0x13, 0x53, 0x79, 0x6e, 0x63, 0x50,
0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x17,
0x0a, 0x07, 0x6b, 0x65, 0x79, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x06, 0x6b, 0x65, 0x79, 0x55, 0x69, 0x64, 0x12, 0x38, 0x0a, 0x08, 0x70, 0x69, 0x63, 0x74, 0x75,
0x72, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x08, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65,
0x73, 0x22, 0xd0, 0x03, 0x0a, 0x0b, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04,
0x52, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65,
0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73,
0x73, 0x12, 0x17, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x06, 0x6b, 0x65, 0x79, 0x55, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75,
0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09,
0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74,
0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a,
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
0x65, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20,
0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05,
0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x6f,
0x6a, 0x69, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x18, 0x09, 0x20, 0x01,
0x28, 0x08, 0x52, 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x68,
0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x63, 0x68, 0x61, 0x74, 0x12, 0x16,
0x0a, 0x06, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06,
0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65,
0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64,
0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01,
0x28, 0x03, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x15,
0x70, 0x72, 0x6f, 0x64, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x43, 0x68, 0x61,
0x69, 0x6e, 0x49, 0x44, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x70, 0x72, 0x6f,
0x64, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49,
0x44, 0x73, 0x12, 0x34, 0x0a, 0x15, 0x74, 0x65, 0x73, 0x74, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72,
0x72, 0x65, 0x64, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28,
0x09, 0x52, 0x15, 0x74, 0x65, 0x73, 0x74, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64,
0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72,
0x61, 0x62, 0x6c, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72,
0x61, 0x62, 0x6c, 0x65, 0x22, 0x90, 0x03, 0x0a, 0x0b, 0x53, 0x79, 0x6e, 0x63, 0x4b, 0x65, 0x79,
0x70, 0x61, 0x69, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20,
0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x17, 0x0a, 0x07, 0x6b, 0x65,
0x79, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6b, 0x65, 0x79,
0x55, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18,
0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64,
0x65, 0x72, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0b, 0x64, 0x65, 0x72, 0x69, 0x76, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x3b,
0x0a, 0x1a, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x72, 0x69,
0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01,
0x28, 0x04, 0x52, 0x17, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x73, 0x65, 0x64, 0x44, 0x65, 0x72, 0x69,
0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x73,
0x79, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0a, 0x73, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x31, 0x0a, 0x08,
0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x63,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12,
0x31, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x63, 0x61, 0x72, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x79, 0x6e,
0x63, 0x4b, 0x65, 0x79, 0x63, 0x61, 0x72, 0x64, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x63, 0x61, 0x72,
0x64, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x0a, 0x20,
0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x10,
0x6b, 0x65, 0x79, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x73,
0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x6b, 0x65, 0x79, 0x63, 0x61, 0x72, 0x64, 0x50,
0x61, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x60, 0x0a, 0x15, 0x53, 0x79, 0x6e, 0x63, 0x41,
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x31, 0x0a, 0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e,
0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52,
0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0xf8, 0x01, 0x0a, 0x10, 0x53, 0x79,
0x6e, 0x63, 0x53, 0x61, 0x76, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18,
0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52,
0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09,
0x66, 0x61, 0x76, 0x6f, 0x75, 0x72, 0x69, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52,
0x09, 0x66, 0x61, 0x76, 0x6f, 0x75, 0x72, 0x69, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x6d,
0x6f, 0x76, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x63,
0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x75, 0x70, 0x64, 0x61,
0x74, 0x65, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x68, 0x61, 0x69, 0x6e,
0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x53, 0x68, 0x6f, 0x72, 0x74, 0x4e, 0x61,
0x6d, 0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09,
0x52, 0x03, 0x65, 0x6e, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x74, 0x65, 0x73, 0x74,
0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x54, 0x65, 0x73, 0x74, 0x4a, 0x04,
0x08, 0x04, 0x10, 0x05, 0x22, 0x97, 0x01, 0x0a, 0x15, 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6d,
0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x14,
0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63,
0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74,
0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d,
0x75, 0x6e, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x1f, 0x68, 0x69, 0x73, 0x74, 0x6f,
0x72, 0x79, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f,
0x72, 0x74, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
0x52, 0x1c, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65,
0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xb2,
0x01, 0x0a, 0x0f, 0x53, 0x79, 0x6e, 0x63, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x55, 0x73,
0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28,
0x04, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3d, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74,
0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x55,
0x73, 0x65, 0x72, 0x2e, 0x54, 0x72, 0x75, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x3a, 0x0a, 0x0b, 0x54, 0x72, 0x75, 0x73, 0x74,
0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57,
0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x52, 0x55, 0x53, 0x54, 0x45, 0x44, 0x10, 0x01,
0x12, 0x11, 0x0a, 0x0d, 0x55, 0x4e, 0x54, 0x52, 0x55, 0x53, 0x54, 0x57, 0x4f, 0x52, 0x54, 0x48,
0x59, 0x10, 0x02, 0x22, 0xa0, 0x03, 0x0a, 0x17, 0x53, 0x79, 0x6e, 0x63, 0x56, 0x65, 0x72, 0x69,
0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05,
0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x6f, 0x18,
0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61,
0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68,
0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x72,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x65,
0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x72, 0x65, 0x70, 0x6c,
0x69, 0x65, 0x64, 0x41, 0x74, 0x12, 0x65, 0x0a, 0x13, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01,
0x28, 0x0e, 0x32, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x79,
0x6e, 0x63, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x12, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69,
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x02,
0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x58, 0x0a, 0x12,
0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74,
0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12,
0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08,
0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45,
0x43, 0x4c, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x41, 0x4e, 0x43,
0x45, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x22, 0xdc, 0x01, 0x0a, 0x1a, 0x53, 0x79, 0x6e, 0x63, 0x43,
0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x44, 0x65, 0x63,
0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01,
0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x72,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x5c, 0x0a, 0x0f, 0x64, 0x65, 0x63,
0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01,
0x28, 0x0e, 0x32, 0x33, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x79,
0x6e, 0x63, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x44, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f,
0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0e, 0x64, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f,
0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x2c, 0x0a, 0x0e, 0x44, 0x65, 0x63, 0x69, 0x73,
0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x43, 0x43,
0x45, 0x50, 0x54, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x43, 0x4c, 0x49,
0x4e, 0x45, 0x44, 0x10, 0x01, 0x22, 0xc6, 0x02, 0x0a, 0x0f, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x64,
0x55, 0x70, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x6b, 0x65, 0x79,
0x5f, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6b, 0x65, 0x79, 0x55,
0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61,
0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61,
0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79,
0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28,
0x04, 0x52, 0x10, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x43, 0x6c,
0x6f, 0x63, 0x6b, 0x12, 0x38, 0x0a, 0x08, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18,
0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74,
0x75, 0x72, 0x65, 0x52, 0x08, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x3c, 0x0a,
0x0c, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x05, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53,
0x79, 0x6e, 0x63, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x0b,
0x73, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x51, 0x0a, 0x14, 0x65,
0x6e, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x61,
0x69, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x45, 0x6e, 0x73, 0x55, 0x73, 0x65, 0x72,
0x6e, 0x61, 0x6d, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x12, 0x65, 0x6e, 0x73, 0x55,
0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x73,
0x0a, 0x0a, 0x52, 0x61, 0x77, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07,
0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x70,
0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x4b, 0x0a, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54,
0x79, 0x70, 0x65, 0x22, 0xaa, 0x01, 0x0a, 0x0e, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x61, 0x77, 0x4d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x36, 0x0a, 0x0b, 0x72, 0x61, 0x77, 0x4d, 0x65, 0x73,
0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x52, 0x61, 0x77, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x52, 0x0b, 0x72, 0x61, 0x77, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x32,
0x0a, 0x14, 0x73, 0x75, 0x62, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x4a, 0x73, 0x6f,
0x6e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x14, 0x73, 0x75,
0x62, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x4a, 0x73, 0x6f, 0x6e, 0x42, 0x79, 0x74,
0x65, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4a, 0x73,
0x6f, 0x6e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x73,
0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4a, 0x73, 0x6f, 0x6e, 0x42, 0x79, 0x74, 0x65, 0x73,
0x22, 0x9e, 0x01, 0x0a, 0x0b, 0x53, 0x79, 0x6e, 0x63, 0x4b, 0x65, 0x79, 0x63, 0x61, 0x72, 0x64,
0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75,
0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64,
0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x17,
0x0a, 0x07, 0x6b, 0x65, 0x79, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
0x06, 0x6b, 0x65, 0x79, 0x55, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65,
0x73, 0x73, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72,
0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f,
0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f,
0x6e, 0x22, 0x60, 0x0a, 0x0f, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x4c,
0x69, 0x6e, 0x6b, 0x73, 0x12, 0x37, 0x0a, 0x0c, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x5f, 0x6c,
0x69, 0x6e, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b,
0x52, 0x0b, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x14, 0x0a,
0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6c,
0x6f, 0x63, 0x6b, 0x22, 0x88, 0x01, 0x0a, 0x1d, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x63, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64,
0x5f, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74,
0x65, 0x64, 0x41, 0x74, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x69, 0x7a,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x12, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x5f, 0x75, 0x69, 0x64,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6b, 0x65, 0x79, 0x55, 0x69, 0x64, 0x42, 0x0d,
0x5a, 0x0b, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x62, 0x06, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_pairing_proto_rawDescOnce sync.Once
file_pairing_proto_rawDescData = file_pairing_proto_rawDesc
)
func file_pairing_proto_rawDescGZIP() []byte {
file_pairing_proto_rawDescOnce.Do(func() {
file_pairing_proto_rawDescData = protoimpl.X.CompressGZIP(file_pairing_proto_rawDescData)
})
return file_pairing_proto_rawDescData
}
var file_pairing_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
var file_pairing_proto_msgTypes = make([]protoimpl.MessageInfo, 43)
var file_pairing_proto_goTypes = []interface{}{
(SyncTrustedUser_TrustStatus)(0), // 0: protobuf.SyncTrustedUser.TrustStatus
(SyncVerificationRequest_VerificationStatus)(0), // 1: protobuf.SyncVerificationRequest.VerificationStatus
(SyncContactRequestDecision_DecisionStatus)(0), // 2: protobuf.SyncContactRequestDecision.DecisionStatus
(*FetchingBackedUpDataDetails)(nil), // 3: protobuf.FetchingBackedUpDataDetails
(*Backup)(nil), // 4: protobuf.Backup
(*MultiAccount)(nil), // 5: protobuf.MultiAccount
(*LocalPairingPayload)(nil), // 6: protobuf.LocalPairingPayload
(*LocalPairingPeerHello)(nil), // 7: protobuf.LocalPairingPeerHello
(*SyncPairInstallation)(nil), // 8: protobuf.SyncPairInstallation
(*SyncInstallationContactV2)(nil), // 9: protobuf.SyncInstallationContactV2
(*SyncInstallationAccount)(nil), // 10: protobuf.SyncInstallationAccount
(*SyncInstallationCommunity)(nil), // 11: protobuf.SyncInstallationCommunity
(*SyncCommunityRequestsToJoin)(nil), // 12: protobuf.SyncCommunityRequestsToJoin
(*SyncCommunityControlNode)(nil), // 13: protobuf.SyncCommunityControlNode
(*SyncChat)(nil), // 14: protobuf.SyncChat
(*MembershipUpdateEvents)(nil), // 15: protobuf.MembershipUpdateEvents
(*SyncChatRemoved)(nil), // 16: protobuf.SyncChatRemoved
(*SyncChatMessagesRead)(nil), // 17: protobuf.SyncChatMessagesRead
(*SyncActivityCenterRead)(nil), // 18: protobuf.SyncActivityCenterRead
(*SyncActivityCenterAccepted)(nil), // 19: protobuf.SyncActivityCenterAccepted
(*SyncActivityCenterDismissed)(nil), // 20: protobuf.SyncActivityCenterDismissed
(*SyncActivityCenterDeleted)(nil), // 21: protobuf.SyncActivityCenterDeleted
(*SyncActivityCenterUnread)(nil), // 22: protobuf.SyncActivityCenterUnread
(*SyncActivityCenterNotificationState)(nil), // 23: protobuf.SyncActivityCenterNotificationState
(*SyncBookmark)(nil), // 24: protobuf.SyncBookmark
(*SyncEnsUsernameDetail)(nil), // 25: protobuf.SyncEnsUsernameDetail
(*SyncClearHistory)(nil), // 26: protobuf.SyncClearHistory
(*SyncProfilePicture)(nil), // 27: protobuf.SyncProfilePicture
(*SyncProfilePictures)(nil), // 28: protobuf.SyncProfilePictures
(*SyncAccount)(nil), // 29: protobuf.SyncAccount
(*SyncKeypair)(nil), // 30: protobuf.SyncKeypair
(*SyncAccountsPositions)(nil), // 31: protobuf.SyncAccountsPositions
(*SyncSavedAddress)(nil), // 32: protobuf.SyncSavedAddress
(*SyncCommunitySettings)(nil), // 33: protobuf.SyncCommunitySettings
(*SyncTrustedUser)(nil), // 34: protobuf.SyncTrustedUser
(*SyncVerificationRequest)(nil), // 35: protobuf.SyncVerificationRequest
(*SyncContactRequestDecision)(nil), // 36: protobuf.SyncContactRequestDecision
(*BackedUpProfile)(nil), // 37: protobuf.BackedUpProfile
(*RawMessage)(nil), // 38: protobuf.RawMessage
(*SyncRawMessage)(nil), // 39: protobuf.SyncRawMessage
(*SyncKeycard)(nil), // 40: protobuf.SyncKeycard
(*SyncSocialLinks)(nil), // 41: protobuf.SyncSocialLinks
(*SyncAccountCustomizationColor)(nil), // 42: protobuf.SyncAccountCustomizationColor
(*MultiAccount_ColorHash)(nil), // 43: protobuf.MultiAccount.ColorHash
(*MultiAccount_IdentityImage)(nil), // 44: protobuf.MultiAccount.IdentityImage
(*LocalPairingPayload_Key)(nil), // 45: protobuf.LocalPairingPayload.Key
(*SyncSetting)(nil), // 46: protobuf.SyncSetting
(*RevealedAccount)(nil), // 47: protobuf.RevealedAccount
(ApplicationMetadataMessage_Type)(0), // 48: protobuf.ApplicationMetadataMessage.Type
(*SocialLink)(nil), // 49: protobuf.SocialLink
}
var file_pairing_proto_depIdxs = []int32{
9, // 0: protobuf.Backup.contacts:type_name -> protobuf.SyncInstallationContactV2
11, // 1: protobuf.Backup.communities:type_name -> protobuf.SyncInstallationCommunity
3, // 2: protobuf.Backup.contactsDetails:type_name -> protobuf.FetchingBackedUpDataDetails
3, // 3: protobuf.Backup.communitiesDetails:type_name -> protobuf.FetchingBackedUpDataDetails
37, // 4: protobuf.Backup.profile:type_name -> protobuf.BackedUpProfile
3, // 5: protobuf.Backup.profileDetails:type_name -> protobuf.FetchingBackedUpDataDetails
46, // 6: protobuf.Backup.setting:type_name -> protobuf.SyncSetting
3, // 7: protobuf.Backup.settingsDetails:type_name -> protobuf.FetchingBackedUpDataDetails
30, // 8: protobuf.Backup.keypair:type_name -> protobuf.SyncKeypair
3, // 9: protobuf.Backup.keypairDetails:type_name -> protobuf.FetchingBackedUpDataDetails
29, // 10: protobuf.Backup.watchOnlyAccount:type_name -> protobuf.SyncAccount
3, // 11: protobuf.Backup.watchOnlyAccountDetails:type_name -> protobuf.FetchingBackedUpDataDetails
14, // 12: protobuf.Backup.chats:type_name -> protobuf.SyncChat
3, // 13: protobuf.Backup.chatsDetails:type_name -> protobuf.FetchingBackedUpDataDetails
43, // 14: protobuf.MultiAccount.color_hash:type_name -> protobuf.MultiAccount.ColorHash
44, // 15: protobuf.MultiAccount.images:type_name -> protobuf.MultiAccount.IdentityImage
45, // 16: protobuf.LocalPairingPayload.keys:type_name -> protobuf.LocalPairingPayload.Key
5, // 17: protobuf.LocalPairingPayload.multiaccount:type_name -> protobuf.MultiAccount
12, // 18: protobuf.SyncInstallationCommunity.requests_to_join:type_name -> protobuf.SyncCommunityRequestsToJoin
33, // 19: protobuf.SyncInstallationCommunity.settings:type_name -> protobuf.SyncCommunitySettings
13, // 20: protobuf.SyncInstallationCommunity.control_node:type_name -> protobuf.SyncCommunityControlNode
47, // 21: protobuf.SyncCommunityRequestsToJoin.revealed_accounts:type_name -> protobuf.RevealedAccount
15, // 22: protobuf.SyncChat.membershipUpdateEvents:type_name -> protobuf.MembershipUpdateEvents
27, // 23: protobuf.SyncProfilePictures.pictures:type_name -> protobuf.SyncProfilePicture
29, // 24: protobuf.SyncKeypair.accounts:type_name -> protobuf.SyncAccount
40, // 25: protobuf.SyncKeypair.keycards:type_name -> protobuf.SyncKeycard
29, // 26: protobuf.SyncAccountsPositions.accounts:type_name -> protobuf.SyncAccount
0, // 27: protobuf.SyncTrustedUser.status:type_name -> protobuf.SyncTrustedUser.TrustStatus
1, // 28: protobuf.SyncVerificationRequest.verification_status:type_name -> protobuf.SyncVerificationRequest.VerificationStatus
2, // 29: protobuf.SyncContactRequestDecision.decision_status:type_name -> protobuf.SyncContactRequestDecision.DecisionStatus
27, // 30: protobuf.BackedUpProfile.pictures:type_name -> protobuf.SyncProfilePicture
41, // 31: protobuf.BackedUpProfile.social_links:type_name -> protobuf.SyncSocialLinks
25, // 32: protobuf.BackedUpProfile.ens_username_details:type_name -> protobuf.SyncEnsUsernameDetail
48, // 33: protobuf.RawMessage.messageType:type_name -> protobuf.ApplicationMetadataMessage.Type
38, // 34: protobuf.SyncRawMessage.rawMessages:type_name -> protobuf.RawMessage
49, // 35: protobuf.SyncSocialLinks.social_links:type_name -> protobuf.SocialLink
36, // [36:36] is the sub-list for method output_type
36, // [36:36] is the sub-list for method input_type
36, // [36:36] is the sub-list for extension type_name
36, // [36:36] is the sub-list for extension extendee
0, // [0:36] is the sub-list for field type_name
}
func init() { file_pairing_proto_init() }
func file_pairing_proto_init() {
if File_pairing_proto != nil {
return
}
file_chat_identity_proto_init()
file_sync_settings_proto_init()
file_application_metadata_message_proto_init()
file_communities_proto_init()
if !protoimpl.UnsafeEnabled {
file_pairing_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FetchingBackedUpDataDetails); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Backup); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MultiAccount); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LocalPairingPayload); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LocalPairingPeerHello); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncPairInstallation); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncInstallationContactV2); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncInstallationAccount); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncInstallationCommunity); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncCommunityRequestsToJoin); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncCommunityControlNode); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncChat); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MembershipUpdateEvents); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncChatRemoved); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncChatMessagesRead); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncActivityCenterRead); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncActivityCenterAccepted); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncActivityCenterDismissed); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncActivityCenterDeleted); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncActivityCenterUnread); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncActivityCenterNotificationState); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncBookmark); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncEnsUsernameDetail); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncClearHistory); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncProfilePicture); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncProfilePictures); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncAccount); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncKeypair); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncAccountsPositions); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncSavedAddress); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncCommunitySettings); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncTrustedUser); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncVerificationRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncContactRequestDecision); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BackedUpProfile); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RawMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncRawMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncKeycard); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncSocialLinks); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncAccountCustomizationColor); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MultiAccount_ColorHash); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MultiAccount_IdentityImage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pairing_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LocalPairingPayload_Key); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_pairing_proto_rawDesc,
NumEnums: 3,
NumMessages: 43,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_pairing_proto_goTypes,
DependencyIndexes: file_pairing_proto_depIdxs,
EnumInfos: file_pairing_proto_enumTypes,
MessageInfos: file_pairing_proto_msgTypes,
}.Build()
File_pairing_proto = out.File
file_pairing_proto_rawDesc = nil
file_pairing_proto_goTypes = nil
file_pairing_proto_depIdxs = nil
}