diff --git a/api/protocol/protocoltypes.proto b/api/protocol/protocoltypes.proto index 4763c9ec..b4db4a38 100644 --- a/api/protocol/protocoltypes.proto +++ b/api/protocol/protocoltypes.proto @@ -42,6 +42,14 @@ service ProtocolService { // ContactRequestDiscard ignores a contact request, without informing the other user rpc ContactRequestDiscard (ContactRequestDiscard.Request) returns (ContactRequestDiscard.Reply); + // ShareContact uses ContactRequestReference to get the contact information for the current account and + // returns the Protobuf encoding of a shareable contact which you can further encode and share. If needed, this + // will reset the contact request reference and enable contact requests. To decode the result, see DecodeContact. + rpc ShareContact (ShareContact.Request) returns (ShareContact.Reply); + + // DecodeContact decodes the Protobuf encoding of a shareable contact which was returned by ShareContact. + rpc DecodeContact (DecodeContact.Request) returns (DecodeContact.Reply); + // ContactBlock blocks a contact from sending requests rpc ContactBlock (ContactBlock.Request) returns (ContactBlock.Reply); @@ -749,6 +757,25 @@ message ContactRequestDiscard { message Reply {} } +message ShareContact { + message Request {} + message Reply { + // encoded_contact is the Protobuf encoding of the ShareableContact. You can further encode the bytes for sharing, such as base58 or QR code. + bytes encoded_contact = 1; + } +} + +message DecodeContact { + message Request { + // encoded_contact is the Protobuf encoding of the shareable contact (as returned by ShareContact). + bytes encoded_contact = 1; + } + message Reply { + // shareable_contact is the decoded shareable contact. + ShareableContact contact = 1; + } +} + message ContactBlock { message Request { // contact_pk is the identifier of the contact to block diff --git a/api_contact_request_test.go b/api_contact_request_test.go new file mode 100644 index 00000000..412cadff --- /dev/null +++ b/api_contact_request_test.go @@ -0,0 +1,52 @@ +package weshnet + +import ( + "context" + "testing" + "time" + + libp2p_mocknet "github.com/berty/go-libp2p-mock" + "github.com/stretchr/testify/require" + + "berty.tech/weshnet/pkg/protocoltypes" + "berty.tech/weshnet/pkg/testutil" +) + +func TestShareContact(t *testing.T) { + ctx, cancel := context.WithTimeout(context.Background(), time.Second*20) + defer cancel() + logger, cleanup := testutil.Logger(t) + defer cleanup() + + opts := TestingOpts{ + Mocknet: libp2p_mocknet.New(), + Logger: logger, + } + + pts, cleanup := NewTestingProtocolWithMockedPeers(ctx, t, &opts, nil, 2) + defer cleanup() + + binaryContact, err := pts[0].Client.ShareContact(ctx, &protocoltypes.ShareContact_Request{}) + require.NoError(t, err) + + // Check that ShareContact reset the contact request reference and enabled contact requests. + contactRequestRef, err := pts[0].Client.ContactRequestReference(ctx, + &protocoltypes.ContactRequestReference_Request{}) + require.NoError(t, err) + + require.NotEqual(t, 0, len(contactRequestRef.PublicRendezvousSeed)) + require.Equal(t, true, contactRequestRef.Enabled) + + // Decode. + contact, err := pts[0].Client.DecodeContact(ctx, &protocoltypes.DecodeContact_Request{ + EncodedContact: binaryContact.EncodedContact, + }) + require.NoError(t, err) + + // Check for the expected info. + config, err := pts[0].Client.ServiceGetConfiguration(ctx, + &protocoltypes.ServiceGetConfiguration_Request{}) + require.NoError(t, err) + require.Equal(t, contact.Contact.PK, config.AccountPK) + require.Equal(t, contact.Contact.PublicRendezvousSeed, contactRequestRef.PublicRendezvousSeed) +} diff --git a/api_contactrequest.go b/api_contactrequest.go index e6b960d8..4451e23c 100644 --- a/api_contactrequest.go +++ b/api_contactrequest.go @@ -3,6 +3,7 @@ package weshnet import ( "context" + "github.com/gogo/protobuf/proto" "github.com/libp2p/go-libp2p/core/crypto" "berty.tech/weshnet/pkg/errcode" @@ -175,3 +176,69 @@ func (s *service) ContactRequestDiscard(ctx context.Context, req *protocoltypes. return &protocoltypes.ContactRequestDiscard_Reply{}, nil } + +// ShareContact uses ContactRequestReference to get the contact information for the current account and +// returns the Protobuf encoding which you can further encode and share. If needed, his will reset the +// contact request reference and enable contact requests. +func (s *service) ShareContact(ctx context.Context, req *protocoltypes.ShareContact_Request) (_ *protocoltypes.ShareContact_Reply, err error) { + accountGroup := s.getAccountGroup() + if accountGroup == nil { + return nil, errcode.ErrGroupMissing + } + + enabled, shareableContact := accountGroup.MetadataStore().GetIncomingContactRequestsStatus() + rdvSeed := []byte(nil) + + if shareableContact != nil { + rdvSeed = shareableContact.PublicRendezvousSeed + } + + if !enabled || len(rdvSeed) == 0 { + // We need to enable and reset the contact request reference. + if _, err := accountGroup.MetadataStore().ContactRequestEnable(ctx); err != nil { + return nil, errcode.ErrOrbitDBAppend.Wrap(err) + } + + if _, err := accountGroup.MetadataStore().ContactRequestReferenceReset(ctx); err != nil { + return nil, errcode.ErrOrbitDBAppend.Wrap(err) + } + + // Refresh the info. + _, shareableContact = accountGroup.MetadataStore().GetIncomingContactRequestsStatus() + rdvSeed = []byte(nil) + + if shareableContact != nil { + rdvSeed = shareableContact.PublicRendezvousSeed + } + } + + // Get the client's AccountPK. + member, err := accountGroup.MemberPubKey().Raw() + if err != nil { + return nil, errcode.ErrSerialization.Wrap(err) + } + + encodedContact, err := proto.Marshal(&protocoltypes.ShareableContact{ + PK: member, + PublicRendezvousSeed: rdvSeed, + }) + if err != nil { + return nil, err + } + + return &protocoltypes.ShareContact_Reply{ + EncodedContact: encodedContact, + }, nil +} + +// DecodeContact decodes the Protobuf encoding of a shareable contact which was returned by ShareContact. +func (s *service) DecodeContact(ctx context.Context, req *protocoltypes.DecodeContact_Request) (_ *protocoltypes.DecodeContact_Reply, err error) { + contact := &protocoltypes.ShareableContact{} + if err := proto.Unmarshal(req.EncodedContact, contact); err != nil { + panic(err) + } + + return &protocoltypes.DecodeContact_Reply{ + Contact: contact, + }, nil +} diff --git a/docs/apis/protocoltypes.md b/docs/apis/protocoltypes.md index 48ba97ac..57aaf568 100644 --- a/docs/apis/protocoltypes.md +++ b/docs/apis/protocoltypes.md @@ -90,6 +90,9 @@ - [DebugListGroups](#weshnet-protocol-v1-DebugListGroups) - [DebugListGroups.Reply](#weshnet-protocol-v1-DebugListGroups-Reply) - [DebugListGroups.Request](#weshnet-protocol-v1-DebugListGroups-Request) + - [DecodeContact](#weshnet-protocol-v1-DecodeContact) + - [DecodeContact.Reply](#weshnet-protocol-v1-DecodeContact-Reply) + - [DecodeContact.Request](#weshnet-protocol-v1-DecodeContact-Request) - [DeviceChainKey](#weshnet-protocol-v1-DeviceChainKey) - [EncryptedMessage](#weshnet-protocol-v1-EncryptedMessage) - [EventContext](#weshnet-protocol-v1-EventContext) @@ -187,6 +190,9 @@ - [ServicesTokenList](#weshnet-protocol-v1-ServicesTokenList) - [ServicesTokenList.Reply](#weshnet-protocol-v1-ServicesTokenList-Reply) - [ServicesTokenList.Request](#weshnet-protocol-v1-ServicesTokenList-Request) + - [ShareContact](#weshnet-protocol-v1-ShareContact) + - [ShareContact.Reply](#weshnet-protocol-v1-ShareContact-Reply) + - [ShareContact.Request](#weshnet-protocol-v1-ShareContact-Request) - [ShareableContact](#weshnet-protocol-v1-ShareableContact) - [SystemInfo](#weshnet-protocol-v1-SystemInfo) - [SystemInfo.OrbitDB](#weshnet-protocol-v1-SystemInfo-OrbitDB) @@ -831,6 +837,26 @@ ContactAddAliasKey is an event type where ones shares their alias public key ### DebugListGroups.Request + + +### DecodeContact + + + +### DecodeContact.Reply + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| contact | [ShareableContact](#weshnet-protocol-v1-ShareableContact) | | shareable_contact is the decoded shareable contact. | + + + +### DecodeContact.Request + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| encoded_contact | [bytes](#bytes) | | encoded_contact is the Protobuf encoding of the shareable contact (as returned by ShareContact). | + ### DeviceChainKey @@ -1623,6 +1649,22 @@ Progress define a generic object that can be used to display a progress bar for ### ServicesTokenList.Request + + +### ShareContact + + + +### ShareContact.Reply + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| encoded_contact | [bytes](#bytes) | | encoded_contact is the Protobuf encoding of the ShareableContact. You can further encode the bytes for sharing, such as base58 or QR code. | + + + +### ShareContact.Request + ### ShareableContact @@ -1879,6 +1921,8 @@ Each active Wesh protocol service is considered as a Wesh device and is associat | ContactRequestSend | [ContactRequestSend.Request](#weshnet-protocol-v1-ContactRequestSend-Request) | [ContactRequestSend.Reply](#weshnet-protocol-v1-ContactRequestSend-Reply) | ContactRequestSend attempt to send a contact request | | ContactRequestAccept | [ContactRequestAccept.Request](#weshnet-protocol-v1-ContactRequestAccept-Request) | [ContactRequestAccept.Reply](#weshnet-protocol-v1-ContactRequestAccept-Reply) | ContactRequestAccept accepts a contact request | | ContactRequestDiscard | [ContactRequestDiscard.Request](#weshnet-protocol-v1-ContactRequestDiscard-Request) | [ContactRequestDiscard.Reply](#weshnet-protocol-v1-ContactRequestDiscard-Reply) | ContactRequestDiscard ignores a contact request, without informing the other user | +| ShareContact | [ShareContact.Request](#weshnet-protocol-v1-ShareContact-Request) | [ShareContact.Reply](#weshnet-protocol-v1-ShareContact-Reply) | ShareContact uses ContactRequestReference to get the contact information for the current account and returns the Protobuf encoding of a shareable contact which you can further encode and share. If needed, this will reset the contact request reference and enable contact requests. To decode the result, see DecodeContact. | +| DecodeContact | [DecodeContact.Request](#weshnet-protocol-v1-DecodeContact-Request) | [DecodeContact.Reply](#weshnet-protocol-v1-DecodeContact-Reply) | DecodeContact decodes the Protobuf encoding of a shareable contact which was returned by ShareContact. | | ContactBlock | [ContactBlock.Request](#weshnet-protocol-v1-ContactBlock-Request) | [ContactBlock.Reply](#weshnet-protocol-v1-ContactBlock-Reply) | ContactBlock blocks a contact from sending requests | | ContactUnblock | [ContactUnblock.Request](#weshnet-protocol-v1-ContactUnblock-Request) | [ContactUnblock.Reply](#weshnet-protocol-v1-ContactUnblock-Reply) | ContactUnblock unblocks a contact from sending requests | | ContactAliasKeySend | [ContactAliasKeySend.Request](#weshnet-protocol-v1-ContactAliasKeySend-Request) | [ContactAliasKeySend.Reply](#weshnet-protocol-v1-ContactAliasKeySend-Reply) | ContactAliasKeySend send an alias key to a contact, the contact will be able to assert that your account is being present on a multi-member group | diff --git a/docs/apis/protocoltypes.swagger.json b/docs/apis/protocoltypes.swagger.json index d3593954..762a2101 100644 --- a/docs/apis/protocoltypes.swagger.json +++ b/docs/apis/protocoltypes.swagger.json @@ -498,6 +498,15 @@ } } }, + "v1DecodeContactReply": { + "type": "object", + "properties": { + "contact": { + "$ref": "#/definitions/v1ShareableContact", + "description": "shareable_contact is the decoded shareable contact." + } + } + }, "v1Direction": { "type": "string", "enum": [ @@ -1076,6 +1085,16 @@ } } }, + "v1ShareContactReply": { + "type": "object", + "properties": { + "encoded_contact": { + "type": "string", + "format": "byte", + "description": "encoded_contact is the Protobuf encoding of the ShareableContact. You can further encode the bytes for sharing, such as base58 or QR code." + } + } + }, "v1ShareableContact": { "type": "object", "properties": { diff --git a/pkg/protocoltypes/protocoltypes.pb.go b/pkg/protocoltypes/protocoltypes.pb.go index 86aae97c..80b257d2 100644 --- a/pkg/protocoltypes/protocoltypes.pb.go +++ b/pkg/protocoltypes/protocoltypes.pb.go @@ -345,7 +345,7 @@ func (x GroupDeviceStatus_Type) String() string { } func (GroupDeviceStatus_Type) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{62, 0} + return fileDescriptor_8aa93e54ccb19003, []int{64, 0} } type GroupDeviceStatus_Transport int32 @@ -376,7 +376,7 @@ func (x GroupDeviceStatus_Transport) String() string { } func (GroupDeviceStatus_Transport) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{62, 1} + return fileDescriptor_8aa93e54ccb19003, []int{64, 1} } type PeerList_Feature int32 @@ -413,7 +413,7 @@ func (x PeerList_Feature) String() string { } func (PeerList_Feature) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{81, 0} + return fileDescriptor_8aa93e54ccb19003, []int{83, 0} } // Account describes all the secrets that identifies an Account @@ -3857,6 +3857,267 @@ func (m *ContactRequestDiscard_Reply) XXX_DiscardUnknown() { var xxx_messageInfo_ContactRequestDiscard_Reply proto.InternalMessageInfo +type ShareContact struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ShareContact) Reset() { *m = ShareContact{} } +func (m *ShareContact) String() string { return proto.CompactTextString(m) } +func (*ShareContact) ProtoMessage() {} +func (*ShareContact) Descriptor() ([]byte, []int) { + return fileDescriptor_8aa93e54ccb19003, []int{44} +} +func (m *ShareContact) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ShareContact) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ShareContact.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ShareContact) XXX_Merge(src proto.Message) { + xxx_messageInfo_ShareContact.Merge(m, src) +} +func (m *ShareContact) XXX_Size() int { + return m.Size() +} +func (m *ShareContact) XXX_DiscardUnknown() { + xxx_messageInfo_ShareContact.DiscardUnknown(m) +} + +var xxx_messageInfo_ShareContact proto.InternalMessageInfo + +type ShareContact_Request struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ShareContact_Request) Reset() { *m = ShareContact_Request{} } +func (m *ShareContact_Request) String() string { return proto.CompactTextString(m) } +func (*ShareContact_Request) ProtoMessage() {} +func (*ShareContact_Request) Descriptor() ([]byte, []int) { + return fileDescriptor_8aa93e54ccb19003, []int{44, 0} +} +func (m *ShareContact_Request) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ShareContact_Request) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ShareContact_Request.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ShareContact_Request) XXX_Merge(src proto.Message) { + xxx_messageInfo_ShareContact_Request.Merge(m, src) +} +func (m *ShareContact_Request) XXX_Size() int { + return m.Size() +} +func (m *ShareContact_Request) XXX_DiscardUnknown() { + xxx_messageInfo_ShareContact_Request.DiscardUnknown(m) +} + +var xxx_messageInfo_ShareContact_Request proto.InternalMessageInfo + +type ShareContact_Reply struct { + // encoded_contact is the Protobuf encoding of the ShareableContact. You can further encode the bytes for sharing, such as base58 or QR code. + EncodedContact []byte `protobuf:"bytes,1,opt,name=encoded_contact,json=encodedContact,proto3" json:"encoded_contact,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ShareContact_Reply) Reset() { *m = ShareContact_Reply{} } +func (m *ShareContact_Reply) String() string { return proto.CompactTextString(m) } +func (*ShareContact_Reply) ProtoMessage() {} +func (*ShareContact_Reply) Descriptor() ([]byte, []int) { + return fileDescriptor_8aa93e54ccb19003, []int{44, 1} +} +func (m *ShareContact_Reply) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ShareContact_Reply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ShareContact_Reply.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ShareContact_Reply) XXX_Merge(src proto.Message) { + xxx_messageInfo_ShareContact_Reply.Merge(m, src) +} +func (m *ShareContact_Reply) XXX_Size() int { + return m.Size() +} +func (m *ShareContact_Reply) XXX_DiscardUnknown() { + xxx_messageInfo_ShareContact_Reply.DiscardUnknown(m) +} + +var xxx_messageInfo_ShareContact_Reply proto.InternalMessageInfo + +func (m *ShareContact_Reply) GetEncodedContact() []byte { + if m != nil { + return m.EncodedContact + } + return nil +} + +type DecodeContact struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DecodeContact) Reset() { *m = DecodeContact{} } +func (m *DecodeContact) String() string { return proto.CompactTextString(m) } +func (*DecodeContact) ProtoMessage() {} +func (*DecodeContact) Descriptor() ([]byte, []int) { + return fileDescriptor_8aa93e54ccb19003, []int{45} +} +func (m *DecodeContact) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *DecodeContact) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_DecodeContact.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *DecodeContact) XXX_Merge(src proto.Message) { + xxx_messageInfo_DecodeContact.Merge(m, src) +} +func (m *DecodeContact) XXX_Size() int { + return m.Size() +} +func (m *DecodeContact) XXX_DiscardUnknown() { + xxx_messageInfo_DecodeContact.DiscardUnknown(m) +} + +var xxx_messageInfo_DecodeContact proto.InternalMessageInfo + +type DecodeContact_Request struct { + // encoded_contact is the Protobuf encoding of the shareable contact (as returned by ShareContact). + EncodedContact []byte `protobuf:"bytes,1,opt,name=encoded_contact,json=encodedContact,proto3" json:"encoded_contact,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DecodeContact_Request) Reset() { *m = DecodeContact_Request{} } +func (m *DecodeContact_Request) String() string { return proto.CompactTextString(m) } +func (*DecodeContact_Request) ProtoMessage() {} +func (*DecodeContact_Request) Descriptor() ([]byte, []int) { + return fileDescriptor_8aa93e54ccb19003, []int{45, 0} +} +func (m *DecodeContact_Request) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *DecodeContact_Request) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_DecodeContact_Request.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *DecodeContact_Request) XXX_Merge(src proto.Message) { + xxx_messageInfo_DecodeContact_Request.Merge(m, src) +} +func (m *DecodeContact_Request) XXX_Size() int { + return m.Size() +} +func (m *DecodeContact_Request) XXX_DiscardUnknown() { + xxx_messageInfo_DecodeContact_Request.DiscardUnknown(m) +} + +var xxx_messageInfo_DecodeContact_Request proto.InternalMessageInfo + +func (m *DecodeContact_Request) GetEncodedContact() []byte { + if m != nil { + return m.EncodedContact + } + return nil +} + +type DecodeContact_Reply struct { + // shareable_contact is the decoded shareable contact. + Contact *ShareableContact `protobuf:"bytes,1,opt,name=contact,proto3" json:"contact,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DecodeContact_Reply) Reset() { *m = DecodeContact_Reply{} } +func (m *DecodeContact_Reply) String() string { return proto.CompactTextString(m) } +func (*DecodeContact_Reply) ProtoMessage() {} +func (*DecodeContact_Reply) Descriptor() ([]byte, []int) { + return fileDescriptor_8aa93e54ccb19003, []int{45, 1} +} +func (m *DecodeContact_Reply) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *DecodeContact_Reply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_DecodeContact_Reply.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *DecodeContact_Reply) XXX_Merge(src proto.Message) { + xxx_messageInfo_DecodeContact_Reply.Merge(m, src) +} +func (m *DecodeContact_Reply) XXX_Size() int { + return m.Size() +} +func (m *DecodeContact_Reply) XXX_DiscardUnknown() { + xxx_messageInfo_DecodeContact_Reply.DiscardUnknown(m) +} + +var xxx_messageInfo_DecodeContact_Reply proto.InternalMessageInfo + +func (m *DecodeContact_Reply) GetContact() *ShareableContact { + if m != nil { + return m.Contact + } + return nil +} + type ContactBlock struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -3867,7 +4128,7 @@ func (m *ContactBlock) Reset() { *m = ContactBlock{} } func (m *ContactBlock) String() string { return proto.CompactTextString(m) } func (*ContactBlock) ProtoMessage() {} func (*ContactBlock) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{44} + return fileDescriptor_8aa93e54ccb19003, []int{46} } func (m *ContactBlock) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3908,7 +4169,7 @@ func (m *ContactBlock_Request) Reset() { *m = ContactBlock_Request{} } func (m *ContactBlock_Request) String() string { return proto.CompactTextString(m) } func (*ContactBlock_Request) ProtoMessage() {} func (*ContactBlock_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{44, 0} + return fileDescriptor_8aa93e54ccb19003, []int{46, 0} } func (m *ContactBlock_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3954,7 +4215,7 @@ func (m *ContactBlock_Reply) Reset() { *m = ContactBlock_Reply{} } func (m *ContactBlock_Reply) String() string { return proto.CompactTextString(m) } func (*ContactBlock_Reply) ProtoMessage() {} func (*ContactBlock_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{44, 1} + return fileDescriptor_8aa93e54ccb19003, []int{46, 1} } func (m *ContactBlock_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3993,7 +4254,7 @@ func (m *ContactUnblock) Reset() { *m = ContactUnblock{} } func (m *ContactUnblock) String() string { return proto.CompactTextString(m) } func (*ContactUnblock) ProtoMessage() {} func (*ContactUnblock) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{45} + return fileDescriptor_8aa93e54ccb19003, []int{47} } func (m *ContactUnblock) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4034,7 +4295,7 @@ func (m *ContactUnblock_Request) Reset() { *m = ContactUnblock_Request{} func (m *ContactUnblock_Request) String() string { return proto.CompactTextString(m) } func (*ContactUnblock_Request) ProtoMessage() {} func (*ContactUnblock_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{45, 0} + return fileDescriptor_8aa93e54ccb19003, []int{47, 0} } func (m *ContactUnblock_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4080,7 +4341,7 @@ func (m *ContactUnblock_Reply) Reset() { *m = ContactUnblock_Reply{} } func (m *ContactUnblock_Reply) String() string { return proto.CompactTextString(m) } func (*ContactUnblock_Reply) ProtoMessage() {} func (*ContactUnblock_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{45, 1} + return fileDescriptor_8aa93e54ccb19003, []int{47, 1} } func (m *ContactUnblock_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4119,7 +4380,7 @@ func (m *ContactAliasKeySend) Reset() { *m = ContactAliasKeySend{} } func (m *ContactAliasKeySend) String() string { return proto.CompactTextString(m) } func (*ContactAliasKeySend) ProtoMessage() {} func (*ContactAliasKeySend) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{46} + return fileDescriptor_8aa93e54ccb19003, []int{48} } func (m *ContactAliasKeySend) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4160,7 +4421,7 @@ func (m *ContactAliasKeySend_Request) Reset() { *m = ContactAliasKeySend func (m *ContactAliasKeySend_Request) String() string { return proto.CompactTextString(m) } func (*ContactAliasKeySend_Request) ProtoMessage() {} func (*ContactAliasKeySend_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{46, 0} + return fileDescriptor_8aa93e54ccb19003, []int{48, 0} } func (m *ContactAliasKeySend_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4206,7 +4467,7 @@ func (m *ContactAliasKeySend_Reply) Reset() { *m = ContactAliasKeySend_R func (m *ContactAliasKeySend_Reply) String() string { return proto.CompactTextString(m) } func (*ContactAliasKeySend_Reply) ProtoMessage() {} func (*ContactAliasKeySend_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{46, 1} + return fileDescriptor_8aa93e54ccb19003, []int{48, 1} } func (m *ContactAliasKeySend_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4245,7 +4506,7 @@ func (m *MultiMemberGroupCreate) Reset() { *m = MultiMemberGroupCreate{} func (m *MultiMemberGroupCreate) String() string { return proto.CompactTextString(m) } func (*MultiMemberGroupCreate) ProtoMessage() {} func (*MultiMemberGroupCreate) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{47} + return fileDescriptor_8aa93e54ccb19003, []int{49} } func (m *MultiMemberGroupCreate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4284,7 +4545,7 @@ func (m *MultiMemberGroupCreate_Request) Reset() { *m = MultiMemberGroup func (m *MultiMemberGroupCreate_Request) String() string { return proto.CompactTextString(m) } func (*MultiMemberGroupCreate_Request) ProtoMessage() {} func (*MultiMemberGroupCreate_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{47, 0} + return fileDescriptor_8aa93e54ccb19003, []int{49, 0} } func (m *MultiMemberGroupCreate_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4325,7 +4586,7 @@ func (m *MultiMemberGroupCreate_Reply) Reset() { *m = MultiMemberGroupCr func (m *MultiMemberGroupCreate_Reply) String() string { return proto.CompactTextString(m) } func (*MultiMemberGroupCreate_Reply) ProtoMessage() {} func (*MultiMemberGroupCreate_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{47, 1} + return fileDescriptor_8aa93e54ccb19003, []int{49, 1} } func (m *MultiMemberGroupCreate_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4371,7 +4632,7 @@ func (m *MultiMemberGroupJoin) Reset() { *m = MultiMemberGroupJoin{} } func (m *MultiMemberGroupJoin) String() string { return proto.CompactTextString(m) } func (*MultiMemberGroupJoin) ProtoMessage() {} func (*MultiMemberGroupJoin) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{48} + return fileDescriptor_8aa93e54ccb19003, []int{50} } func (m *MultiMemberGroupJoin) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4412,7 +4673,7 @@ func (m *MultiMemberGroupJoin_Request) Reset() { *m = MultiMemberGroupJo func (m *MultiMemberGroupJoin_Request) String() string { return proto.CompactTextString(m) } func (*MultiMemberGroupJoin_Request) ProtoMessage() {} func (*MultiMemberGroupJoin_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{48, 0} + return fileDescriptor_8aa93e54ccb19003, []int{50, 0} } func (m *MultiMemberGroupJoin_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4458,7 +4719,7 @@ func (m *MultiMemberGroupJoin_Reply) Reset() { *m = MultiMemberGroupJoin func (m *MultiMemberGroupJoin_Reply) String() string { return proto.CompactTextString(m) } func (*MultiMemberGroupJoin_Reply) ProtoMessage() {} func (*MultiMemberGroupJoin_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{48, 1} + return fileDescriptor_8aa93e54ccb19003, []int{50, 1} } func (m *MultiMemberGroupJoin_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4497,7 +4758,7 @@ func (m *MultiMemberGroupLeave) Reset() { *m = MultiMemberGroupLeave{} } func (m *MultiMemberGroupLeave) String() string { return proto.CompactTextString(m) } func (*MultiMemberGroupLeave) ProtoMessage() {} func (*MultiMemberGroupLeave) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{49} + return fileDescriptor_8aa93e54ccb19003, []int{51} } func (m *MultiMemberGroupLeave) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4537,7 +4798,7 @@ func (m *MultiMemberGroupLeave_Request) Reset() { *m = MultiMemberGroupL func (m *MultiMemberGroupLeave_Request) String() string { return proto.CompactTextString(m) } func (*MultiMemberGroupLeave_Request) ProtoMessage() {} func (*MultiMemberGroupLeave_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{49, 0} + return fileDescriptor_8aa93e54ccb19003, []int{51, 0} } func (m *MultiMemberGroupLeave_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4583,7 +4844,7 @@ func (m *MultiMemberGroupLeave_Reply) Reset() { *m = MultiMemberGroupLea func (m *MultiMemberGroupLeave_Reply) String() string { return proto.CompactTextString(m) } func (*MultiMemberGroupLeave_Reply) ProtoMessage() {} func (*MultiMemberGroupLeave_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{49, 1} + return fileDescriptor_8aa93e54ccb19003, []int{51, 1} } func (m *MultiMemberGroupLeave_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4622,7 +4883,7 @@ func (m *MultiMemberGroupAliasResolverDisclose) Reset() { *m = MultiMemb func (m *MultiMemberGroupAliasResolverDisclose) String() string { return proto.CompactTextString(m) } func (*MultiMemberGroupAliasResolverDisclose) ProtoMessage() {} func (*MultiMemberGroupAliasResolverDisclose) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{50} + return fileDescriptor_8aa93e54ccb19003, []int{52} } func (m *MultiMemberGroupAliasResolverDisclose) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4667,7 +4928,7 @@ func (m *MultiMemberGroupAliasResolverDisclose_Request) String() string { } func (*MultiMemberGroupAliasResolverDisclose_Request) ProtoMessage() {} func (*MultiMemberGroupAliasResolverDisclose_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{50, 0} + return fileDescriptor_8aa93e54ccb19003, []int{52, 0} } func (m *MultiMemberGroupAliasResolverDisclose_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4717,7 +4978,7 @@ func (m *MultiMemberGroupAliasResolverDisclose_Reply) String() string { } func (*MultiMemberGroupAliasResolverDisclose_Reply) ProtoMessage() {} func (*MultiMemberGroupAliasResolverDisclose_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{50, 1} + return fileDescriptor_8aa93e54ccb19003, []int{52, 1} } func (m *MultiMemberGroupAliasResolverDisclose_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4756,7 +5017,7 @@ func (m *MultiMemberGroupAdminRoleGrant) Reset() { *m = MultiMemberGroup func (m *MultiMemberGroupAdminRoleGrant) String() string { return proto.CompactTextString(m) } func (*MultiMemberGroupAdminRoleGrant) ProtoMessage() {} func (*MultiMemberGroupAdminRoleGrant) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{51} + return fileDescriptor_8aa93e54ccb19003, []int{53} } func (m *MultiMemberGroupAdminRoleGrant) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4801,7 +5062,7 @@ func (m *MultiMemberGroupAdminRoleGrant_Request) Reset() { func (m *MultiMemberGroupAdminRoleGrant_Request) String() string { return proto.CompactTextString(m) } func (*MultiMemberGroupAdminRoleGrant_Request) ProtoMessage() {} func (*MultiMemberGroupAdminRoleGrant_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{51, 0} + return fileDescriptor_8aa93e54ccb19003, []int{53, 0} } func (m *MultiMemberGroupAdminRoleGrant_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4854,7 +5115,7 @@ func (m *MultiMemberGroupAdminRoleGrant_Reply) Reset() { *m = MultiMembe func (m *MultiMemberGroupAdminRoleGrant_Reply) String() string { return proto.CompactTextString(m) } func (*MultiMemberGroupAdminRoleGrant_Reply) ProtoMessage() {} func (*MultiMemberGroupAdminRoleGrant_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{51, 1} + return fileDescriptor_8aa93e54ccb19003, []int{53, 1} } func (m *MultiMemberGroupAdminRoleGrant_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4893,7 +5154,7 @@ func (m *MultiMemberGroupInvitationCreate) Reset() { *m = MultiMemberGro func (m *MultiMemberGroupInvitationCreate) String() string { return proto.CompactTextString(m) } func (*MultiMemberGroupInvitationCreate) ProtoMessage() {} func (*MultiMemberGroupInvitationCreate) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{52} + return fileDescriptor_8aa93e54ccb19003, []int{54} } func (m *MultiMemberGroupInvitationCreate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4936,7 +5197,7 @@ func (m *MultiMemberGroupInvitationCreate_Request) Reset() { func (m *MultiMemberGroupInvitationCreate_Request) String() string { return proto.CompactTextString(m) } func (*MultiMemberGroupInvitationCreate_Request) ProtoMessage() {} func (*MultiMemberGroupInvitationCreate_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{52, 0} + return fileDescriptor_8aa93e54ccb19003, []int{54, 0} } func (m *MultiMemberGroupInvitationCreate_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4986,7 +5247,7 @@ func (m *MultiMemberGroupInvitationCreate_Reply) Reset() { func (m *MultiMemberGroupInvitationCreate_Reply) String() string { return proto.CompactTextString(m) } func (*MultiMemberGroupInvitationCreate_Reply) ProtoMessage() {} func (*MultiMemberGroupInvitationCreate_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{52, 1} + return fileDescriptor_8aa93e54ccb19003, []int{54, 1} } func (m *MultiMemberGroupInvitationCreate_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5032,7 +5293,7 @@ func (m *AppMetadataSend) Reset() { *m = AppMetadataSend{} } func (m *AppMetadataSend) String() string { return proto.CompactTextString(m) } func (*AppMetadataSend) ProtoMessage() {} func (*AppMetadataSend) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{53} + return fileDescriptor_8aa93e54ccb19003, []int{55} } func (m *AppMetadataSend) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5075,7 +5336,7 @@ func (m *AppMetadataSend_Request) Reset() { *m = AppMetadataSend_Request func (m *AppMetadataSend_Request) String() string { return proto.CompactTextString(m) } func (*AppMetadataSend_Request) ProtoMessage() {} func (*AppMetadataSend_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{53, 0} + return fileDescriptor_8aa93e54ccb19003, []int{55, 0} } func (m *AppMetadataSend_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5129,7 +5390,7 @@ func (m *AppMetadataSend_Reply) Reset() { *m = AppMetadataSend_Reply{} } func (m *AppMetadataSend_Reply) String() string { return proto.CompactTextString(m) } func (*AppMetadataSend_Reply) ProtoMessage() {} func (*AppMetadataSend_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{53, 1} + return fileDescriptor_8aa93e54ccb19003, []int{55, 1} } func (m *AppMetadataSend_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5175,7 +5436,7 @@ func (m *AppMessageSend) Reset() { *m = AppMessageSend{} } func (m *AppMessageSend) String() string { return proto.CompactTextString(m) } func (*AppMessageSend) ProtoMessage() {} func (*AppMessageSend) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{54} + return fileDescriptor_8aa93e54ccb19003, []int{56} } func (m *AppMessageSend) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5218,7 +5479,7 @@ func (m *AppMessageSend_Request) Reset() { *m = AppMessageSend_Request{} func (m *AppMessageSend_Request) String() string { return proto.CompactTextString(m) } func (*AppMessageSend_Request) ProtoMessage() {} func (*AppMessageSend_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{54, 0} + return fileDescriptor_8aa93e54ccb19003, []int{56, 0} } func (m *AppMessageSend_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5272,7 +5533,7 @@ func (m *AppMessageSend_Reply) Reset() { *m = AppMessageSend_Reply{} } func (m *AppMessageSend_Reply) String() string { return proto.CompactTextString(m) } func (*AppMessageSend_Reply) ProtoMessage() {} func (*AppMessageSend_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{54, 1} + return fileDescriptor_8aa93e54ccb19003, []int{56, 1} } func (m *AppMessageSend_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5324,7 +5585,7 @@ func (m *GroupMetadataEvent) Reset() { *m = GroupMetadataEvent{} } func (m *GroupMetadataEvent) String() string { return proto.CompactTextString(m) } func (*GroupMetadataEvent) ProtoMessage() {} func (*GroupMetadataEvent) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{55} + return fileDescriptor_8aa93e54ccb19003, []int{57} } func (m *GroupMetadataEvent) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5390,7 +5651,7 @@ func (m *GroupMessageEvent) Reset() { *m = GroupMessageEvent{} } func (m *GroupMessageEvent) String() string { return proto.CompactTextString(m) } func (*GroupMessageEvent) ProtoMessage() {} func (*GroupMessageEvent) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{56} + return fileDescriptor_8aa93e54ccb19003, []int{58} } func (m *GroupMessageEvent) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5450,7 +5711,7 @@ func (m *GroupMetadataList) Reset() { *m = GroupMetadataList{} } func (m *GroupMetadataList) String() string { return proto.CompactTextString(m) } func (*GroupMetadataList) ProtoMessage() {} func (*GroupMetadataList) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{57} + return fileDescriptor_8aa93e54ccb19003, []int{59} } func (m *GroupMetadataList) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5506,7 +5767,7 @@ func (m *GroupMetadataList_Request) Reset() { *m = GroupMetadataList_Req func (m *GroupMetadataList_Request) String() string { return proto.CompactTextString(m) } func (*GroupMetadataList_Request) ProtoMessage() {} func (*GroupMetadataList_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{57, 0} + return fileDescriptor_8aa93e54ccb19003, []int{59, 0} } func (m *GroupMetadataList_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5587,7 +5848,7 @@ func (m *GroupMessageList) Reset() { *m = GroupMessageList{} } func (m *GroupMessageList) String() string { return proto.CompactTextString(m) } func (*GroupMessageList) ProtoMessage() {} func (*GroupMessageList) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{58} + return fileDescriptor_8aa93e54ccb19003, []int{60} } func (m *GroupMessageList) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5643,7 +5904,7 @@ func (m *GroupMessageList_Request) Reset() { *m = GroupMessageList_Reque func (m *GroupMessageList_Request) String() string { return proto.CompactTextString(m) } func (*GroupMessageList_Request) ProtoMessage() {} func (*GroupMessageList_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{58, 0} + return fileDescriptor_8aa93e54ccb19003, []int{60, 0} } func (m *GroupMessageList_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5724,7 +5985,7 @@ func (m *GroupInfo) Reset() { *m = GroupInfo{} } func (m *GroupInfo) String() string { return proto.CompactTextString(m) } func (*GroupInfo) ProtoMessage() {} func (*GroupInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{59} + return fileDescriptor_8aa93e54ccb19003, []int{61} } func (m *GroupInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5767,7 +6028,7 @@ func (m *GroupInfo_Request) Reset() { *m = GroupInfo_Request{} } func (m *GroupInfo_Request) String() string { return proto.CompactTextString(m) } func (*GroupInfo_Request) ProtoMessage() {} func (*GroupInfo_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{59, 0} + return fileDescriptor_8aa93e54ccb19003, []int{61, 0} } func (m *GroupInfo_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5826,7 +6087,7 @@ func (m *GroupInfo_Reply) Reset() { *m = GroupInfo_Reply{} } func (m *GroupInfo_Reply) String() string { return proto.CompactTextString(m) } func (*GroupInfo_Reply) ProtoMessage() {} func (*GroupInfo_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{59, 1} + return fileDescriptor_8aa93e54ccb19003, []int{61, 1} } func (m *GroupInfo_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5886,7 +6147,7 @@ func (m *ActivateGroup) Reset() { *m = ActivateGroup{} } func (m *ActivateGroup) String() string { return proto.CompactTextString(m) } func (*ActivateGroup) ProtoMessage() {} func (*ActivateGroup) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{60} + return fileDescriptor_8aa93e54ccb19003, []int{62} } func (m *ActivateGroup) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5930,7 +6191,7 @@ func (m *ActivateGroup_Request) Reset() { *m = ActivateGroup_Request{} } func (m *ActivateGroup_Request) String() string { return proto.CompactTextString(m) } func (*ActivateGroup_Request) ProtoMessage() {} func (*ActivateGroup_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{60, 0} + return fileDescriptor_8aa93e54ccb19003, []int{62, 0} } func (m *ActivateGroup_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5983,7 +6244,7 @@ func (m *ActivateGroup_Reply) Reset() { *m = ActivateGroup_Reply{} } func (m *ActivateGroup_Reply) String() string { return proto.CompactTextString(m) } func (*ActivateGroup_Reply) ProtoMessage() {} func (*ActivateGroup_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{60, 1} + return fileDescriptor_8aa93e54ccb19003, []int{62, 1} } func (m *ActivateGroup_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6022,7 +6283,7 @@ func (m *DeactivateGroup) Reset() { *m = DeactivateGroup{} } func (m *DeactivateGroup) String() string { return proto.CompactTextString(m) } func (*DeactivateGroup) ProtoMessage() {} func (*DeactivateGroup) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{61} + return fileDescriptor_8aa93e54ccb19003, []int{63} } func (m *DeactivateGroup) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6063,7 +6324,7 @@ func (m *DeactivateGroup_Request) Reset() { *m = DeactivateGroup_Request func (m *DeactivateGroup_Request) String() string { return proto.CompactTextString(m) } func (*DeactivateGroup_Request) ProtoMessage() {} func (*DeactivateGroup_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{61, 0} + return fileDescriptor_8aa93e54ccb19003, []int{63, 0} } func (m *DeactivateGroup_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6109,7 +6370,7 @@ func (m *DeactivateGroup_Reply) Reset() { *m = DeactivateGroup_Reply{} } func (m *DeactivateGroup_Reply) String() string { return proto.CompactTextString(m) } func (*DeactivateGroup_Reply) ProtoMessage() {} func (*DeactivateGroup_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{61, 1} + return fileDescriptor_8aa93e54ccb19003, []int{63, 1} } func (m *DeactivateGroup_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6148,7 +6409,7 @@ func (m *GroupDeviceStatus) Reset() { *m = GroupDeviceStatus{} } func (m *GroupDeviceStatus) String() string { return proto.CompactTextString(m) } func (*GroupDeviceStatus) ProtoMessage() {} func (*GroupDeviceStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{62} + return fileDescriptor_8aa93e54ccb19003, []int{64} } func (m *GroupDeviceStatus) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6188,7 +6449,7 @@ func (m *GroupDeviceStatus_Request) Reset() { *m = GroupDeviceStatus_Req func (m *GroupDeviceStatus_Request) String() string { return proto.CompactTextString(m) } func (*GroupDeviceStatus_Request) ProtoMessage() {} func (*GroupDeviceStatus_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{62, 0} + return fileDescriptor_8aa93e54ccb19003, []int{64, 0} } func (m *GroupDeviceStatus_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6236,7 +6497,7 @@ func (m *GroupDeviceStatus_Reply) Reset() { *m = GroupDeviceStatus_Reply func (m *GroupDeviceStatus_Reply) String() string { return proto.CompactTextString(m) } func (*GroupDeviceStatus_Reply) ProtoMessage() {} func (*GroupDeviceStatus_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{62, 1} + return fileDescriptor_8aa93e54ccb19003, []int{64, 1} } func (m *GroupDeviceStatus_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6293,7 +6554,7 @@ func (m *GroupDeviceStatus_Reply_PeerConnected) Reset() { *m = GroupDevi func (m *GroupDeviceStatus_Reply_PeerConnected) String() string { return proto.CompactTextString(m) } func (*GroupDeviceStatus_Reply_PeerConnected) ProtoMessage() {} func (*GroupDeviceStatus_Reply_PeerConnected) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{62, 1, 0} + return fileDescriptor_8aa93e54ccb19003, []int{64, 1, 0} } func (m *GroupDeviceStatus_Reply_PeerConnected) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6363,7 +6624,7 @@ func (m *GroupDeviceStatus_Reply_PeerReconnecting) Reset() { func (m *GroupDeviceStatus_Reply_PeerReconnecting) String() string { return proto.CompactTextString(m) } func (*GroupDeviceStatus_Reply_PeerReconnecting) ProtoMessage() {} func (*GroupDeviceStatus_Reply_PeerReconnecting) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{62, 1, 1} + return fileDescriptor_8aa93e54ccb19003, []int{64, 1, 1} } func (m *GroupDeviceStatus_Reply_PeerReconnecting) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6412,7 +6673,7 @@ func (m *GroupDeviceStatus_Reply_PeerDisconnected) Reset() { func (m *GroupDeviceStatus_Reply_PeerDisconnected) String() string { return proto.CompactTextString(m) } func (*GroupDeviceStatus_Reply_PeerDisconnected) ProtoMessage() {} func (*GroupDeviceStatus_Reply_PeerDisconnected) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{62, 1, 2} + return fileDescriptor_8aa93e54ccb19003, []int{64, 1, 2} } func (m *GroupDeviceStatus_Reply_PeerDisconnected) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6458,7 +6719,7 @@ func (m *DebugListGroups) Reset() { *m = DebugListGroups{} } func (m *DebugListGroups) String() string { return proto.CompactTextString(m) } func (*DebugListGroups) ProtoMessage() {} func (*DebugListGroups) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{63} + return fileDescriptor_8aa93e54ccb19003, []int{65} } func (m *DebugListGroups) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6497,7 +6758,7 @@ func (m *DebugListGroups_Request) Reset() { *m = DebugListGroups_Request func (m *DebugListGroups_Request) String() string { return proto.CompactTextString(m) } func (*DebugListGroups_Request) ProtoMessage() {} func (*DebugListGroups_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{63, 0} + return fileDescriptor_8aa93e54ccb19003, []int{65, 0} } func (m *DebugListGroups_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6542,7 +6803,7 @@ func (m *DebugListGroups_Reply) Reset() { *m = DebugListGroups_Reply{} } func (m *DebugListGroups_Reply) String() string { return proto.CompactTextString(m) } func (*DebugListGroups_Reply) ProtoMessage() {} func (*DebugListGroups_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{63, 1} + return fileDescriptor_8aa93e54ccb19003, []int{65, 1} } func (m *DebugListGroups_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6602,7 +6863,7 @@ func (m *DebugInspectGroupStore) Reset() { *m = DebugInspectGroupStore{} func (m *DebugInspectGroupStore) String() string { return proto.CompactTextString(m) } func (*DebugInspectGroupStore) ProtoMessage() {} func (*DebugInspectGroupStore) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{64} + return fileDescriptor_8aa93e54ccb19003, []int{66} } func (m *DebugInspectGroupStore) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6645,7 +6906,7 @@ func (m *DebugInspectGroupStore_Request) Reset() { *m = DebugInspectGrou func (m *DebugInspectGroupStore_Request) String() string { return proto.CompactTextString(m) } func (*DebugInspectGroupStore_Request) ProtoMessage() {} func (*DebugInspectGroupStore_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{64, 0} + return fileDescriptor_8aa93e54ccb19003, []int{66, 0} } func (m *DebugInspectGroupStore_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6708,7 +6969,7 @@ func (m *DebugInspectGroupStore_Reply) Reset() { *m = DebugInspectGroupS func (m *DebugInspectGroupStore_Reply) String() string { return proto.CompactTextString(m) } func (*DebugInspectGroupStore_Reply) ProtoMessage() {} func (*DebugInspectGroupStore_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{64, 1} + return fileDescriptor_8aa93e54ccb19003, []int{66, 1} } func (m *DebugInspectGroupStore_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6782,7 +7043,7 @@ func (m *DebugGroup) Reset() { *m = DebugGroup{} } func (m *DebugGroup) String() string { return proto.CompactTextString(m) } func (*DebugGroup) ProtoMessage() {} func (*DebugGroup) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{65} + return fileDescriptor_8aa93e54ccb19003, []int{67} } func (m *DebugGroup) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6823,7 +7084,7 @@ func (m *DebugGroup_Request) Reset() { *m = DebugGroup_Request{} } func (m *DebugGroup_Request) String() string { return proto.CompactTextString(m) } func (*DebugGroup_Request) ProtoMessage() {} func (*DebugGroup_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{65, 0} + return fileDescriptor_8aa93e54ccb19003, []int{67, 0} } func (m *DebugGroup_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6871,7 +7132,7 @@ func (m *DebugGroup_Reply) Reset() { *m = DebugGroup_Reply{} } func (m *DebugGroup_Reply) String() string { return proto.CompactTextString(m) } func (*DebugGroup_Reply) ProtoMessage() {} func (*DebugGroup_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{65, 1} + return fileDescriptor_8aa93e54ccb19003, []int{67, 1} } func (m *DebugGroup_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6922,7 +7183,7 @@ func (m *AuthExchangeResponse) Reset() { *m = AuthExchangeResponse{} } func (m *AuthExchangeResponse) String() string { return proto.CompactTextString(m) } func (*AuthExchangeResponse) ProtoMessage() {} func (*AuthExchangeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{66} + return fileDescriptor_8aa93e54ccb19003, []int{68} } func (m *AuthExchangeResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6996,7 +7257,7 @@ func (m *DebugAuthServiceSetToken) Reset() { *m = DebugAuthServiceSetTok func (m *DebugAuthServiceSetToken) String() string { return proto.CompactTextString(m) } func (*DebugAuthServiceSetToken) ProtoMessage() {} func (*DebugAuthServiceSetToken) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{67} + return fileDescriptor_8aa93e54ccb19003, []int{69} } func (m *DebugAuthServiceSetToken) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7037,7 +7298,7 @@ func (m *DebugAuthServiceSetToken_Request) Reset() { *m = DebugAuthServi func (m *DebugAuthServiceSetToken_Request) String() string { return proto.CompactTextString(m) } func (*DebugAuthServiceSetToken_Request) ProtoMessage() {} func (*DebugAuthServiceSetToken_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{67, 0} + return fileDescriptor_8aa93e54ccb19003, []int{69, 0} } func (m *DebugAuthServiceSetToken_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7090,7 +7351,7 @@ func (m *DebugAuthServiceSetToken_Reply) Reset() { *m = DebugAuthService func (m *DebugAuthServiceSetToken_Reply) String() string { return proto.CompactTextString(m) } func (*DebugAuthServiceSetToken_Reply) ProtoMessage() {} func (*DebugAuthServiceSetToken_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{67, 1} + return fileDescriptor_8aa93e54ccb19003, []int{69, 1} } func (m *DebugAuthServiceSetToken_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7135,7 +7396,7 @@ func (m *ShareableContact) Reset() { *m = ShareableContact{} } func (m *ShareableContact) String() string { return proto.CompactTextString(m) } func (*ShareableContact) ProtoMessage() {} func (*ShareableContact) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{68} + return fileDescriptor_8aa93e54ccb19003, []int{70} } func (m *ShareableContact) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7197,7 +7458,7 @@ func (m *ServiceTokenSupportedService) Reset() { *m = ServiceTokenSuppor func (m *ServiceTokenSupportedService) String() string { return proto.CompactTextString(m) } func (*ServiceTokenSupportedService) ProtoMessage() {} func (*ServiceTokenSupportedService) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{69} + return fileDescriptor_8aa93e54ccb19003, []int{71} } func (m *ServiceTokenSupportedService) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7254,7 +7515,7 @@ func (m *ServiceToken) Reset() { *m = ServiceToken{} } func (m *ServiceToken) String() string { return proto.CompactTextString(m) } func (*ServiceToken) ProtoMessage() {} func (*ServiceToken) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{70} + return fileDescriptor_8aa93e54ccb19003, []int{72} } func (m *ServiceToken) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7321,7 +7582,7 @@ func (m *AuthServiceCompleteFlow) Reset() { *m = AuthServiceCompleteFlow func (m *AuthServiceCompleteFlow) String() string { return proto.CompactTextString(m) } func (*AuthServiceCompleteFlow) ProtoMessage() {} func (*AuthServiceCompleteFlow) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{71} + return fileDescriptor_8aa93e54ccb19003, []int{73} } func (m *AuthServiceCompleteFlow) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7361,7 +7622,7 @@ func (m *AuthServiceCompleteFlow_Request) Reset() { *m = AuthServiceComp func (m *AuthServiceCompleteFlow_Request) String() string { return proto.CompactTextString(m) } func (*AuthServiceCompleteFlow_Request) ProtoMessage() {} func (*AuthServiceCompleteFlow_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{71, 0} + return fileDescriptor_8aa93e54ccb19003, []int{73, 0} } func (m *AuthServiceCompleteFlow_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7408,7 +7669,7 @@ func (m *AuthServiceCompleteFlow_Reply) Reset() { *m = AuthServiceComple func (m *AuthServiceCompleteFlow_Reply) String() string { return proto.CompactTextString(m) } func (*AuthServiceCompleteFlow_Reply) ProtoMessage() {} func (*AuthServiceCompleteFlow_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{71, 1} + return fileDescriptor_8aa93e54ccb19003, []int{73, 1} } func (m *AuthServiceCompleteFlow_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7454,7 +7715,7 @@ func (m *AuthServiceInitFlow) Reset() { *m = AuthServiceInitFlow{} } func (m *AuthServiceInitFlow) String() string { return proto.CompactTextString(m) } func (*AuthServiceInitFlow) ProtoMessage() {} func (*AuthServiceInitFlow) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{72} + return fileDescriptor_8aa93e54ccb19003, []int{74} } func (m *AuthServiceInitFlow) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7495,7 +7756,7 @@ func (m *AuthServiceInitFlow_Request) Reset() { *m = AuthServiceInitFlow func (m *AuthServiceInitFlow_Request) String() string { return proto.CompactTextString(m) } func (*AuthServiceInitFlow_Request) ProtoMessage() {} func (*AuthServiceInitFlow_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{72, 0} + return fileDescriptor_8aa93e54ccb19003, []int{74, 0} } func (m *AuthServiceInitFlow_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7550,7 +7811,7 @@ func (m *AuthServiceInitFlow_Reply) Reset() { *m = AuthServiceInitFlow_R func (m *AuthServiceInitFlow_Reply) String() string { return proto.CompactTextString(m) } func (*AuthServiceInitFlow_Reply) ProtoMessage() {} func (*AuthServiceInitFlow_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{72, 1} + return fileDescriptor_8aa93e54ccb19003, []int{74, 1} } func (m *AuthServiceInitFlow_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7603,7 +7864,7 @@ func (m *CredentialVerificationServiceInitFlow) Reset() { *m = Credentia func (m *CredentialVerificationServiceInitFlow) String() string { return proto.CompactTextString(m) } func (*CredentialVerificationServiceInitFlow) ProtoMessage() {} func (*CredentialVerificationServiceInitFlow) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{73} + return fileDescriptor_8aa93e54ccb19003, []int{75} } func (m *CredentialVerificationServiceInitFlow) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7649,7 +7910,7 @@ func (m *CredentialVerificationServiceInitFlow_Request) String() string { } func (*CredentialVerificationServiceInitFlow_Request) ProtoMessage() {} func (*CredentialVerificationServiceInitFlow_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{73, 0} + return fileDescriptor_8aa93e54ccb19003, []int{75, 0} } func (m *CredentialVerificationServiceInitFlow_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7715,7 +7976,7 @@ func (m *CredentialVerificationServiceInitFlow_Reply) String() string { } func (*CredentialVerificationServiceInitFlow_Reply) ProtoMessage() {} func (*CredentialVerificationServiceInitFlow_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{73, 1} + return fileDescriptor_8aa93e54ccb19003, []int{75, 1} } func (m *CredentialVerificationServiceInitFlow_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7772,7 +8033,7 @@ func (m *CredentialVerificationServiceCompleteFlow) String() string { } func (*CredentialVerificationServiceCompleteFlow) ProtoMessage() {} func (*CredentialVerificationServiceCompleteFlow) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{74} + return fileDescriptor_8aa93e54ccb19003, []int{76} } func (m *CredentialVerificationServiceCompleteFlow) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7816,7 +8077,7 @@ func (m *CredentialVerificationServiceCompleteFlow_Request) String() string { } func (*CredentialVerificationServiceCompleteFlow_Request) ProtoMessage() {} func (*CredentialVerificationServiceCompleteFlow_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{74, 0} + return fileDescriptor_8aa93e54ccb19003, []int{76, 0} } func (m *CredentialVerificationServiceCompleteFlow_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7867,7 +8128,7 @@ func (m *CredentialVerificationServiceCompleteFlow_Reply) String() string { } func (*CredentialVerificationServiceCompleteFlow_Reply) ProtoMessage() {} func (*CredentialVerificationServiceCompleteFlow_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{74, 1} + return fileDescriptor_8aa93e54ccb19003, []int{76, 1} } func (m *CredentialVerificationServiceCompleteFlow_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7913,7 +8174,7 @@ func (m *VerifiedCredentialsList) Reset() { *m = VerifiedCredentialsList func (m *VerifiedCredentialsList) String() string { return proto.CompactTextString(m) } func (*VerifiedCredentialsList) ProtoMessage() {} func (*VerifiedCredentialsList) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{75} + return fileDescriptor_8aa93e54ccb19003, []int{77} } func (m *VerifiedCredentialsList) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7955,7 +8216,7 @@ func (m *VerifiedCredentialsList_Request) Reset() { *m = VerifiedCredent func (m *VerifiedCredentialsList_Request) String() string { return proto.CompactTextString(m) } func (*VerifiedCredentialsList_Request) ProtoMessage() {} func (*VerifiedCredentialsList_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{75, 0} + return fileDescriptor_8aa93e54ccb19003, []int{77, 0} } func (m *VerifiedCredentialsList_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8016,7 +8277,7 @@ func (m *VerifiedCredentialsList_Reply) Reset() { *m = VerifiedCredentia func (m *VerifiedCredentialsList_Reply) String() string { return proto.CompactTextString(m) } func (*VerifiedCredentialsList_Reply) ProtoMessage() {} func (*VerifiedCredentialsList_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{75, 1} + return fileDescriptor_8aa93e54ccb19003, []int{77, 1} } func (m *VerifiedCredentialsList_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8062,7 +8323,7 @@ func (m *ServicesTokenList) Reset() { *m = ServicesTokenList{} } func (m *ServicesTokenList) String() string { return proto.CompactTextString(m) } func (*ServicesTokenList) ProtoMessage() {} func (*ServicesTokenList) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{76} + return fileDescriptor_8aa93e54ccb19003, []int{78} } func (m *ServicesTokenList) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8101,7 +8362,7 @@ func (m *ServicesTokenList_Request) Reset() { *m = ServicesTokenList_Req func (m *ServicesTokenList_Request) String() string { return proto.CompactTextString(m) } func (*ServicesTokenList_Request) ProtoMessage() {} func (*ServicesTokenList_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{76, 0} + return fileDescriptor_8aa93e54ccb19003, []int{78, 0} } func (m *ServicesTokenList_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8142,7 +8403,7 @@ func (m *ServicesTokenList_Reply) Reset() { *m = ServicesTokenList_Reply func (m *ServicesTokenList_Reply) String() string { return proto.CompactTextString(m) } func (*ServicesTokenList_Reply) ProtoMessage() {} func (*ServicesTokenList_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{76, 1} + return fileDescriptor_8aa93e54ccb19003, []int{78, 1} } func (m *ServicesTokenList_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8198,7 +8459,7 @@ func (m *ServicesTokenCode) Reset() { *m = ServicesTokenCode{} } func (m *ServicesTokenCode) String() string { return proto.CompactTextString(m) } func (*ServicesTokenCode) ProtoMessage() {} func (*ServicesTokenCode) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{77} + return fileDescriptor_8aa93e54ccb19003, []int{79} } func (m *ServicesTokenCode) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8258,7 +8519,7 @@ func (m *ReplicationServiceRegisterGroup) Reset() { *m = ReplicationServ func (m *ReplicationServiceRegisterGroup) String() string { return proto.CompactTextString(m) } func (*ReplicationServiceRegisterGroup) ProtoMessage() {} func (*ReplicationServiceRegisterGroup) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{78} + return fileDescriptor_8aa93e54ccb19003, []int{80} } func (m *ReplicationServiceRegisterGroup) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8301,7 +8562,7 @@ func (m *ReplicationServiceRegisterGroup_Request) Reset() { func (m *ReplicationServiceRegisterGroup_Request) String() string { return proto.CompactTextString(m) } func (*ReplicationServiceRegisterGroup_Request) ProtoMessage() {} func (*ReplicationServiceRegisterGroup_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{78, 0} + return fileDescriptor_8aa93e54ccb19003, []int{80, 0} } func (m *ReplicationServiceRegisterGroup_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8354,7 +8615,7 @@ func (m *ReplicationServiceRegisterGroup_Reply) Reset() { *m = Replicati func (m *ReplicationServiceRegisterGroup_Reply) String() string { return proto.CompactTextString(m) } func (*ReplicationServiceRegisterGroup_Reply) ProtoMessage() {} func (*ReplicationServiceRegisterGroup_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{78, 1} + return fileDescriptor_8aa93e54ccb19003, []int{80, 1} } func (m *ReplicationServiceRegisterGroup_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8393,7 +8654,7 @@ func (m *ReplicationServiceReplicateGroup) Reset() { *m = ReplicationSer func (m *ReplicationServiceReplicateGroup) String() string { return proto.CompactTextString(m) } func (*ReplicationServiceReplicateGroup) ProtoMessage() {} func (*ReplicationServiceReplicateGroup) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{79} + return fileDescriptor_8aa93e54ccb19003, []int{81} } func (m *ReplicationServiceReplicateGroup) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8435,7 +8696,7 @@ func (m *ReplicationServiceReplicateGroup_Request) Reset() { func (m *ReplicationServiceReplicateGroup_Request) String() string { return proto.CompactTextString(m) } func (*ReplicationServiceReplicateGroup_Request) ProtoMessage() {} func (*ReplicationServiceReplicateGroup_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{79, 0} + return fileDescriptor_8aa93e54ccb19003, []int{81, 0} } func (m *ReplicationServiceReplicateGroup_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8484,7 +8745,7 @@ func (m *ReplicationServiceReplicateGroup_Reply) Reset() { func (m *ReplicationServiceReplicateGroup_Reply) String() string { return proto.CompactTextString(m) } func (*ReplicationServiceReplicateGroup_Reply) ProtoMessage() {} func (*ReplicationServiceReplicateGroup_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{79, 1} + return fileDescriptor_8aa93e54ccb19003, []int{81, 1} } func (m *ReplicationServiceReplicateGroup_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8530,7 +8791,7 @@ func (m *SystemInfo) Reset() { *m = SystemInfo{} } func (m *SystemInfo) String() string { return proto.CompactTextString(m) } func (*SystemInfo) ProtoMessage() {} func (*SystemInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{80} + return fileDescriptor_8aa93e54ccb19003, []int{82} } func (m *SystemInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8569,7 +8830,7 @@ func (m *SystemInfo_Request) Reset() { *m = SystemInfo_Request{} } func (m *SystemInfo_Request) String() string { return proto.CompactTextString(m) } func (*SystemInfo_Request) ProtoMessage() {} func (*SystemInfo_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{80, 0} + return fileDescriptor_8aa93e54ccb19003, []int{82, 0} } func (m *SystemInfo_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8612,7 +8873,7 @@ func (m *SystemInfo_Reply) Reset() { *m = SystemInfo_Reply{} } func (m *SystemInfo_Reply) String() string { return proto.CompactTextString(m) } func (*SystemInfo_Reply) ProtoMessage() {} func (*SystemInfo_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{80, 1} + return fileDescriptor_8aa93e54ccb19003, []int{82, 1} } func (m *SystemInfo_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8680,7 +8941,7 @@ func (m *SystemInfo_OrbitDB) Reset() { *m = SystemInfo_OrbitDB{} } func (m *SystemInfo_OrbitDB) String() string { return proto.CompactTextString(m) } func (*SystemInfo_OrbitDB) ProtoMessage() {} func (*SystemInfo_OrbitDB) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{80, 2} + return fileDescriptor_8aa93e54ccb19003, []int{82, 2} } func (m *SystemInfo_OrbitDB) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8730,7 +8991,7 @@ func (m *SystemInfo_OrbitDB_ReplicationStatus) Reset() { *m = SystemInfo func (m *SystemInfo_OrbitDB_ReplicationStatus) String() string { return proto.CompactTextString(m) } func (*SystemInfo_OrbitDB_ReplicationStatus) ProtoMessage() {} func (*SystemInfo_OrbitDB_ReplicationStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{80, 2, 0} + return fileDescriptor_8aa93e54ccb19003, []int{82, 2, 0} } func (m *SystemInfo_OrbitDB_ReplicationStatus) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8798,7 +9059,7 @@ func (m *SystemInfo_P2P) Reset() { *m = SystemInfo_P2P{} } func (m *SystemInfo_P2P) String() string { return proto.CompactTextString(m) } func (*SystemInfo_P2P) ProtoMessage() {} func (*SystemInfo_P2P) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{80, 3} + return fileDescriptor_8aa93e54ccb19003, []int{82, 3} } func (m *SystemInfo_P2P) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8866,7 +9127,7 @@ func (m *SystemInfo_Process) Reset() { *m = SystemInfo_Process{} } func (m *SystemInfo_Process) String() string { return proto.CompactTextString(m) } func (*SystemInfo_Process) ProtoMessage() {} func (*SystemInfo_Process) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{80, 4} + return fileDescriptor_8aa93e54ccb19003, []int{82, 4} } func (m *SystemInfo_Process) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9059,7 +9320,7 @@ func (m *PeerList) Reset() { *m = PeerList{} } func (m *PeerList) String() string { return proto.CompactTextString(m) } func (*PeerList) ProtoMessage() {} func (*PeerList) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{81} + return fileDescriptor_8aa93e54ccb19003, []int{83} } func (m *PeerList) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9098,7 +9359,7 @@ func (m *PeerList_Request) Reset() { *m = PeerList_Request{} } func (m *PeerList_Request) String() string { return proto.CompactTextString(m) } func (*PeerList_Request) ProtoMessage() {} func (*PeerList_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{81, 0} + return fileDescriptor_8aa93e54ccb19003, []int{83, 0} } func (m *PeerList_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9138,7 +9399,7 @@ func (m *PeerList_Reply) Reset() { *m = PeerList_Reply{} } func (m *PeerList_Reply) String() string { return proto.CompactTextString(m) } func (*PeerList_Reply) ProtoMessage() {} func (*PeerList_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{81, 1} + return fileDescriptor_8aa93e54ccb19003, []int{83, 1} } func (m *PeerList_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9198,7 +9459,7 @@ func (m *PeerList_Peer) Reset() { *m = PeerList_Peer{} } func (m *PeerList_Peer) String() string { return proto.CompactTextString(m) } func (*PeerList_Peer) ProtoMessage() {} func (*PeerList_Peer) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{81, 2} + return fileDescriptor_8aa93e54ccb19003, []int{83, 2} } func (m *PeerList_Peer) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9296,7 +9557,7 @@ func (m *PeerList_Route) Reset() { *m = PeerList_Route{} } func (m *PeerList_Route) String() string { return proto.CompactTextString(m) } func (*PeerList_Route) ProtoMessage() {} func (*PeerList_Route) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{81, 3} + return fileDescriptor_8aa93e54ccb19003, []int{83, 3} } func (m *PeerList_Route) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9372,7 +9633,7 @@ func (m *PeerList_Stream) Reset() { *m = PeerList_Stream{} } func (m *PeerList_Stream) String() string { return proto.CompactTextString(m) } func (*PeerList_Stream) ProtoMessage() {} func (*PeerList_Stream) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{81, 4} + return fileDescriptor_8aa93e54ccb19003, []int{83, 4} } func (m *PeerList_Stream) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9425,7 +9686,7 @@ func (m *Progress) Reset() { *m = Progress{} } func (m *Progress) String() string { return proto.CompactTextString(m) } func (*Progress) ProtoMessage() {} func (*Progress) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{82} + return fileDescriptor_8aa93e54ccb19003, []int{84} } func (m *Progress) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9508,7 +9769,7 @@ func (m *MemberWithDevices) Reset() { *m = MemberWithDevices{} } func (m *MemberWithDevices) String() string { return proto.CompactTextString(m) } func (*MemberWithDevices) ProtoMessage() {} func (*MemberWithDevices) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{83} + return fileDescriptor_8aa93e54ccb19003, []int{85} } func (m *MemberWithDevices) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9568,7 +9829,7 @@ func (m *OutOfStoreMessage) Reset() { *m = OutOfStoreMessage{} } func (m *OutOfStoreMessage) String() string { return proto.CompactTextString(m) } func (*OutOfStoreMessage) ProtoMessage() {} func (*OutOfStoreMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{84} + return fileDescriptor_8aa93e54ccb19003, []int{86} } func (m *OutOfStoreMessage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9664,7 +9925,7 @@ func (m *PushServiceReceiver) Reset() { *m = PushServiceReceiver{} } func (m *PushServiceReceiver) String() string { return proto.CompactTextString(m) } func (*PushServiceReceiver) ProtoMessage() {} func (*PushServiceReceiver) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{85} + return fileDescriptor_8aa93e54ccb19003, []int{87} } func (m *PushServiceReceiver) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9733,7 +9994,7 @@ func (m *PushServer) Reset() { *m = PushServer{} } func (m *PushServer) String() string { return proto.CompactTextString(m) } func (*PushServer) ProtoMessage() {} func (*PushServer) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{86} + return fileDescriptor_8aa93e54ccb19003, []int{88} } func (m *PushServer) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9789,7 +10050,7 @@ func (m *PushDeviceTokenRegistered) Reset() { *m = PushDeviceTokenRegist func (m *PushDeviceTokenRegistered) String() string { return proto.CompactTextString(m) } func (*PushDeviceTokenRegistered) ProtoMessage() {} func (*PushDeviceTokenRegistered) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{87} + return fileDescriptor_8aa93e54ccb19003, []int{89} } func (m *PushDeviceTokenRegistered) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9845,7 +10106,7 @@ func (m *PushDeviceServerRegistered) Reset() { *m = PushDeviceServerRegi func (m *PushDeviceServerRegistered) String() string { return proto.CompactTextString(m) } func (*PushDeviceServerRegistered) ProtoMessage() {} func (*PushDeviceServerRegistered) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{88} + return fileDescriptor_8aa93e54ccb19003, []int{90} } func (m *PushDeviceServerRegistered) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9906,7 +10167,7 @@ func (m *AccountVerifiedCredentialRegistered) Reset() { *m = AccountVeri func (m *AccountVerifiedCredentialRegistered) String() string { return proto.CompactTextString(m) } func (*AccountVerifiedCredentialRegistered) ProtoMessage() {} func (*AccountVerifiedCredentialRegistered) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{89} + return fileDescriptor_8aa93e54ccb19003, []int{91} } func (m *AccountVerifiedCredentialRegistered) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9998,7 +10259,7 @@ func (m *PushMemberTokenUpdate) Reset() { *m = PushMemberTokenUpdate{} } func (m *PushMemberTokenUpdate) String() string { return proto.CompactTextString(m) } func (*PushMemberTokenUpdate) ProtoMessage() {} func (*PushMemberTokenUpdate) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{90} + return fileDescriptor_8aa93e54ccb19003, []int{92} } func (m *PushMemberTokenUpdate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10058,7 +10319,7 @@ func (m *OutOfStoreReceive) Reset() { *m = OutOfStoreReceive{} } func (m *OutOfStoreReceive) String() string { return proto.CompactTextString(m) } func (*OutOfStoreReceive) ProtoMessage() {} func (*OutOfStoreReceive) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{91} + return fileDescriptor_8aa93e54ccb19003, []int{93} } func (m *OutOfStoreReceive) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10098,7 +10359,7 @@ func (m *OutOfStoreReceive_Request) Reset() { *m = OutOfStoreReceive_Req func (m *OutOfStoreReceive_Request) String() string { return proto.CompactTextString(m) } func (*OutOfStoreReceive_Request) ProtoMessage() {} func (*OutOfStoreReceive_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{91, 0} + return fileDescriptor_8aa93e54ccb19003, []int{93, 0} } func (m *OutOfStoreReceive_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10148,7 +10409,7 @@ func (m *OutOfStoreReceive_Reply) Reset() { *m = OutOfStoreReceive_Reply func (m *OutOfStoreReceive_Reply) String() string { return proto.CompactTextString(m) } func (*OutOfStoreReceive_Reply) ProtoMessage() {} func (*OutOfStoreReceive_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{91, 1} + return fileDescriptor_8aa93e54ccb19003, []int{93, 1} } func (m *OutOfStoreReceive_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10215,7 +10476,7 @@ func (m *OutOfStoreSeal) Reset() { *m = OutOfStoreSeal{} } func (m *OutOfStoreSeal) String() string { return proto.CompactTextString(m) } func (*OutOfStoreSeal) ProtoMessage() {} func (*OutOfStoreSeal) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{92} + return fileDescriptor_8aa93e54ccb19003, []int{94} } func (m *OutOfStoreSeal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10256,7 +10517,7 @@ func (m *OutOfStoreSeal_Request) Reset() { *m = OutOfStoreSeal_Request{} func (m *OutOfStoreSeal_Request) String() string { return proto.CompactTextString(m) } func (*OutOfStoreSeal_Request) ProtoMessage() {} func (*OutOfStoreSeal_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{92, 0} + return fileDescriptor_8aa93e54ccb19003, []int{94, 0} } func (m *OutOfStoreSeal_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10310,7 +10571,7 @@ func (m *OutOfStoreSeal_Reply) Reset() { *m = OutOfStoreSeal_Reply{} } func (m *OutOfStoreSeal_Reply) String() string { return proto.CompactTextString(m) } func (*OutOfStoreSeal_Reply) ProtoMessage() {} func (*OutOfStoreSeal_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{92, 1} + return fileDescriptor_8aa93e54ccb19003, []int{94, 1} } func (m *OutOfStoreSeal_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10358,7 +10619,7 @@ func (m *FirstLastCounters) Reset() { *m = FirstLastCounters{} } func (m *FirstLastCounters) String() string { return proto.CompactTextString(m) } func (*FirstLastCounters) ProtoMessage() {} func (*FirstLastCounters) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{93} + return fileDescriptor_8aa93e54ccb19003, []int{95} } func (m *FirstLastCounters) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10416,7 +10677,7 @@ func (m *OrbitDBMessageHeads) Reset() { *m = OrbitDBMessageHeads{} } func (m *OrbitDBMessageHeads) String() string { return proto.CompactTextString(m) } func (*OrbitDBMessageHeads) ProtoMessage() {} func (*OrbitDBMessageHeads) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{94} + return fileDescriptor_8aa93e54ccb19003, []int{96} } func (m *OrbitDBMessageHeads) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10473,7 +10734,7 @@ func (m *OrbitDBMessageHeads_Box) Reset() { *m = OrbitDBMessageHeads_Box func (m *OrbitDBMessageHeads_Box) String() string { return proto.CompactTextString(m) } func (*OrbitDBMessageHeads_Box) ProtoMessage() {} func (*OrbitDBMessageHeads_Box) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{94, 0} + return fileDescriptor_8aa93e54ccb19003, []int{96, 0} } func (m *OrbitDBMessageHeads_Box) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10540,7 +10801,7 @@ func (m *RefreshContactRequest) Reset() { *m = RefreshContactRequest{} } func (m *RefreshContactRequest) String() string { return proto.CompactTextString(m) } func (*RefreshContactRequest) ProtoMessage() {} func (*RefreshContactRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{95} + return fileDescriptor_8aa93e54ccb19003, []int{97} } func (m *RefreshContactRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10583,7 +10844,7 @@ func (m *RefreshContactRequest_Peer) Reset() { *m = RefreshContactReques func (m *RefreshContactRequest_Peer) String() string { return proto.CompactTextString(m) } func (*RefreshContactRequest_Peer) ProtoMessage() {} func (*RefreshContactRequest_Peer) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{95, 0} + return fileDescriptor_8aa93e54ccb19003, []int{97, 0} } func (m *RefreshContactRequest_Peer) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10639,7 +10900,7 @@ func (m *RefreshContactRequest_Request) Reset() { *m = RefreshContactReq func (m *RefreshContactRequest_Request) String() string { return proto.CompactTextString(m) } func (*RefreshContactRequest_Request) ProtoMessage() {} func (*RefreshContactRequest_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{95, 1} + return fileDescriptor_8aa93e54ccb19003, []int{97, 1} } func (m *RefreshContactRequest_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10694,7 +10955,7 @@ func (m *RefreshContactRequest_Reply) Reset() { *m = RefreshContactReque func (m *RefreshContactRequest_Reply) String() string { return proto.CompactTextString(m) } func (*RefreshContactRequest_Reply) ProtoMessage() {} func (*RefreshContactRequest_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{95, 2} + return fileDescriptor_8aa93e54ccb19003, []int{97, 2} } func (m *RefreshContactRequest_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10803,6 +11064,12 @@ func init() { proto.RegisterType((*ContactRequestDiscard)(nil), "weshnet.protocol.v1.ContactRequestDiscard") proto.RegisterType((*ContactRequestDiscard_Request)(nil), "weshnet.protocol.v1.ContactRequestDiscard.Request") proto.RegisterType((*ContactRequestDiscard_Reply)(nil), "weshnet.protocol.v1.ContactRequestDiscard.Reply") + proto.RegisterType((*ShareContact)(nil), "weshnet.protocol.v1.ShareContact") + proto.RegisterType((*ShareContact_Request)(nil), "weshnet.protocol.v1.ShareContact.Request") + proto.RegisterType((*ShareContact_Reply)(nil), "weshnet.protocol.v1.ShareContact.Reply") + proto.RegisterType((*DecodeContact)(nil), "weshnet.protocol.v1.DecodeContact") + proto.RegisterType((*DecodeContact_Request)(nil), "weshnet.protocol.v1.DecodeContact.Request") + proto.RegisterType((*DecodeContact_Reply)(nil), "weshnet.protocol.v1.DecodeContact.Reply") proto.RegisterType((*ContactBlock)(nil), "weshnet.protocol.v1.ContactBlock") proto.RegisterType((*ContactBlock_Request)(nil), "weshnet.protocol.v1.ContactBlock.Request") proto.RegisterType((*ContactBlock_Reply)(nil), "weshnet.protocol.v1.ContactBlock.Reply") @@ -10939,406 +11206,412 @@ func init() { func init() { proto.RegisterFile("protocoltypes.proto", fileDescriptor_8aa93e54ccb19003) } var fileDescriptor_8aa93e54ccb19003 = []byte{ - // 6383 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x7c, 0x4b, 0x6c, 0x1c, 0xc9, - 0x79, 0xf0, 0xf6, 0x0c, 0xc9, 0x99, 0xf9, 0x86, 0x8f, 0x66, 0x89, 0x92, 0x46, 0xb3, 0x92, 0xa8, - 0x6d, 0xad, 0x9e, 0xbb, 0x4b, 0x69, 0xb9, 0xfb, 0x7b, 0xbd, 0x96, 0x77, 0x6d, 0x8a, 0xa4, 0xf4, - 0x73, 0xf5, 0x9a, 0x6d, 0x8a, 0x5e, 0xaf, 0xb1, 0xc8, 0xb8, 0xd9, 0x5d, 0x1c, 0xb6, 0xd9, 0xd3, - 0xdd, 0xdb, 0x0f, 0x52, 0x34, 0xe2, 0xc0, 0xb0, 0xbd, 0xb6, 0x83, 0x38, 0xf1, 0x2b, 0x0e, 0x02, - 0xc4, 0x08, 0x72, 0xc8, 0x2d, 0x70, 0x02, 0x18, 0x81, 0x81, 0x00, 0x39, 0xe5, 0x14, 0x07, 0x89, - 0xe1, 0x93, 0x2f, 0x01, 0x18, 0x87, 0x27, 0x07, 0x08, 0x82, 0x00, 0xb1, 0x93, 0x83, 0x81, 0x20, - 0xa8, 0x57, 0x77, 0xf5, 0xb0, 0x7b, 0x1e, 0x92, 0x16, 0x39, 0xe4, 0xc4, 0xa9, 0xaf, 0xbf, 0x57, - 0x7d, 0xf5, 0x55, 0xd5, 0x57, 0x5f, 0x7d, 0x45, 0x38, 0xe6, 0x07, 0x5e, 0xe4, 0x99, 0x9e, 0x13, - 0xed, 0xfb, 0x38, 0x5c, 0xa0, 0x2d, 0x74, 0x6c, 0x0f, 0x87, 0xdb, 0x2e, 0x8e, 0x16, 0xc4, 0xc7, - 0x85, 0xdd, 0x97, 0x9b, 0x73, 0x1d, 0xaf, 0xe3, 0x51, 0xc0, 0x35, 0xf2, 0x8b, 0x7d, 0x6b, 0x9e, - 0xf2, 0xe3, 0x70, 0x9b, 0xd2, 0x5e, 0x4b, 0x7e, 0xb1, 0x4f, 0xda, 0x3f, 0x28, 0x50, 0x59, 0x32, - 0x4d, 0x2f, 0x76, 0x23, 0x74, 0x1d, 0xc6, 0x3b, 0x81, 0x17, 0xfb, 0x0d, 0xe5, 0x9c, 0x72, 0xb9, - 0xbe, 0xd8, 0x5c, 0xc8, 0x91, 0xb0, 0x70, 0x9b, 0x60, 0xe8, 0x0c, 0x11, 0x2d, 0xc0, 0x31, 0x83, - 0x11, 0xb7, 0xfd, 0xc0, 0xde, 0x35, 0x22, 0xdc, 0xde, 0xc1, 0xfb, 0x8d, 0xd2, 0x39, 0xe5, 0xf2, - 0xa4, 0x3e, 0xcb, 0x3f, 0xb5, 0xd8, 0x97, 0x3b, 0x78, 0x1f, 0x5d, 0x85, 0x59, 0xc3, 0xb1, 0x8d, - 0x30, 0x83, 0x5d, 0xa6, 0xd8, 0x33, 0xf4, 0x83, 0x84, 0xfb, 0x2a, 0x9c, 0xf0, 0xe3, 0x4d, 0xc7, - 0x36, 0xdb, 0x01, 0x76, 0x2d, 0xfc, 0xf9, 0x5d, 0x2f, 0x0e, 0xdb, 0x21, 0xc6, 0x56, 0x63, 0x8c, - 0x12, 0xcc, 0xb1, 0xaf, 0x7a, 0xf2, 0x71, 0x1d, 0x63, 0x4b, 0xfb, 0xa5, 0x02, 0xe3, 0x54, 0x45, - 0x74, 0x06, 0x80, 0xd3, 0x13, 0x21, 0x0a, 0xa5, 0xa9, 0x31, 0x08, 0x61, 0x7f, 0x02, 0x26, 0x42, - 0x6c, 0x06, 0x38, 0xe2, 0xda, 0xf2, 0x16, 0x21, 0x63, 0xbf, 0xda, 0xa1, 0xdd, 0xe1, 0xba, 0xd5, - 0x18, 0x64, 0xdd, 0xee, 0xa0, 0x37, 0x00, 0x68, 0xd7, 0xdb, 0xc4, 0x88, 0x54, 0x93, 0xe9, 0xc5, - 0xb3, 0xc5, 0x86, 0x7a, 0xb8, 0xef, 0x63, 0xbd, 0xd6, 0x11, 0x3f, 0xd1, 0x29, 0xa8, 0x86, 0x76, - 0xc7, 0x6d, 0xfb, 0xf1, 0x66, 0x63, 0x9c, 0xf2, 0xae, 0x90, 0x76, 0x2b, 0xde, 0x24, 0x9f, 0x1c, - 0xdb, 0xdd, 0xa1, 0xda, 0x4e, 0xb0, 0x4f, 0xa4, 0x4d, 0x74, 0x3d, 0x07, 0x93, 0xe2, 0x13, 0xd5, - 0xaa, 0x42, 0x3f, 0x03, 0xff, 0xbc, 0x6e, 0x77, 0xb4, 0x5f, 0x29, 0xa0, 0x52, 0x81, 0xff, 0x1f, - 0x1b, 0x56, 0xb8, 0xfa, 0xc8, 0xf7, 0x82, 0x68, 0x90, 0x05, 0x64, 0x5d, 0x4a, 0x59, 0x5d, 0x56, - 0xe1, 0x58, 0x17, 0x47, 0x86, 0x65, 0x44, 0x46, 0x7b, 0x9b, 0x70, 0x6c, 0x9b, 0xb6, 0x15, 0x36, - 0xca, 0xe7, 0xca, 0x97, 0x27, 0x6f, 0x1e, 0x3f, 0x3c, 0x98, 0x9f, 0xbd, 0xc7, 0x3f, 0x53, 0x79, - 0xcb, 0x6b, 0x2b, 0xa1, 0x3e, 0xdb, 0xcd, 0x80, 0x6c, 0x2b, 0x64, 0x6c, 0xc2, 0xd0, 0xe8, 0xe0, - 0x50, 0x66, 0x33, 0x26, 0xb3, 0x61, 0x9f, 0x33, 0x6c, 0x64, 0x10, 0x61, 0x23, 0x5b, 0x66, 0x3c, - 0x63, 0x19, 0xed, 0x27, 0x0a, 0x4c, 0xd1, 0x7e, 0x0b, 0x7d, 0xc8, 0x00, 0xe1, 0x5d, 0xec, 0x46, - 0x6c, 0x80, 0x94, 0x3e, 0x03, 0xb4, 0x4a, 0xd0, 0xd8, 0x00, 0x61, 0xf1, 0x13, 0x35, 0xa0, 0xe2, - 0x1b, 0xfb, 0x8e, 0x67, 0x58, 0xc2, 0x26, 0xbc, 0x89, 0x54, 0x28, 0xa7, 0x1e, 0x41, 0x7e, 0x22, - 0x1d, 0x66, 0x05, 0xbf, 0xb6, 0xe8, 0x3c, 0x75, 0x89, 0xfa, 0xe2, 0x85, 0x5c, 0x89, 0x2d, 0xfe, - 0x5b, 0x28, 0xab, 0xab, 0x7e, 0x0f, 0x44, 0x5b, 0xe2, 0xfd, 0x59, 0x75, 0x77, 0xb1, 0xe3, 0xf9, - 0x18, 0xcd, 0xc1, 0xb8, 0xeb, 0xb9, 0x26, 0xe6, 0xe3, 0xc7, 0x1a, 0x04, 0x4a, 0x75, 0xe6, 0x4a, - 0xb2, 0xc6, 0x5b, 0x63, 0xd5, 0xb2, 0x3a, 0xa6, 0xfd, 0x87, 0x02, 0xd3, 0xdc, 0xae, 0xc4, 0x86, - 0x38, 0x08, 0x49, 0xaf, 0xe8, 0x54, 0xc4, 0x01, 0x65, 0x33, 0xa6, 0x8b, 0x26, 0xba, 0x02, 0x35, - 0x0b, 0xef, 0xda, 0x26, 0x6e, 0xfb, 0x3b, 0x8c, 0xd9, 0xcd, 0xc9, 0xc3, 0x83, 0xf9, 0xea, 0x0a, - 0x05, 0xb6, 0xee, 0xe8, 0x55, 0xf6, 0xb9, 0xb5, 0x93, 0x63, 0x80, 0x7b, 0x50, 0x95, 0xfa, 0x5d, - 0xbe, 0x5c, 0x5f, 0x7c, 0x39, 0xb7, 0xdf, 0x59, 0x6d, 0x16, 0x44, 0x67, 0x57, 0xdd, 0x28, 0xd8, - 0xd7, 0x13, 0x16, 0xcd, 0x1b, 0x30, 0x95, 0xf9, 0x44, 0x24, 0x0a, 0xcf, 0xad, 0xe9, 0xe4, 0x27, - 0xe9, 0xf7, 0xae, 0xe1, 0xc4, 0x98, 0xaa, 0x5a, 0xd3, 0x59, 0xe3, 0x63, 0xa5, 0x8f, 0x2a, 0x5a, - 0x03, 0xd4, 0x5e, 0xf3, 0xbe, 0x35, 0x56, 0x55, 0xd4, 0x92, 0xf6, 0x15, 0x05, 0xd4, 0x55, 0xd7, - 0x0c, 0xf6, 0xfd, 0x08, 0x5b, 0x5c, 0x15, 0x74, 0x1a, 0x6a, 0xbe, 0x63, 0xd8, 0x6e, 0x84, 0x1f, - 0x45, 0xc9, 0xd4, 0x10, 0x80, 0xfc, 0x91, 0x2d, 0x3d, 0xd9, 0xc8, 0xfa, 0x30, 0xc3, 0x85, 0x27, - 0x63, 0x7b, 0x09, 0x66, 0xb8, 0xb7, 0xd3, 0xe9, 0x81, 0x83, 0x90, 0xab, 0x32, 0xdd, 0x3d, 0x32, - 0x7e, 0x1c, 0x22, 0xbc, 0x92, 0x37, 0x53, 0xf7, 0x28, 0x4b, 0xee, 0xf1, 0xd6, 0x58, 0x75, 0x4c, - 0x1d, 0xd7, 0xbe, 0xa4, 0xc0, 0x24, 0x75, 0xf2, 0x65, 0x8f, 0x75, 0xeb, 0x04, 0x94, 0x6c, 0x8b, - 0x89, 0xb8, 0x39, 0x71, 0x78, 0x30, 0x5f, 0x5a, 0x5b, 0xd1, 0x4b, 0xb6, 0x85, 0x5e, 0x04, 0xf0, - 0x8d, 0x80, 0x4c, 0x1a, 0x32, 0x3d, 0x4b, 0x74, 0x7a, 0x4e, 0x1d, 0x1e, 0xcc, 0xd7, 0x5a, 0x14, - 0x4a, 0xa6, 0x65, 0x8d, 0x21, 0xac, 0x59, 0x21, 0xba, 0x08, 0x55, 0xb6, 0x04, 0xfa, 0x3b, 0x4c, - 0xea, 0xcd, 0xfa, 0xe1, 0xc1, 0x7c, 0x85, 0xba, 0x6d, 0xeb, 0x8e, 0x5e, 0xa1, 0x1f, 0x5b, 0x3b, - 0x5c, 0x09, 0x1d, 0xea, 0x4b, 0x7e, 0x3a, 0x3d, 0x33, 0xfe, 0xa6, 0xf4, 0xf5, 0xb7, 0xc2, 0x4e, - 0x6b, 0x1d, 0x40, 0xa4, 0x4b, 0x86, 0x19, 0x2d, 0x59, 0xd6, 0x12, 0xd9, 0x37, 0xc8, 0x7a, 0x36, - 0x02, 0xeb, 0x8b, 0x50, 0xe5, 0xfb, 0x90, 0x70, 0x7a, 0xda, 0x05, 0xca, 0x8a, 0x74, 0x81, 0xed, - 0x45, 0x3b, 0xda, 0xef, 0x28, 0x30, 0x47, 0xfb, 0xb5, 0x64, 0x59, 0xf7, 0x70, 0x77, 0x13, 0x07, - 0x8c, 0x19, 0x91, 0xd5, 0xa5, 0xed, 0x1e, 0x59, 0x0c, 0x89, 0xc8, 0x62, 0x9f, 0x5b, 0x3b, 0xa3, - 0xcc, 0xb0, 0x33, 0x00, 0x9c, 0xab, 0xb4, 0xf7, 0x30, 0x08, 0x59, 0xe4, 0x6f, 0xc3, 0x34, 0x23, - 0x5a, 0xde, 0x36, 0x6c, 0x97, 0x74, 0xf9, 0x59, 0xa8, 0x99, 0xe4, 0xb7, 0xb4, 0xc0, 0x57, 0x4d, - 0xf1, 0x51, 0x9a, 0xf4, 0xa5, 0xcc, 0xa4, 0xd7, 0xbe, 0xa7, 0xc0, 0x09, 0xd1, 0xad, 0x1e, 0x8e, - 0x23, 0x18, 0xf1, 0x23, 0x30, 0x6d, 0xe1, 0x30, 0x6a, 0xa7, 0x86, 0x60, 0xbd, 0x53, 0x0f, 0x0f, - 0xe6, 0x27, 0x57, 0x70, 0x18, 0x25, 0xc6, 0x98, 0xb4, 0xd2, 0xd6, 0x8e, 0xbc, 0xc4, 0x96, 0x33, - 0x4b, 0x2c, 0xd1, 0xeb, 0xdc, 0xbd, 0xd8, 0x89, 0x6c, 0x86, 0x2b, 0x54, 0xa4, 0xc3, 0xa2, 0xe3, - 0xd0, 0x73, 0x76, 0x7b, 0x57, 0xac, 0xfe, 0x1a, 0x5e, 0x80, 0x69, 0x36, 0xcc, 0x01, 0x27, 0xe6, - 0x8e, 0x34, 0x65, 0x64, 0x38, 0xce, 0x43, 0x5d, 0x44, 0x25, 0x9e, 0xb7, 0xc5, 0x95, 0x02, 0x1e, - 0x8f, 0x78, 0xde, 0x96, 0xf6, 0x35, 0x05, 0x4e, 0x65, 0xf4, 0x32, 0xdc, 0x68, 0xc9, 0xea, 0xda, - 0xae, 0xee, 0x39, 0x78, 0x14, 0x85, 0x3e, 0x01, 0xb3, 0x1d, 0x42, 0x8c, 0xf1, 0x11, 0xab, 0x1d, - 0x3b, 0x3c, 0x98, 0x9f, 0xb9, 0xcd, 0x3e, 0x26, 0x86, 0x9b, 0xe9, 0x64, 0x00, 0x3b, 0xda, 0x2a, - 0x34, 0x24, 0x45, 0xd6, 0x5c, 0x3b, 0xb2, 0x0d, 0x87, 0x35, 0x46, 0xf0, 0x49, 0xcd, 0x80, 0x73, - 0x89, 0x71, 0x2d, 0xcb, 0x8e, 0x6c, 0xcf, 0x35, 0x9c, 0x6c, 0x24, 0x35, 0x4a, 0xb7, 0x10, 0x8c, - 0xd1, 0xc0, 0x8c, 0x59, 0x97, 0xfe, 0xd6, 0x2c, 0x38, 0xcf, 0x42, 0x45, 0xdc, 0xf5, 0x76, 0xf1, - 0x87, 0x25, 0xe5, 0x7d, 0x40, 0x3c, 0x7a, 0xa5, 0xc2, 0xde, 0xf2, 0x6c, 0x77, 0x34, 0xa6, 0x49, - 0xcc, 0x5b, 0x1a, 0x32, 0xe6, 0xd5, 0x30, 0xa8, 0xb2, 0xc8, 0xbb, 0x78, 0x2b, 0x1a, 0x71, 0xe9, - 0x49, 0x56, 0xcf, 0x52, 0xf1, 0xea, 0xa9, 0xbd, 0x05, 0x67, 0xb8, 0x18, 0xbe, 0xd4, 0xe9, 0xf8, - 0xfd, 0x18, 0x87, 0xd1, 0x8a, 0x1d, 0x1a, 0x9b, 0xce, 0x48, 0x9d, 0xd4, 0xd6, 0xe0, 0x74, 0x2e, - 0xaf, 0x55, 0x77, 0x64, 0x56, 0x5f, 0x55, 0xe0, 0x7c, 0x2e, 0x2f, 0x1d, 0x6f, 0xe1, 0x00, 0xbb, - 0x26, 0xd6, 0x71, 0x88, 0x47, 0xb2, 0x48, 0x71, 0xa0, 0x5f, 0xea, 0x13, 0xe8, 0xff, 0x4c, 0x29, - 0x30, 0xd0, 0xaa, 0xfb, 0x7e, 0x8c, 0xe3, 0xd1, 0xbc, 0x60, 0xc8, 0x41, 0x41, 0x9f, 0x20, 0x4b, - 0x2a, 0x15, 0x46, 0x57, 0x89, 0xa2, 0x68, 0x60, 0x7d, 0xdb, 0x08, 0x30, 0x31, 0xad, 0xd0, 0x4c, - 0x50, 0xa1, 0xe7, 0x60, 0xd2, 0xdb, 0x73, 0xb3, 0xd1, 0xe2, 0xa4, 0x5e, 0xf7, 0xf6, 0xdc, 0x24, - 0x4e, 0x88, 0xe0, 0x54, 0x6e, 0xbf, 0xd6, 0xb1, 0x3b, 0x92, 0x59, 0x5f, 0x04, 0xe0, 0x52, 0xd3, - 0x5e, 0xd1, 0x4d, 0x9d, 0xb3, 0x6d, 0xdd, 0xd1, 0x6b, 0x1c, 0xa1, 0xb5, 0xa3, 0xfd, 0x63, 0x91, - 0x39, 0x75, 0x6c, 0x62, 0x7b, 0x77, 0x34, 0x73, 0x8e, 0x24, 0x1a, 0x7d, 0x04, 0x4e, 0x0a, 0xec, - 0x5e, 0x07, 0x60, 0x4b, 0xf1, 0x71, 0x53, 0x68, 0xd4, 0xb3, 0x74, 0xa8, 0x82, 0xae, 0xc7, 0x9e, - 0x33, 0x1c, 0x9e, 0xd8, 0x74, 0x1f, 0xce, 0x16, 0x4d, 0x26, 0xd3, 0x08, 0xac, 0x0f, 0xb1, 0x77, - 0xda, 0x9f, 0x14, 0x19, 0x76, 0xc9, 0x34, 0x31, 0x89, 0x48, 0x3f, 0x3c, 0xc3, 0x0e, 0x19, 0xa8, - 0x69, 0x3e, 0x1c, 0xcf, 0x6a, 0x78, 0xd3, 0xf1, 0xcc, 0x9d, 0x0f, 0xd3, 0x28, 0x01, 0x9c, 0xcc, - 0x4a, 0xdc, 0x70, 0x37, 0x3f, 0x6c, 0x99, 0xbf, 0xab, 0x40, 0x83, 0x0b, 0x5d, 0xc7, 0x01, 0x61, - 0xf1, 0xd0, 0xdb, 0xc1, 0xee, 0x92, 0x35, 0xe2, 0xf0, 0xdf, 0x82, 0xa9, 0x90, 0xd1, 0xb7, 0x23, - 0xc2, 0x80, 0xef, 0x1c, 0xcf, 0xe5, 0xaf, 0x04, 0x92, 0x24, 0x7d, 0x32, 0x94, 0x5a, 0x9a, 0x07, - 0xcd, 0x1c, 0x75, 0xd8, 0x76, 0x39, 0xea, 0xe2, 0x45, 0x15, 0x69, 0xdb, 0x6c, 0xc5, 0xac, 0xb1, - 0x61, 0xa6, 0xec, 0xd6, 0x56, 0xf4, 0x0a, 0xfd, 0xb8, 0x66, 0x69, 0x3f, 0x14, 0x39, 0x02, 0x1d, - 0xfb, 0x8e, 0x6d, 0x1a, 0x91, 0xed, 0x76, 0x46, 0x91, 0xb3, 0x02, 0xc8, 0x88, 0xa3, 0x6d, 0xec, - 0x46, 0x94, 0xd8, 0x73, 0xdb, 0x71, 0xe0, 0x70, 0x89, 0xf4, 0x30, 0xbf, 0x94, 0xf9, 0xba, 0xa1, - 0xdf, 0xd5, 0x67, 0xb3, 0x04, 0x1b, 0x81, 0x83, 0x5e, 0x02, 0x14, 0x08, 0xf9, 0x9e, 0xdb, 0x26, - 0x26, 0xc1, 0x01, 0x75, 0xcf, 0x9a, 0x3e, 0x2b, 0x7d, 0x59, 0xa7, 0x1f, 0xb4, 0xbb, 0x30, 0xcb, - 0xcd, 0xc3, 0x92, 0x1a, 0x2b, 0xe4, 0xa0, 0x58, 0x83, 0x0a, 0x9f, 0x44, 0xcd, 0x17, 0x61, 0x9c, - 0x74, 0x67, 0x1f, 0x9d, 0x87, 0x29, 0x4c, 0x31, 0xb0, 0xd5, 0xa6, 0x4b, 0x01, 0x0b, 0x87, 0x27, - 0x05, 0x90, 0x10, 0x6a, 0xbf, 0x9a, 0x80, 0x93, 0x9c, 0xdd, 0x6d, 0x4c, 0x7c, 0x6f, 0xcb, 0xee, - 0xc4, 0x01, 0x95, 0x27, 0x33, 0xfd, 0x60, 0x42, 0x70, 0x7d, 0x11, 0x20, 0x49, 0x70, 0x09, 0xfb, - 0x50, 0x17, 0xe3, 0x43, 0x47, 0x5c, 0x4c, 0xa4, 0xb9, 0x46, 0x0a, 0xf5, 0x3f, 0x0e, 0xaa, 0x60, - 0xdc, 0x33, 0x47, 0xd1, 0xe1, 0xc1, 0xfc, 0xb4, 0x1c, 0x61, 0xb4, 0xee, 0xe8, 0xd3, 0x86, 0xdc, - 0xde, 0x41, 0xe7, 0xa1, 0xe2, 0x63, 0x1c, 0x90, 0x11, 0x1f, 0xa3, 0xf6, 0x87, 0xc3, 0x83, 0xf9, - 0x89, 0x16, 0xc6, 0xc1, 0xda, 0x8a, 0x3e, 0x41, 0x3e, 0xad, 0x59, 0xe4, 0x88, 0xeb, 0xd8, 0x61, - 0x84, 0x5d, 0x72, 0xae, 0x1c, 0x3f, 0x57, 0xbe, 0x5c, 0xd3, 0x53, 0x00, 0xfa, 0x0c, 0xd4, 0x37, - 0x1d, 0xdc, 0xc6, 0x2c, 0x04, 0xa0, 0x19, 0xa7, 0xe9, 0xc5, 0xd7, 0xfb, 0x39, 0x71, 0xaf, 0xc5, - 0x16, 0xd6, 0x71, 0x44, 0x7c, 0x68, 0x3d, 0x32, 0x22, 0xac, 0xc3, 0xa6, 0x83, 0x45, 0x3c, 0x61, - 0x82, 0xba, 0x67, 0x6f, 0xd9, 0x6d, 0x7f, 0xd1, 0x4f, 0x04, 0x54, 0x9e, 0x54, 0xc0, 0x34, 0x61, - 0xd9, 0x5a, 0xf4, 0x85, 0x90, 0xf7, 0x60, 0xb2, 0x6b, 0xb9, 0x61, 0x22, 0xa0, 0xfa, 0xa4, 0x02, - 0xea, 0x84, 0x9d, 0xe0, 0xfe, 0x1b, 0x30, 0x15, 0x60, 0xc7, 0xd8, 0x4f, 0xd8, 0xd7, 0x9e, 0x94, - 0xfd, 0x24, 0xe5, 0x27, 0xf8, 0x3f, 0x84, 0x59, 0xe1, 0x2a, 0x71, 0xb8, 0xcd, 0x57, 0x12, 0xa0, - 0x2b, 0xc9, 0xe5, 0xfc, 0x0c, 0x43, 0x1c, 0x6e, 0x73, 0x39, 0x7c, 0x4b, 0x0e, 0xf4, 0x19, 0xee, - 0x4e, 0x71, 0xb8, 0x4d, 0x67, 0x3b, 0xba, 0x07, 0x48, 0xe6, 0xca, 0x27, 0x57, 0x9d, 0xb2, 0x9d, - 0xef, 0xcb, 0x16, 0x07, 0xba, 0x9a, 0x72, 0xe3, 0x93, 0xef, 0x36, 0x4c, 0xca, 0x5d, 0x40, 0x75, - 0xa8, 0x6c, 0xb8, 0x3b, 0xae, 0xb7, 0xe7, 0xaa, 0xcf, 0x90, 0x06, 0xef, 0x8c, 0xaa, 0xa0, 0x49, - 0xa8, 0x8a, 0xc0, 0x54, 0x2d, 0xa1, 0x19, 0xa8, 0x6f, 0xb8, 0xc6, 0xae, 0x61, 0x3b, 0x04, 0xa2, - 0x96, 0xb5, 0x2f, 0xc0, 0xc9, 0x82, 0x68, 0x51, 0x9e, 0x76, 0xef, 0x88, 0x59, 0x57, 0x1c, 0x11, - 0x2a, 0xc5, 0x11, 0x21, 0x39, 0x57, 0x8a, 0xc1, 0x22, 0x73, 0xaf, 0xaa, 0x8b, 0xa6, 0xf6, 0x02, - 0x1c, 0xcf, 0x0d, 0xa2, 0x65, 0xe1, 0x15, 0x2e, 0x5c, 0xfb, 0x2c, 0xcc, 0xe5, 0x45, 0xc9, 0x32, - 0xee, 0x1b, 0x4f, 0xa4, 0xa8, 0xb6, 0x0d, 0xa7, 0x7b, 0xad, 0x11, 0xe2, 0x7c, 0x93, 0x3c, 0xa1, - 0xa4, 0x6f, 0x28, 0x49, 0xa6, 0x24, 0x8d, 0x22, 0xad, 0x66, 0x37, 0x11, 0x20, 0x47, 0xb4, 0xca, - 0x53, 0x89, 0x68, 0x4b, 0x47, 0x22, 0xda, 0xd4, 0xb4, 0x9f, 0xee, 0x35, 0x2d, 0x8b, 0x81, 0x9a, - 0xaf, 0xa5, 0xfa, 0x64, 0xf7, 0x74, 0xa5, 0xff, 0x9e, 0x9e, 0x72, 0x7e, 0x37, 0x67, 0x84, 0x49, - 0x64, 0xf7, 0x14, 0x58, 0xb7, 0x60, 0x52, 0x0e, 0x8b, 0x9e, 0x02, 0x47, 0x1d, 0xa6, 0xb3, 0x61, - 0xcf, 0x53, 0xe0, 0xf9, 0x36, 0x1c, 0x13, 0x29, 0x31, 0x9e, 0x0f, 0xa3, 0x23, 0xfd, 0x72, 0xca, - 0x58, 0x8e, 0x06, 0x95, 0xe2, 0x68, 0x30, 0x65, 0xf9, 0x10, 0x4e, 0xf4, 0x26, 0x63, 0x96, 0x03, - 0x6c, 0x44, 0x19, 0x07, 0xbd, 0x26, 0x1c, 0x74, 0x48, 0xf6, 0xda, 0x7b, 0x30, 0xd7, 0xcb, 0x95, - 0x9c, 0xda, 0x9b, 0x37, 0x52, 0x4d, 0x47, 0xbe, 0x87, 0x4a, 0x75, 0x5e, 0x87, 0xe3, 0xbd, 0xdc, - 0xef, 0x62, 0x63, 0x17, 0x3f, 0x91, 0x21, 0x4c, 0xb8, 0x70, 0x24, 0x2b, 0x25, 0x27, 0x90, 0x88, - 0xaf, 0x39, 0x5e, 0xf8, 0x64, 0x42, 0xbe, 0xa6, 0xc0, 0xd9, 0xa3, 0xb9, 0x2f, 0x9e, 0x63, 0xa2, - 0x79, 0xa1, 0xe6, 0x7b, 0x23, 0xb3, 0xcf, 0xe6, 0x84, 0x4a, 0xfd, 0x72, 0x42, 0xa9, 0x26, 0xdf, - 0xca, 0xc9, 0xc2, 0xad, 0xb9, 0xbb, 0x76, 0x44, 0x37, 0x35, 0xee, 0x02, 0x8f, 0xd1, 0xd5, 0xd7, - 0x85, 0xab, 0x8c, 0x3c, 0xbe, 0xda, 0xd7, 0x15, 0x98, 0x91, 0xb2, 0xc8, 0xd4, 0xb5, 0xdf, 0x1e, - 0xdd, 0x1a, 0x85, 0x97, 0x3b, 0xec, 0xe6, 0xa4, 0xa9, 0x09, 0x0d, 0x4f, 0x41, 0xd9, 0x4c, 0x32, - 0xe5, 0x95, 0xc3, 0x83, 0xf9, 0xf2, 0xf2, 0xda, 0x8a, 0x4e, 0x60, 0x64, 0x9c, 0xa6, 0xa9, 0x2a, - 0x34, 0x15, 0xfd, 0xbf, 0xa9, 0xc9, 0x0f, 0x15, 0x40, 0x99, 0xbb, 0x2f, 0x9a, 0xeb, 0x27, 0xe7, - 0x13, 0x76, 0x01, 0x66, 0x7a, 0xe9, 0xed, 0x46, 0xd1, 0xf9, 0x44, 0xbe, 0x1e, 0xd0, 0x27, 0xb1, - 0x7c, 0x59, 0xf0, 0xa6, 0x74, 0xb9, 0xc3, 0x8e, 0x38, 0x5a, 0xf1, 0x40, 0x25, 0xf7, 0x1e, 0x09, - 0x4d, 0x7a, 0x45, 0x55, 0x96, 0xae, 0xa8, 0xb4, 0xbf, 0x54, 0x60, 0x96, 0x53, 0xb0, 0xbb, 0x90, - 0xa7, 0xaa, 0xf3, 0x1b, 0x50, 0x11, 0x17, 0x29, 0x4c, 0xe5, 0xf3, 0x43, 0xdc, 0x47, 0xe9, 0x82, - 0x46, 0xbe, 0x71, 0x28, 0x67, 0x6f, 0x1c, 0xfe, 0x33, 0x55, 0x9b, 0x75, 0xef, 0xae, 0x1d, 0x46, - 0xcd, 0x9f, 0x2b, 0xa3, 0x8f, 0xfc, 0x45, 0xa8, 0x86, 0xb6, 0x6b, 0x62, 0x71, 0x5a, 0xe3, 0x78, - 0xeb, 0x04, 0x46, 0x4e, 0x6b, 0xf4, 0xe3, 0x9a, 0x85, 0x9e, 0x85, 0x1a, 0xc3, 0x73, 0xbd, 0x3d, - 0xaa, 0x4d, 0x55, 0x67, 0x84, 0xf7, 0xbd, 0x3d, 0xc2, 0x24, 0x76, 0x23, 0xdb, 0x11, 0x07, 0x00, - 0xce, 0x64, 0x83, 0xc0, 0x08, 0x13, 0xfa, 0x91, 0x31, 0x61, 0x78, 0x84, 0xc9, 0x38, 0x63, 0x42, - 0x01, 0x84, 0xc9, 0x79, 0x12, 0xe2, 0xee, 0xe2, 0x20, 0xc4, 0x6d, 0x2f, 0xb0, 0x70, 0x40, 0xcf, - 0x00, 0x55, 0x12, 0xa7, 0x52, 0xe0, 0x03, 0x02, 0x4b, 0x2f, 0x96, 0xb9, 0xcd, 0xfe, 0xaf, 0xf4, - 0xfb, 0xbf, 0x15, 0xa8, 0xf1, 0x95, 0x6f, 0xcb, 0x6b, 0xb6, 0x47, 0xef, 0xef, 0x48, 0xc9, 0x89, - 0xe6, 0x37, 0x95, 0xc7, 0x5e, 0x1c, 0x47, 0x58, 0xe3, 0xb3, 0x07, 0xd4, 0x72, 0xdf, 0x44, 0xef, - 0xe7, 0x60, 0x6a, 0xc9, 0x8c, 0x68, 0x35, 0x06, 0x95, 0xd6, 0x6c, 0x8d, 0x6e, 0x83, 0x33, 0x00, - 0x8e, 0x67, 0x1a, 0x4e, 0xdb, 0x73, 0x9d, 0x7d, 0x1e, 0x94, 0xd7, 0x28, 0xe4, 0x81, 0xeb, 0xec, - 0xa7, 0x3b, 0xce, 0x3d, 0x98, 0x59, 0xc1, 0x46, 0x46, 0xda, 0x93, 0x6c, 0xa5, 0xdf, 0x1a, 0xe7, - 0x93, 0x95, 0x75, 0x8b, 0x9c, 0x5d, 0xe2, 0xf0, 0x71, 0x38, 0x7e, 0xbf, 0x2c, 0x46, 0xe5, 0x13, - 0x30, 0x26, 0xd5, 0x13, 0xbc, 0x50, 0x3c, 0x28, 0xb2, 0xc8, 0x05, 0x5a, 0x5c, 0x40, 0x09, 0xf3, - 0x2f, 0xec, 0x9b, 0x3f, 0x56, 0x60, 0x8a, 0x9c, 0xda, 0x97, 0x3d, 0xd7, 0xc5, 0x66, 0x84, 0x2d, - 0xf9, 0x64, 0xaf, 0x14, 0x9e, 0xec, 0x47, 0xc8, 0x33, 0xb4, 0x00, 0xa2, 0xc0, 0x70, 0x43, 0xdf, - 0x0b, 0x22, 0x56, 0xc0, 0x31, 0xbd, 0x78, 0x7d, 0x58, 0xf5, 0x05, 0xa1, 0x2e, 0xf1, 0x40, 0x27, - 0x60, 0xa2, 0x6b, 0x58, 0x56, 0xc0, 0xea, 0x38, 0x6a, 0x3a, 0x6f, 0x35, 0x5f, 0x03, 0x95, 0xa8, - 0xa9, 0x63, 0x93, 0x75, 0xc6, 0x76, 0x3b, 0x43, 0xf5, 0x46, 0x10, 0x92, 0x28, 0x6a, 0x24, 0x33, - 0x68, 0x9b, 0x30, 0x46, 0x6b, 0x36, 0x66, 0xa0, 0x4e, 0xfe, 0xa6, 0x47, 0xd3, 0x06, 0xcc, 0x11, - 0x40, 0x2f, 0x57, 0x55, 0x41, 0xc7, 0x61, 0x56, 0x7c, 0x49, 0x6c, 0xae, 0x96, 0x64, 0x02, 0x59, - 0x7f, 0xb5, 0xac, 0xad, 0x42, 0x2d, 0x31, 0x03, 0x9a, 0x06, 0x78, 0xe8, 0x47, 0xa9, 0x1c, 0x80, - 0x89, 0x87, 0x7e, 0x74, 0x77, 0xe9, 0xbe, 0xaa, 0xf0, 0xdf, 0xef, 0x2c, 0xdd, 0x57, 0x4b, 0x48, - 0x85, 0xc9, 0x87, 0x7e, 0xd4, 0x0a, 0xbc, 0x47, 0x76, 0xd7, 0x8e, 0xf6, 0xd5, 0xb2, 0xf6, 0x77, - 0x0a, 0x71, 0xf1, 0xcd, 0xb8, 0x43, 0xd6, 0x4f, 0x6a, 0xe9, 0x50, 0x8e, 0xa2, 0xff, 0x4c, 0x19, - 0x31, 0x8c, 0x46, 0x77, 0x33, 0x75, 0x48, 0xa5, 0x61, 0xea, 0x90, 0xd8, 0xf2, 0x93, 0x5b, 0x96, - 0x94, 0x5d, 0xac, 0xca, 0x03, 0x32, 0xa9, 0xbf, 0x57, 0x86, 0x13, 0xb4, 0x33, 0x6b, 0x6e, 0xe8, - 0x63, 0x93, 0xf5, 0x67, 0x3d, 0xf2, 0x02, 0xdc, 0xfc, 0xfa, 0x63, 0xec, 0x0c, 0x1b, 0x50, 0x75, - 0xbc, 0x8e, 0xdc, 0x91, 0x97, 0x72, 0x3b, 0x72, 0x44, 0xe4, 0x5d, 0xaf, 0x43, 0xfb, 0x45, 0xd9, - 0xf2, 0x86, 0x5e, 0x71, 0xd8, 0x8f, 0xe6, 0x2f, 0x94, 0xc1, 0x31, 0x14, 0xba, 0x06, 0x75, 0x5e, - 0xf9, 0x60, 0xa6, 0xa5, 0x0f, 0xd3, 0x87, 0x07, 0xf3, 0xc0, 0x4a, 0x1f, 0x68, 0x49, 0x12, 0x2f, - 0x8e, 0xa0, 0xb5, 0x48, 0xf7, 0xa5, 0xca, 0x28, 0xa9, 0xce, 0xa8, 0x3c, 0x54, 0x9d, 0x51, 0x52, - 0x22, 0x95, 0x80, 0xb2, 0x53, 0x79, 0x6c, 0x50, 0x3d, 0x84, 0x88, 0x19, 0x27, 0xb2, 0xf7, 0xe6, - 0x3e, 0x00, 0x35, 0xce, 0x63, 0x2f, 0x9d, 0xf2, 0x29, 0x8e, 0xcf, 0xbb, 0xb0, 0xa1, 0x90, 0xe9, - 0xcd, 0x08, 0xd8, 0xc4, 0x0b, 0xf5, 0x0a, 0x9b, 0x79, 0xa1, 0xf6, 0xa7, 0x25, 0x98, 0x5b, 0x8a, - 0xa3, 0xed, 0xd5, 0x47, 0xe6, 0xb6, 0xe1, 0x76, 0xb0, 0x8e, 0x43, 0xdf, 0x73, 0x43, 0x8c, 0x9e, - 0x83, 0x49, 0xc3, 0x34, 0x71, 0x18, 0xf2, 0x94, 0x16, 0xab, 0xdd, 0xa9, 0x33, 0x18, 0x4b, 0x52, - 0xcd, 0xc1, 0x78, 0x68, 0x7a, 0x7e, 0x52, 0xc3, 0x43, 0x1b, 0x74, 0x81, 0x0c, 0x02, 0x4f, 0xa4, - 0x82, 0x59, 0x03, 0xbd, 0x00, 0xb3, 0xf4, 0x47, 0xdb, 0xc2, 0xa1, 0x19, 0xd8, 0x3e, 0x39, 0x81, - 0xb0, 0x94, 0xa7, 0xae, 0xd2, 0x0f, 0x2b, 0x29, 0x1c, 0xad, 0x43, 0x95, 0x67, 0xd8, 0x59, 0xbe, - 0xb3, 0xbe, 0xf8, 0x5a, 0xee, 0x80, 0xe4, 0x29, 0x2e, 0x72, 0x78, 0x21, 0x2f, 0x4a, 0x12, 0x8c, - 0x9a, 0x37, 0x60, 0x2a, 0xf3, 0x69, 0xa4, 0xa2, 0xa4, 0x1f, 0x29, 0xd0, 0xa0, 0x23, 0x43, 0x44, - 0x72, 0x36, 0xeb, 0x38, 0xa2, 0x76, 0x68, 0x7e, 0x4b, 0x91, 0xd3, 0x30, 0xe3, 0xa9, 0xbd, 0xea, - 0x8b, 0x57, 0x86, 0xd6, 0x5b, 0x67, 0x74, 0x4f, 0x27, 0x39, 0x9f, 0x6e, 0xa1, 0xbf, 0x09, 0x6a, - 0x6f, 0xca, 0x07, 0x9d, 0x80, 0x52, 0xe2, 0x46, 0xb4, 0x7a, 0xa8, 0x75, 0x47, 0x2f, 0xf9, 0x8f, - 0x79, 0x7f, 0x8b, 0x9a, 0xd2, 0xf1, 0x82, 0x05, 0xdb, 0x49, 0x5b, 0x73, 0xe0, 0xb4, 0x7c, 0x27, - 0xb2, 0x1e, 0xfb, 0x2c, 0x87, 0xcf, 0x81, 0xc4, 0xc9, 0x92, 0x2b, 0x18, 0xb1, 0x2b, 0xd7, 0xf4, - 0xba, 0xb8, 0x5e, 0x61, 0xf3, 0x4a, 0x15, 0x28, 0xd8, 0xb5, 0x7c, 0xcf, 0xe6, 0x5b, 0x6f, 0x4d, - 0x9f, 0xe1, 0xf0, 0x55, 0x0e, 0xd6, 0xfe, 0x55, 0x81, 0x49, 0x59, 0x1c, 0x19, 0x4f, 0xd9, 0x79, - 0x9f, 0xa6, 0x85, 0xd1, 0x67, 0x01, 0x85, 0xa2, 0x3b, 0xed, 0xc4, 0x5b, 0xcb, 0x7d, 0x8a, 0xe7, - 0xfa, 0x59, 0x42, 0x9f, 0x0d, 0x7b, 0x20, 0x21, 0x3a, 0x0b, 0x80, 0x1f, 0xf9, 0x36, 0x4b, 0x41, - 0xd3, 0xb9, 0x52, 0xd6, 0x25, 0x88, 0xf6, 0xdb, 0x0a, 0x9c, 0x94, 0xdc, 0x71, 0xd9, 0xeb, 0xfa, - 0x0e, 0x8e, 0xf0, 0x2d, 0xc7, 0xdb, 0x6b, 0xbe, 0x91, 0x7a, 0xe4, 0x22, 0x4c, 0x9a, 0x86, 0xe3, - 0x6c, 0x1a, 0xe6, 0x0e, 0xed, 0x28, 0xdb, 0x86, 0x67, 0x0e, 0x0f, 0xe6, 0xeb, 0xcb, 0x1c, 0x4e, - 0xba, 0x58, 0x17, 0x48, 0xc4, 0x7d, 0xe4, 0x65, 0x24, 0xb9, 0x92, 0x52, 0xfa, 0x5c, 0x49, 0xfd, - 0x48, 0x81, 0x63, 0x92, 0x2e, 0x6b, 0xae, 0x1d, 0x51, 0x3d, 0xee, 0x65, 0x96, 0x30, 0x62, 0x45, - 0x49, 0x07, 0x56, 0xaa, 0x15, 0x47, 0xdb, 0x44, 0x7e, 0x85, 0x7c, 0x24, 0x86, 0x6d, 0x4a, 0x93, - 0xbf, 0x4c, 0x03, 0x93, 0x74, 0x0e, 0xb7, 0xa4, 0x9d, 0x20, 0xe5, 0x43, 0x77, 0x02, 0xc2, 0x83, - 0xc0, 0xc8, 0x16, 0x18, 0x62, 0x33, 0x0e, 0x70, 0x32, 0xac, 0x55, 0xb6, 0x05, 0xae, 0x53, 0x28, - 0xc1, 0xab, 0x31, 0x84, 0x8d, 0xc0, 0xd1, 0x7e, 0xa1, 0xc0, 0x85, 0xe5, 0x00, 0x5b, 0x64, 0x70, - 0x0d, 0xe7, 0x53, 0x38, 0xb0, 0xb7, 0xa4, 0x7b, 0x2b, 0xb9, 0x2b, 0x52, 0xae, 0xf5, 0x1a, 0x08, - 0x17, 0x95, 0x7a, 0x43, 0x37, 0x1b, 0x4e, 0x44, 0x84, 0x00, 0x47, 0x21, 0x7d, 0xca, 0x16, 0xf0, - 0x96, 0x7a, 0x0b, 0x78, 0x11, 0x8c, 0x39, 0xb6, 0xbb, 0xc3, 0x57, 0x4c, 0xfa, 0xfb, 0x43, 0xe8, - 0xea, 0x77, 0x15, 0xb8, 0xd2, 0xb7, 0xab, 0xc3, 0x79, 0x90, 0x9d, 0xef, 0x41, 0x6b, 0xb2, 0x07, - 0xd9, 0xcd, 0x4b, 0x42, 0xfd, 0xb3, 0x00, 0x36, 0x15, 0xb9, 0x65, 0xf3, 0xa2, 0xd5, 0x9a, 0x2e, - 0x41, 0xb4, 0x2f, 0x97, 0xe0, 0x24, 0xd3, 0x05, 0x5b, 0xa9, 0x76, 0x21, 0x3d, 0x9e, 0x7e, 0x45, - 0x5a, 0x58, 0x5f, 0x80, 0xd9, 0x2d, 0xdb, 0x89, 0xe8, 0x96, 0xd6, 0xc3, 0x4e, 0x65, 0x1f, 0xd6, - 0x12, 0x38, 0x39, 0x19, 0x0a, 0xe4, 0x30, 0x8c, 0x79, 0xb9, 0x58, 0x4d, 0x9f, 0xe4, 0x88, 0x14, - 0x86, 0x2e, 0xc1, 0x0c, 0x7e, 0x64, 0x3a, 0xb1, 0x85, 0xdb, 0x74, 0x56, 0xf1, 0x32, 0x85, 0xaa, - 0x3e, 0xcd, 0xc1, 0xab, 0x0c, 0xda, 0x34, 0x44, 0x5f, 0x3e, 0x0d, 0x60, 0x26, 0x2a, 0xf2, 0x15, - 0xfe, 0xa3, 0xf9, 0x2b, 0x3c, 0xbb, 0xe6, 0x3b, 0xda, 0x31, 0x1d, 0x77, 0xec, 0x30, 0xc2, 0x01, - 0xb6, 0x74, 0x89, 0x97, 0xf6, 0x0d, 0x25, 0xb9, 0x1e, 0x65, 0x9b, 0x2b, 0xed, 0xbf, 0x14, 0x58, - 0x3a, 0x23, 0xce, 0x48, 0x74, 0x03, 0x2a, 0xdc, 0x01, 0x87, 0xbf, 0xd7, 0x16, 0x14, 0xda, 0x6f, - 0xf5, 0x68, 0xb3, 0xec, 0x59, 0x38, 0x33, 0x31, 0x95, 0xec, 0xc4, 0x44, 0x17, 0x60, 0xda, 0xf4, - 0x2c, 0xdc, 0x36, 0xb7, 0x0d, 0xc7, 0xc1, 0x6e, 0x47, 0x6c, 0xa1, 0x53, 0x04, 0xba, 0x2c, 0x80, - 0x19, 0xe5, 0xcb, 0x7d, 0x96, 0x93, 0x0f, 0x14, 0x98, 0xd7, 0xb3, 0x57, 0xc8, 0xf4, 0xba, 0x8c, - 0xd9, 0x8e, 0x45, 0x47, 0xef, 0x66, 0x96, 0x96, 0xa1, 0x6c, 0x32, 0x64, 0x75, 0x50, 0xba, 0x7b, - 0x7e, 0x51, 0x81, 0x73, 0x79, 0x7a, 0x30, 0x08, 0x3f, 0xe1, 0x3e, 0x51, 0xc2, 0x7b, 0x5e, 0x8c, - 0xeb, 0x09, 0x28, 0x79, 0x6c, 0x53, 0xae, 0xb2, 0x4d, 0xf9, 0xc1, 0x1d, 0xbd, 0xe4, 0xed, 0x68, - 0x3f, 0x02, 0x80, 0xf5, 0xfd, 0x30, 0xc2, 0x5d, 0x9a, 0xc0, 0x90, 0x5c, 0xe2, 0xdf, 0x93, 0xb8, - 0x78, 0x09, 0x2a, 0x7e, 0xe0, 0x91, 0xc0, 0x8c, 0x0b, 0xbe, 0x94, 0x3f, 0xd6, 0x09, 0x9b, 0x85, - 0x16, 0x43, 0xd7, 0x05, 0x1d, 0x7a, 0x13, 0xca, 0xfe, 0xa2, 0xdf, 0x37, 0xd9, 0x26, 0x93, 0x2f, - 0xb6, 0xd8, 0x52, 0xd4, 0x5a, 0x6c, 0xe9, 0x84, 0x10, 0xdd, 0x87, 0x8a, 0x17, 0x6c, 0xda, 0x91, - 0xb5, 0xc9, 0x0b, 0xaa, 0x06, 0xaa, 0xf0, 0x80, 0xa0, 0xaf, 0xdc, 0x64, 0x43, 0xc0, 0x1b, 0xba, - 0x60, 0x42, 0xb6, 0xee, 0x3d, 0x23, 0x70, 0xc5, 0xd9, 0x94, 0x35, 0x9a, 0xff, 0xa6, 0x80, 0x40, - 0x45, 0x56, 0x7a, 0xf1, 0x9e, 0xc4, 0x1f, 0xac, 0xf7, 0xaf, 0x0f, 0x29, 0x7a, 0x41, 0x1e, 0x5a, - 0x7a, 0x52, 0xd6, 0x67, 0x38, 0xcb, 0xe4, 0xca, 0xeb, 0x0b, 0x30, 0x7b, 0x04, 0x8b, 0xcc, 0x04, - 0x3f, 0xf0, 0x3a, 0x81, 0x30, 0x78, 0x59, 0x4f, 0xda, 0x34, 0xf5, 0x68, 0x3c, 0xb2, 0xbb, 0x71, - 0x97, 0x1a, 0xb3, 0xac, 0x8b, 0x26, 0xa1, 0xda, 0x8c, 0xb7, 0xb6, 0xb0, 0x58, 0x68, 0xca, 0x7a, - 0xd2, 0x26, 0x67, 0x71, 0x56, 0xec, 0xc6, 0xf7, 0x79, 0xde, 0x6a, 0x2e, 0x00, 0x31, 0x31, 0x59, - 0xaa, 0x92, 0xc3, 0x6f, 0x9b, 0x84, 0xee, 0x42, 0xee, 0x74, 0x02, 0x26, 0x91, 0x7d, 0xd8, 0xfc, - 0xfa, 0x04, 0x54, 0xf8, 0xd8, 0x12, 0x4d, 0x76, 0x71, 0x10, 0x92, 0xe0, 0x81, 0xad, 0x93, 0xa2, - 0x89, 0x4e, 0x42, 0x65, 0xd7, 0x0c, 0xdb, 0x01, 0xde, 0xe2, 0xd3, 0x74, 0x62, 0xd7, 0x0c, 0x75, - 0xbc, 0x45, 0x0e, 0x31, 0xb1, 0x1f, 0xd9, 0x5d, 0xdc, 0xee, 0x86, 0x4c, 0x47, 0x76, 0x88, 0xd9, - 0xa0, 0xc0, 0x7b, 0xeb, 0x7a, 0x95, 0x7d, 0xbe, 0x17, 0xa2, 0x8f, 0x81, 0x1a, 0x87, 0x38, 0x68, - 0x9b, 0x7e, 0xdc, 0x16, 0x14, 0x40, 0x29, 0x66, 0x0f, 0x0f, 0xe6, 0xa7, 0x36, 0x42, 0x1c, 0x2c, - 0xb7, 0x36, 0x1e, 0x32, 0xb2, 0x29, 0x82, 0xba, 0xec, 0xc7, 0x0f, 0x19, 0xed, 0x27, 0x01, 0x85, - 0x74, 0x34, 0x32, 0xd4, 0x75, 0x4a, 0x4d, 0xcb, 0x67, 0xd9, 0x58, 0xa5, 0xf4, 0x33, 0x0c, 0x3d, - 0xe5, 0x70, 0x06, 0x20, 0x8c, 0x0c, 0x1a, 0x7b, 0x19, 0x51, 0x63, 0x92, 0xda, 0xa2, 0xc6, 0x21, - 0x4b, 0xf4, 0xc1, 0x4c, 0xe0, 0x90, 0x23, 0x7b, 0xdb, 0x8c, 0x83, 0xc6, 0x14, 0x2d, 0x9a, 0xae, - 0x31, 0xc8, 0x72, 0x4c, 0xb7, 0x07, 0x37, 0xee, 0xb6, 0x3b, 0x5e, 0xe0, 0xc5, 0x91, 0xed, 0xe2, - 0xc6, 0x34, 0x65, 0x30, 0xe9, 0xc6, 0xdd, 0xdb, 0x02, 0x46, 0x86, 0xc4, 0xf5, 0xb6, 0x6c, 0x07, - 0x37, 0x66, 0xd8, 0x90, 0xb0, 0x16, 0x7a, 0x09, 0x8e, 0x45, 0x9e, 0xd7, 0xee, 0x1a, 0xee, 0x7e, - 0xdb, 0xf3, 0xb1, 0xdb, 0x26, 0xd0, 0xb0, 0xa1, 0xd2, 0xad, 0x43, 0x8d, 0x3c, 0xef, 0x9e, 0xe1, - 0xee, 0x3f, 0xf0, 0xb1, 0x7b, 0x8b, 0xc0, 0xd1, 0x79, 0xa8, 0x10, 0x59, 0xa6, 0x1f, 0x37, 0x66, - 0x69, 0x07, 0x69, 0x02, 0xe4, 0x7e, 0x4c, 0x7a, 0xa7, 0x4f, 0xb8, 0x31, 0xe9, 0x14, 0xd1, 0xb7, - 0xe3, 0xb5, 0xc5, 0x68, 0x21, 0x3a, 0x26, 0xb5, 0x8e, 0xf7, 0x29, 0x3e, 0x5e, 0x57, 0x40, 0xf5, - 0x7c, 0x1c, 0xd0, 0x42, 0x9f, 0x36, 0x33, 0x45, 0xe3, 0x18, 0x8b, 0x81, 0x13, 0x38, 0x33, 0x19, - 0x7a, 0x16, 0x6a, 0xdb, 0x5e, 0x18, 0xb5, 0x5d, 0xa3, 0x8b, 0x1b, 0x73, 0x14, 0xa7, 0x4a, 0x00, - 0xf7, 0x8d, 0x2e, 0x26, 0x71, 0x86, 0x11, 0x98, 0xdb, 0x8d, 0xe3, 0x2c, 0xce, 0x20, 0xbf, 0x25, - 0x53, 0x75, 0x8d, 0x47, 0x8d, 0x13, 0xb2, 0xa9, 0xee, 0x19, 0x8f, 0x48, 0xf4, 0xe1, 0xdb, 0x56, - 0xe3, 0x24, 0x55, 0x9d, 0x4d, 0x79, 0x72, 0xe4, 0xf6, 0x6d, 0x0b, 0x9d, 0x86, 0x31, 0x9f, 0x7c, - 0x6b, 0xd0, 0x6f, 0xd5, 0xc3, 0x83, 0xf9, 0xb1, 0x16, 0xf9, 0x48, 0xa1, 0x6c, 0x8e, 0xd8, 0x5e, - 0x60, 0x47, 0xfb, 0x8d, 0x53, 0x62, 0x8e, 0xb0, 0x36, 0x0d, 0x69, 0x6c, 0xab, 0xd1, 0x4c, 0x99, - 0x6e, 0x10, 0xa6, 0xb1, 0x6d, 0xa1, 0x79, 0xa8, 0xef, 0x79, 0xc1, 0x0e, 0xe9, 0xa8, 0x65, 0x07, - 0x8d, 0x67, 0x59, 0xbc, 0xc0, 0x41, 0x2b, 0x36, 0xdd, 0xb5, 0xb9, 0xef, 0x10, 0x9f, 0xa2, 0xdd, - 0x3c, 0x4d, 0x91, 0xa6, 0x19, 0x78, 0x83, 0x43, 0xb5, 0x5f, 0x8f, 0x43, 0x95, 0x4c, 0x8a, 0xde, - 0x9d, 0x74, 0x49, 0xac, 0x9a, 0x1f, 0x85, 0x71, 0x31, 0x95, 0xca, 0x85, 0x97, 0x22, 0x82, 0x03, - 0xfd, 0xa1, 0x33, 0x82, 0xe6, 0x0f, 0x4b, 0x30, 0x46, 0xda, 0xd2, 0x3b, 0x8c, 0x5a, 0xe6, 0x1d, - 0xc6, 0x0d, 0x98, 0x20, 0x6e, 0x84, 0x59, 0x22, 0xa2, 0x68, 0x41, 0x4d, 0x78, 0xeb, 0x04, 0x57, - 0xe7, 0x24, 0xc4, 0xf1, 0xe8, 0x89, 0x58, 0x84, 0xbf, 0xbc, 0x85, 0x96, 0xa0, 0xba, 0x85, 0x8d, - 0x28, 0x0e, 0x30, 0x5b, 0x15, 0xa7, 0x8b, 0x9e, 0xb0, 0x08, 0xb6, 0xb7, 0x18, 0xb6, 0x9e, 0x90, - 0x11, 0xeb, 0x76, 0x6d, 0xb7, 0xed, 0x18, 0x11, 0x76, 0x4d, 0xf6, 0x06, 0xab, 0xac, 0x43, 0xd7, - 0x76, 0xef, 0x32, 0x08, 0x71, 0x1f, 0x3b, 0x6c, 0xd3, 0x0c, 0x2e, 0xe6, 0xe9, 0xf4, 0xaa, 0x1d, - 0xd2, 0xfc, 0x31, 0x46, 0x1f, 0x87, 0x9a, 0x65, 0x07, 0xd8, 0xa4, 0xe7, 0x91, 0x4a, 0x9f, 0x44, - 0xc9, 0x8a, 0xc0, 0xd2, 0x53, 0x82, 0xe6, 0xcf, 0xc8, 0x76, 0x45, 0x7a, 0x98, 0x15, 0xa2, 0xf4, - 0x08, 0x69, 0x40, 0xc5, 0xb0, 0x2c, 0xba, 0xb4, 0xb2, 0xb5, 0x49, 0x34, 0xb3, 0xe2, 0xcb, 0x23, - 0x8a, 0x27, 0x7c, 0x45, 0xb7, 0xd9, 0x12, 0x2b, 0x9a, 0xe8, 0x4d, 0xa8, 0x84, 0x51, 0x80, 0x8d, - 0xae, 0x48, 0x36, 0x3c, 0xdf, 0xdf, 0xac, 0xeb, 0x14, 0x59, 0x17, 0x44, 0xcd, 0x73, 0x30, 0xc1, - 0x40, 0x45, 0xee, 0xa0, 0xbd, 0x0f, 0x15, 0x3e, 0x16, 0x08, 0xc1, 0x34, 0x4f, 0x3b, 0x72, 0x88, - 0xfa, 0x0c, 0x9a, 0x81, 0xfa, 0x3b, 0x38, 0xdc, 0x16, 0x00, 0x05, 0x4d, 0x03, 0xdc, 0xbc, 0xbb, - 0x2a, 0xda, 0x34, 0x0d, 0x79, 0xd7, 0x33, 0x0d, 0x47, 0x40, 0xca, 0x34, 0x81, 0xe9, 0x05, 0xa2, - 0x3d, 0x46, 0x58, 0xbc, 0x1d, 0xdb, 0xa6, 0x00, 0x8c, 0x6b, 0xdf, 0x57, 0xa0, 0xda, 0x12, 0x7b, - 0xd2, 0x1c, 0x8c, 0x87, 0x91, 0x11, 0x89, 0xf3, 0x35, 0x6b, 0x10, 0xa8, 0xe5, 0xd9, 0x6e, 0x47, - 0x64, 0x3b, 0x68, 0x23, 0xb3, 0xb7, 0x11, 0x23, 0x97, 0xa4, 0xbd, 0xed, 0x34, 0xd4, 0x4c, 0x7e, - 0x46, 0x60, 0x1b, 0xd5, 0x98, 0x9e, 0x02, 0xd8, 0x69, 0x3b, 0x32, 0x1c, 0xea, 0x56, 0x63, 0x3a, - 0x6b, 0x50, 0x29, 0xd8, 0x31, 0xd8, 0x53, 0xc8, 0x31, 0x9d, 0x35, 0x34, 0x17, 0x66, 0xd9, 0xad, - 0xc6, 0x3b, 0x76, 0xb4, 0xcd, 0x52, 0x64, 0xe1, 0x28, 0x6f, 0x71, 0x16, 0xa0, 0xce, 0xd2, 0x69, - 0x61, 0xdb, 0xdf, 0xc9, 0xbc, 0x74, 0x12, 0xf9, 0xb6, 0x50, 0x07, 0x8e, 0xd1, 0xda, 0x09, 0xb5, - 0x03, 0x05, 0x66, 0x1f, 0xc4, 0xd1, 0x83, 0x2d, 0x9a, 0xdd, 0x14, 0x6f, 0xc7, 0xfa, 0xe4, 0x13, - 0x47, 0xc8, 0xcc, 0x4b, 0xcf, 0x73, 0x88, 0xc1, 0x26, 0xd2, 0x37, 0x79, 0xfc, 0xa1, 0xdd, 0x58, - 0xfa, 0xd0, 0x6e, 0x0e, 0xc6, 0xb7, 0x1c, 0xa3, 0x13, 0x52, 0x1b, 0x55, 0x74, 0xd6, 0xa0, 0xc9, - 0x31, 0xf1, 0xae, 0xad, 0x9d, 0x4d, 0x0d, 0xaa, 0xc9, 0x87, 0x16, 0x7f, 0xbe, 0x98, 0x3c, 0x14, - 0xab, 0x48, 0x0f, 0xc5, 0xb4, 0x9f, 0x28, 0x70, 0x2c, 0xa7, 0xb2, 0x0c, 0xad, 0x00, 0xb0, 0xd0, - 0x58, 0xba, 0xf5, 0x90, 0x96, 0x8d, 0x38, 0xdc, 0xee, 0xa9, 0x49, 0xa3, 0x41, 0x33, 0x4b, 0x2b, - 0x47, 0xe2, 0x27, 0xb1, 0xc6, 0x66, 0xec, 0x5a, 0x0e, 0x4e, 0x4b, 0x53, 0xa9, 0x35, 0x6e, 0x52, - 0xe0, 0xda, 0x0a, 0x89, 0x64, 0xe8, 0x2f, 0x2b, 0xcd, 0xb9, 0xf0, 0xdb, 0x62, 0x96, 0x73, 0xb9, - 0x0e, 0x73, 0x01, 0x36, 0x6d, 0xdf, 0xc6, 0x6e, 0xd4, 0x96, 0x8e, 0xc2, 0xcc, 0x34, 0x28, 0xf9, - 0xd6, 0x12, 0x67, 0x62, 0xed, 0x3e, 0x40, 0x5a, 0xc0, 0xc6, 0x1e, 0xf3, 0x92, 0x5f, 0xf2, 0x0b, - 0x58, 0x06, 0x21, 0x07, 0x68, 0x29, 0x8f, 0x44, 0x56, 0x0b, 0xee, 0xd1, 0xe2, 0x90, 0xbe, 0x64, - 0x59, 0x81, 0xf6, 0x55, 0x05, 0x4e, 0x11, 0x86, 0x6c, 0x00, 0x79, 0x89, 0xae, 0x38, 0x8b, 0xa1, - 0x37, 0xb3, 0x69, 0xbb, 0xe1, 0x2b, 0xf7, 0x78, 0xff, 0x86, 0x77, 0x17, 0x72, 0xa6, 0x68, 0xa6, - 0x8a, 0xf0, 0x92, 0xbd, 0x54, 0x93, 0xd7, 0x60, 0x82, 0x57, 0xfb, 0x29, 0xc3, 0x55, 0xfb, 0x71, - 0xf4, 0x51, 0x54, 0xf8, 0xfb, 0x52, 0xf2, 0xf6, 0xa3, 0xdf, 0x09, 0x75, 0x94, 0x9a, 0xe2, 0x1b, - 0xd0, 0x0c, 0xed, 0x8e, 0x8b, 0x2d, 0x7e, 0x3c, 0x8f, 0xf6, 0xdb, 0x47, 0x32, 0x1e, 0x27, 0x19, - 0xc6, 0x1a, 0x47, 0x48, 0xc6, 0x1a, 0x5d, 0x83, 0x63, 0xbb, 0x5c, 0x8f, 0xb6, 0x74, 0xc0, 0x66, - 0xe9, 0x10, 0xb4, 0x7b, 0x44, 0x45, 0x32, 0x61, 0x02, 0xaa, 0x26, 0x4b, 0x85, 0xb5, 0x2d, 0xb2, - 0xb8, 0xb1, 0x65, 0x5d, 0x95, 0x3f, 0xac, 0x90, 0x75, 0x8e, 0x9e, 0xf3, 0x45, 0xd6, 0x8c, 0xa1, - 0xb2, 0x8d, 0x6f, 0x3a, 0x05, 0x53, 0xc4, 0x6c, 0xaa, 0x62, 0xa2, 0x37, 0x55, 0x41, 0x36, 0x66, - 0x9e, 0x4e, 0xa8, 0xb0, 0xa8, 0x99, 0xb5, 0xb4, 0x6f, 0x2b, 0x70, 0x9c, 0x0c, 0x08, 0x5b, 0xa7, - 0xa8, 0x6b, 0x6d, 0xf8, 0x44, 0xce, 0xe3, 0x0f, 0x66, 0x32, 0x8b, 0x4a, 0xf2, 0x2c, 0x1a, 0xe1, - 0xd6, 0xf7, 0xbf, 0x32, 0x0b, 0x1e, 0x77, 0xd7, 0xe6, 0xf9, 0xf4, 0xa8, 0x2a, 0x5d, 0x42, 0x28, - 0x99, 0x4b, 0x88, 0xe6, 0x5f, 0x27, 0xe7, 0xca, 0x4f, 0xa6, 0x65, 0x14, 0x4c, 0xff, 0x8b, 0xb9, - 0xfa, 0x1f, 0x59, 0x58, 0xd3, 0x57, 0xad, 0x64, 0xc7, 0x70, 0x30, 0x09, 0xcb, 0x1f, 0x89, 0x1b, - 0xd3, 0x14, 0x80, 0x2e, 0x83, 0xca, 0xcf, 0xe3, 0xa9, 0xab, 0xb0, 0x65, 0x63, 0x9a, 0x1d, 0xc5, - 0x13, 0x0f, 0xb9, 0x02, 0xaa, 0xe1, 0x04, 0xd8, 0xb0, 0xf6, 0xdb, 0x01, 0x7f, 0xc7, 0x42, 0xc7, - 0xbb, 0xaa, 0xcf, 0x70, 0xb8, 0x78, 0xde, 0x42, 0xeb, 0x7a, 0x52, 0x8d, 0xd6, 0xb1, 0xe1, 0x34, - 0xef, 0xa7, 0xdd, 0xee, 0xb3, 0xe4, 0xe7, 0x69, 0x53, 0xca, 0xd3, 0xa6, 0x79, 0x41, 0x18, 0xe8, - 0x34, 0xd4, 0x92, 0xf5, 0x59, 0xac, 0x4a, 0x09, 0x40, 0x7b, 0x03, 0x66, 0x6f, 0xd9, 0x41, 0x18, - 0xdd, 0x35, 0xc2, 0x68, 0x99, 0x6d, 0x09, 0x74, 0x2f, 0xde, 0x22, 0x40, 0xfe, 0x7e, 0x9b, 0x35, - 0x68, 0x06, 0xd0, 0x08, 0x23, 0xfe, 0xbe, 0x93, 0xfe, 0xd6, 0xfe, 0x49, 0x81, 0x63, 0xfc, 0xa4, - 0x2a, 0xd5, 0xb9, 0xb0, 0xb3, 0x0f, 0x36, 0x1c, 0x6c, 0xb5, 0x37, 0xbd, 0x47, 0xc2, 0xa8, 0x0c, - 0x72, 0xd3, 0x7b, 0x44, 0xd6, 0xc2, 0xc0, 0xd8, 0x6b, 0x07, 0x1e, 0x2b, 0xf3, 0xe2, 0x06, 0xad, - 0x07, 0xc6, 0x9e, 0xce, 0x41, 0xcd, 0x0f, 0x14, 0x28, 0x13, 0x54, 0x29, 0xd6, 0x52, 0xb2, 0xb1, - 0xd6, 0x1c, 0x8c, 0xd3, 0x77, 0xfe, 0xc2, 0xff, 0x68, 0x63, 0x04, 0xff, 0xeb, 0x2d, 0x6c, 0x9f, - 0xcc, 0xbd, 0xf7, 0xfd, 0xb5, 0x02, 0xc7, 0x75, 0xbc, 0x15, 0xe0, 0x70, 0x3b, 0x5b, 0xf4, 0xd9, - 0x7c, 0x75, 0x40, 0x80, 0x3d, 0x07, 0xe3, 0xec, 0xea, 0xba, 0xc4, 0xd2, 0x03, 0xec, 0xe6, 0xfa, - 0xed, 0xc7, 0xac, 0xbe, 0x24, 0x86, 0x20, 0xa7, 0x50, 0x2f, 0x8e, 0xc4, 0xa1, 0x9d, 0x37, 0x9b, - 0xef, 0x8a, 0xa1, 0x6e, 0x41, 0x9d, 0x06, 0xff, 0xed, 0x2d, 0x2f, 0x76, 0x2d, 0x7e, 0x66, 0xb8, - 0x96, 0x3b, 0x1f, 0x72, 0xbb, 0xc4, 0x0e, 0x10, 0x40, 0x79, 0xdc, 0x22, 0x2c, 0xae, 0xda, 0x90, - 0xde, 0xe1, 0xa2, 0x13, 0xbc, 0x04, 0x8c, 0xdd, 0x7f, 0x5b, 0x78, 0xcb, 0x76, 0xb1, 0xa5, 0x3e, - 0x83, 0xe6, 0x78, 0xd5, 0x0e, 0x81, 0xf3, 0x25, 0x5b, 0x55, 0x32, 0x50, 0x2e, 0x86, 0x5d, 0x7e, - 0x27, 0x50, 0xa9, 0xee, 0x4f, 0x2d, 0x5f, 0xfd, 0x4a, 0x0d, 0x6a, 0xe9, 0x55, 0xe5, 0x09, 0x40, - 0x49, 0x43, 0x96, 0x75, 0x1e, 0xe6, 0x13, 0x38, 0x2f, 0x15, 0x4a, 0x5f, 0x4a, 0xd3, 0xe7, 0x35, - 0xaa, 0x82, 0x2e, 0xc0, 0x73, 0x59, 0xa4, 0xec, 0xbb, 0x63, 0x86, 0x56, 0x42, 0xf3, 0xf0, 0x6c, - 0x82, 0x76, 0xf4, 0x61, 0xa7, 0x8a, 0xd1, 0x19, 0x38, 0x95, 0x8b, 0x70, 0x17, 0x6f, 0x45, 0xea, - 0x16, 0xba, 0x0a, 0x17, 0x7b, 0x3f, 0xe7, 0x3f, 0x9f, 0x54, 0x3b, 0xe8, 0x0a, 0x5c, 0xe8, 0x8f, - 0x2b, 0xca, 0xdb, 0xb7, 0xd1, 0x75, 0x78, 0xb1, 0x3f, 0x6a, 0xf6, 0xf5, 0xa3, 0x6a, 0xa3, 0x45, - 0x58, 0xe8, 0x4f, 0xf1, 0x20, 0x8e, 0x3a, 0x24, 0x72, 0x16, 0xcf, 0x15, 0xd5, 0xcf, 0xa1, 0x05, - 0xb8, 0x3a, 0x1c, 0xcd, 0x3a, 0x76, 0x23, 0x75, 0x67, 0xb0, 0x8c, 0x35, 0xd7, 0xf4, 0xba, 0xb6, - 0xdb, 0x11, 0x8b, 0x9c, 0xea, 0xa0, 0x57, 0xe0, 0xda, 0x70, 0x34, 0xc9, 0xd3, 0x38, 0xb5, 0x3b, - 0xbc, 0x20, 0xf1, 0xa6, 0x4d, 0x75, 0x91, 0x06, 0x67, 0x0b, 0x68, 0xf8, 0xeb, 0x32, 0xd5, 0x43, - 0xcf, 0xc3, 0xb9, 0x02, 0x9c, 0xe4, 0x3d, 0x98, 0xea, 0x23, 0x0d, 0xce, 0x24, 0x58, 0x3d, 0x35, - 0xce, 0xcc, 0x6d, 0x7e, 0xac, 0xa0, 0xeb, 0xf0, 0x42, 0x82, 0xd3, 0xb7, 0x56, 0x97, 0x51, 0xfc, - 0xa0, 0x84, 0x5e, 0x95, 0x0c, 0x71, 0xb4, 0xda, 0x55, 0x7a, 0x57, 0xbd, 0xe4, 0xba, 0x5e, 0xec, - 0x9a, 0xd8, 0x52, 0xff, 0xbc, 0x84, 0x16, 0xe0, 0x4a, 0xb1, 0x9c, 0x4c, 0xb5, 0x2e, 0xb6, 0xd4, - 0xbf, 0x28, 0xa1, 0x8b, 0x92, 0xdb, 0x17, 0x3d, 0x3e, 0x53, 0xbf, 0x5d, 0x46, 0x97, 0xe1, 0x7c, - 0x3f, 0x3c, 0xfe, 0x2a, 0x4c, 0xfd, 0x4e, 0x19, 0x9d, 0x95, 0x26, 0x40, 0xef, 0x6b, 0x2e, 0xf5, - 0xbb, 0x65, 0x74, 0x5e, 0xb2, 0x7b, 0x6e, 0x74, 0xa1, 0xfe, 0x7e, 0x19, 0x5d, 0x02, 0x2d, 0x83, - 0x94, 0x1b, 0xdd, 0xaa, 0xdf, 0xcb, 0xea, 0x55, 0x1c, 0x7d, 0xaa, 0x7f, 0x50, 0x46, 0x2f, 0x1f, - 0x9d, 0x22, 0xfd, 0x82, 0x44, 0xf5, 0x97, 0xe5, 0x8c, 0x71, 0x32, 0xc5, 0x95, 0xfc, 0xcc, 0x42, - 0xdd, 0xfc, 0x5f, 0x2a, 0x57, 0xbf, 0x21, 0x6e, 0xd1, 0x73, 0x8a, 0x3f, 0xc8, 0xc2, 0x52, 0xf4, - 0xad, 0x67, 0x91, 0x2a, 0x42, 0xe3, 0xbb, 0xa4, 0xaa, 0x10, 0x7f, 0x2c, 0x46, 0x62, 0xaa, 0xa9, - 0xa5, 0xab, 0x7f, 0xa3, 0x24, 0x2f, 0x02, 0xd8, 0xb3, 0x98, 0x53, 0xc9, 0xe3, 0x03, 0xda, 0x96, - 0xc5, 0xf6, 0x7c, 0x7a, 0xe8, 0xf1, 0x09, 0xa3, 0x2a, 0x64, 0xd9, 0x95, 0x3f, 0x25, 0x73, 0xb4, - 0x84, 0x8e, 0xc3, 0xac, 0xfc, 0x85, 0x39, 0x49, 0x19, 0x9d, 0x4c, 0x4a, 0xfc, 0x39, 0x01, 0xf3, - 0x89, 0xb1, 0x5e, 0x21, 0xe9, 0xcc, 0x1d, 0xef, 0xa5, 0x11, 0x53, 0x6f, 0xe2, 0xea, 0x6d, 0xa8, - 0x25, 0xf9, 0x0e, 0x34, 0x0d, 0xc0, 0xb3, 0x0b, 0x2b, 0x76, 0xa0, 0x3e, 0x43, 0xda, 0x6b, 0xee, - 0x26, 0xd9, 0x6d, 0x48, 0x5b, 0x41, 0x33, 0x50, 0x7f, 0x10, 0x47, 0x09, 0xa0, 0x84, 0x6a, 0x30, - 0x7e, 0xd3, 0x26, 0x3f, 0xcb, 0x8b, 0xdf, 0xbc, 0x02, 0x33, 0xe2, 0xbf, 0x9f, 0x88, 0xfb, 0xf9, - 0x30, 0xe7, 0xd1, 0x1e, 0x5a, 0xe8, 0x77, 0x91, 0x94, 0xe2, 0x2d, 0x24, 0x2f, 0xfb, 0x86, 0xc6, - 0xf7, 0x9d, 0xfd, 0xeb, 0x0a, 0xfa, 0xb2, 0x52, 0xf8, 0xb6, 0x0f, 0xbd, 0x3a, 0xd2, 0xb3, 0x2d, - 0xa1, 0xc1, 0xe2, 0x88, 0x54, 0x64, 0xbf, 0x27, 0x5a, 0x14, 0x6c, 0x0d, 0x05, 0x5a, 0x14, 0x60, - 0x0f, 0xd0, 0xa2, 0x98, 0x8a, 0x68, 0xf1, 0x85, 0x82, 0x07, 0x4f, 0x68, 0x18, 0x66, 0x1c, 0x37, - 0x51, 0xe0, 0xfa, 0x48, 0x34, 0x44, 0xfc, 0xe7, 0xf3, 0x9f, 0x50, 0xa1, 0x97, 0x87, 0xe0, 0xc4, - 0x50, 0x13, 0xe1, 0xd7, 0x46, 0x21, 0x21, 0xb2, 0xbf, 0xa3, 0xf4, 0x7f, 0x5d, 0x85, 0x5e, 0x1f, - 0xca, 0x9e, 0x32, 0x49, 0xa2, 0xcc, 0x6b, 0x8f, 0x43, 0x4a, 0x94, 0x8a, 0xf2, 0x9e, 0x61, 0xa1, - 0x61, 0xfa, 0x46, 0x10, 0x13, 0xf9, 0x2f, 0x0d, 0x4f, 0x90, 0x3b, 0x0c, 0x6c, 0x7b, 0x1e, 0x6a, - 0x18, 0x18, 0xea, 0x48, 0xc3, 0x90, 0x90, 0x14, 0x79, 0x20, 0x59, 0x95, 0x86, 0xf5, 0x40, 0x82, - 0x3b, 0xaa, 0x07, 0x72, 0x1a, 0x22, 0x7e, 0x33, 0xfb, 0x68, 0x0b, 0x5d, 0xe9, 0xc7, 0x81, 0xa2, - 0x24, 0xc2, 0x2e, 0x0d, 0x83, 0x4a, 0x64, 0x6c, 0xf7, 0x3e, 0xe3, 0x42, 0x2f, 0xf4, 0x23, 0xe5, - 0x48, 0x89, 0x9c, 0x2b, 0xc3, 0x21, 0x13, 0x49, 0x7b, 0xb9, 0x8f, 0xbb, 0x50, 0x5f, 0xb3, 0xc8, - 0x98, 0x89, 0xcc, 0x85, 0x11, 0x28, 0x88, 0xe0, 0x2f, 0x2a, 0x45, 0x6f, 0xc0, 0xd0, 0x2b, 0xf9, - 0x2f, 0x2b, 0x72, 0x91, 0x13, 0xf9, 0x2f, 0x8f, 0x46, 0xc4, 0x9d, 0x38, 0xef, 0xbd, 0x18, 0x1a, - 0x8e, 0x15, 0x41, 0x1d, 0xe0, 0xc4, 0x05, 0x24, 0xdc, 0x89, 0x73, 0x5f, 0x93, 0x15, 0x38, 0x71, - 0x2e, 0xee, 0x00, 0x27, 0x2e, 0xa2, 0x21, 0xe2, 0x7f, 0xa0, 0x0c, 0xf9, 0xf0, 0x0c, 0xdd, 0x1c, - 0x8a, 0x77, 0x2e, 0x6d, 0xa2, 0xdf, 0x27, 0x9f, 0x88, 0x07, 0xd1, 0xf7, 0x0f, 0x07, 0x3e, 0x61, - 0x43, 0x37, 0x86, 0x13, 0x92, 0x21, 0x4a, 0x34, 0x7c, 0xfd, 0xf1, 0x88, 0x89, 0x6a, 0x7f, 0x3c, - 0xc4, 0x9b, 0x36, 0xf4, 0xc6, 0x50, 0xfc, 0x7b, 0xc9, 0x12, 0xf5, 0x6e, 0x3c, 0x2e, 0x39, 0x51, - 0x70, 0xe7, 0xc8, 0x03, 0x37, 0x94, 0x1f, 0x00, 0xf5, 0x60, 0x25, 0xd2, 0xaf, 0x0e, 0x89, 0xcd, - 0x57, 0xae, 0xec, 0x13, 0xb6, 0x82, 0x95, 0x2b, 0x8b, 0x34, 0x60, 0xe5, 0x3a, 0x82, 0x4c, 0x24, - 0xb9, 0x39, 0xcf, 0xa6, 0x0a, 0x22, 0xc1, 0x23, 0x78, 0x03, 0x56, 0xe4, 0xa3, 0x4f, 0xdf, 0xae, - 0x2b, 0x68, 0xe7, 0xe8, 0x6b, 0x25, 0xf4, 0x52, 0x3f, 0xf2, 0x04, 0x2d, 0x91, 0x76, 0x71, 0x20, - 0xba, 0x10, 0xf6, 0xae, 0xf4, 0x44, 0x08, 0xf5, 0x21, 0xa3, 0xc5, 0x23, 0x82, 0xfd, 0xf3, 0x03, - 0xf1, 0x88, 0xdd, 0x70, 0xcf, 0xeb, 0x1b, 0x54, 0x30, 0xbc, 0x32, 0x4e, 0x22, 0xe2, 0xf2, 0x50, - 0xb8, 0xdc, 0xeb, 0x7a, 0x1e, 0xde, 0x14, 0x78, 0x5d, 0x0f, 0xd6, 0x00, 0xaf, 0x3b, 0x8a, 0x4d, - 0x84, 0x85, 0x39, 0xaf, 0x72, 0xfa, 0xf9, 0x42, 0xe6, 0x2d, 0x4a, 0xff, 0x53, 0x41, 0x1e, 0x3e, - 0x3b, 0x15, 0x74, 0x8f, 0xbc, 0xbb, 0x28, 0xec, 0x61, 0x06, 0x6b, 0x60, 0x0f, 0x7b, 0xb1, 0x99, - 0xb8, 0x2f, 0x29, 0x45, 0x4f, 0x23, 0x0a, 0x36, 0xcc, 0x7c, 0xe4, 0x01, 0x1b, 0x66, 0x21, 0x11, - 0x53, 0xe2, 0x3d, 0xf9, 0x39, 0x00, 0xba, 0x54, 0xcc, 0x22, 0x3b, 0x96, 0x17, 0x06, 0x23, 0x92, - 0x61, 0xfc, 0x6a, 0x9f, 0x9a, 0x76, 0xf4, 0xff, 0x8a, 0x79, 0xe4, 0xa0, 0x27, 0xa2, 0x5f, 0x19, - 0x95, 0x8c, 0x28, 0xf2, 0x9e, 0x5c, 0xe1, 0x86, 0x06, 0x16, 0x8e, 0xf5, 0xef, 0x66, 0x06, 0x91, - 0xc7, 0x5c, 0x39, 0x95, 0xc9, 0x05, 0x31, 0x57, 0x0e, 0xe6, 0x80, 0x98, 0x2b, 0x9f, 0x42, 0x9c, - 0x20, 0x0b, 0xea, 0xb3, 0x0b, 0x4e, 0x90, 0x05, 0xd8, 0x03, 0x4e, 0x90, 0xc5, 0x54, 0x22, 0xf6, - 0x18, 0xaa, 0xc0, 0xb9, 0x20, 0xf6, 0x18, 0x8a, 0x76, 0x40, 0xec, 0x31, 0x2c, 0x0f, 0xa2, 0xef, - 0x5f, 0x8d, 0x52, 0xa5, 0x8c, 0x6e, 0x8d, 0x2e, 0x2f, 0xd7, 0xb2, 0x2b, 0x4f, 0xcc, 0x87, 0xe8, - 0xfe, 0x81, 0x52, 0x58, 0xcb, 0x5c, 0x30, 0xe2, 0x05, 0xd8, 0x03, 0x46, 0xbc, 0x98, 0x8a, 0xad, - 0x1b, 0x61, 0x4e, 0x31, 0x71, 0xff, 0xb4, 0x4d, 0x8a, 0x37, 0x5c, 0xda, 0x26, 0x83, 0xcf, 0x84, - 0xfe, 0xd1, 0xe0, 0x9a, 0x5d, 0xf4, 0xf1, 0x82, 0xfb, 0x92, 0xbe, 0x54, 0x89, 0x46, 0x1f, 0x7b, - 0x4c, 0x6a, 0x32, 0x34, 0x9f, 0x4a, 0x8b, 0xc1, 0xd0, 0x80, 0xb2, 0x29, 0x21, 0x6e, 0x50, 0xd1, - 0x16, 0xe5, 0xfb, 0x7e, 0xce, 0x35, 0x6b, 0x81, 0xa9, 0x8f, 0xe0, 0x0d, 0x30, 0x75, 0x1e, 0x3e, - 0x0f, 0xfa, 0xb2, 0xf7, 0x9b, 0x05, 0x41, 0x5f, 0x16, 0x69, 0x40, 0xd0, 0x77, 0x04, 0x99, 0x1f, - 0x9b, 0x72, 0xef, 0xb2, 0x0a, 0x8e, 0x4d, 0xf9, 0xf7, 0x5e, 0xfd, 0x8f, 0x4d, 0x45, 0x34, 0xbe, - 0xb3, 0x7f, 0xf3, 0x23, 0x3f, 0xfd, 0xe7, 0xb3, 0xcf, 0xfc, 0xed, 0xe1, 0x59, 0xe5, 0xa7, 0x87, - 0x67, 0x95, 0x9f, 0x1f, 0x9e, 0x55, 0x3e, 0xf3, 0xfc, 0x26, 0x0e, 0xa2, 0xfd, 0x85, 0x08, 0x9b, - 0xdb, 0xd7, 0x38, 0xb7, 0x6b, 0xfe, 0x4e, 0xe7, 0x5a, 0xe6, 0xdf, 0xea, 0x6f, 0x4e, 0xd0, 0xe6, - 0x2b, 0xff, 0x13, 0x00, 0x00, 0xff, 0xff, 0x81, 0x08, 0x42, 0xbc, 0x6e, 0x5f, 0x00, 0x00, + // 6465 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x7d, 0x5d, 0x6c, 0x1c, 0xd7, + 0x75, 0xb0, 0x67, 0x97, 0xe4, 0xee, 0x9e, 0x5d, 0x2e, 0x87, 0x57, 0x94, 0xb4, 0x5a, 0x4b, 0xa2, + 0x3c, 0xb2, 0x7e, 0x6d, 0x53, 0x32, 0xed, 0x2f, 0x8e, 0xa3, 0xd8, 0x09, 0x45, 0x52, 0x0a, 0xad, + 0xbf, 0xf5, 0x50, 0x8c, 0xe3, 0xc0, 0xf8, 0x36, 0xc3, 0x99, 0xcb, 0xe5, 0x84, 0xb3, 0x33, 0xe3, + 0x99, 0x59, 0x4a, 0x0c, 0xbe, 0x7c, 0x08, 0x92, 0x38, 0x49, 0xd1, 0xb4, 0xcd, 0x4f, 0x53, 0x14, + 0x68, 0x50, 0xf4, 0xa1, 0x6f, 0x45, 0x5a, 0x20, 0x28, 0x02, 0x14, 0xe8, 0x53, 0x9f, 0x9a, 0xa2, + 0x0d, 0xf2, 0x94, 0x87, 0x16, 0x60, 0x53, 0x3e, 0xa5, 0x40, 0x51, 0x14, 0x68, 0xd2, 0x3e, 0x04, + 0x28, 0x8a, 0xfb, 0x37, 0x73, 0x67, 0x39, 0xb3, 0x3f, 0xa2, 0x8c, 0x3e, 0xf4, 0x49, 0x7b, 0xcf, + 0x9c, 0xbf, 0x7b, 0xee, 0xdf, 0xb9, 0xe7, 0x9e, 0x43, 0xc1, 0x31, 0x3f, 0xf0, 0x22, 0xcf, 0xf4, + 0x9c, 0x68, 0xcf, 0xc7, 0xe1, 0x02, 0x6d, 0xa1, 0x63, 0x8f, 0x70, 0xb8, 0xed, 0xe2, 0x68, 0x41, + 0x7c, 0x5c, 0xd8, 0x7d, 0xb9, 0x39, 0xd7, 0xf1, 0x3a, 0x1e, 0x05, 0x5c, 0x23, 0xbf, 0xd8, 0xb7, + 0xe6, 0x29, 0xbf, 0x17, 0x6e, 0x53, 0xda, 0x6b, 0xf1, 0x2f, 0xf6, 0x49, 0xfb, 0x3b, 0x05, 0x4a, + 0x4b, 0xa6, 0xe9, 0xf5, 0xdc, 0x08, 0x5d, 0x87, 0xc9, 0x4e, 0xe0, 0xf5, 0xfc, 0x86, 0x72, 0x4e, + 0xb9, 0x5c, 0x5d, 0x6c, 0x2e, 0x64, 0x48, 0x58, 0xb8, 0x4d, 0x30, 0x74, 0x86, 0x88, 0x16, 0xe0, + 0x98, 0xc1, 0x88, 0xdb, 0x7e, 0x60, 0xef, 0x1a, 0x11, 0x6e, 0xef, 0xe0, 0xbd, 0x46, 0xe1, 0x9c, + 0x72, 0xb9, 0xa6, 0xcf, 0xf2, 0x4f, 0x2d, 0xf6, 0xe5, 0x0e, 0xde, 0x43, 0x57, 0x61, 0xd6, 0x70, + 0x6c, 0x23, 0x4c, 0x61, 0x17, 0x29, 0xf6, 0x0c, 0xfd, 0x20, 0xe1, 0xbe, 0x0a, 0x27, 0xfc, 0xde, + 0xa6, 0x63, 0x9b, 0xed, 0x00, 0xbb, 0x16, 0xfe, 0xc2, 0xae, 0xd7, 0x0b, 0xdb, 0x21, 0xc6, 0x56, + 0x63, 0x82, 0x12, 0xcc, 0xb1, 0xaf, 0x7a, 0xfc, 0x71, 0x1d, 0x63, 0x4b, 0xfb, 0xa5, 0x02, 0x93, + 0x54, 0x45, 0x74, 0x06, 0x80, 0xd3, 0x13, 0x21, 0x0a, 0xa5, 0xa9, 0x30, 0x08, 0x61, 0x7f, 0x02, + 0xa6, 0x42, 0x6c, 0x06, 0x38, 0xe2, 0xda, 0xf2, 0x16, 0x21, 0x63, 0xbf, 0xda, 0xa1, 0xdd, 0xe1, + 0xba, 0x55, 0x18, 0x64, 0xdd, 0xee, 0xa0, 0x37, 0x00, 0x68, 0xd7, 0xdb, 0xc4, 0x88, 0x54, 0x93, + 0xfa, 0xe2, 0xd9, 0x7c, 0x43, 0x3d, 0xdc, 0xf3, 0xb1, 0x5e, 0xe9, 0x88, 0x9f, 0xe8, 0x14, 0x94, + 0x43, 0xbb, 0xe3, 0xb6, 0xfd, 0xde, 0x66, 0x63, 0x92, 0xf2, 0x2e, 0x91, 0x76, 0xab, 0xb7, 0x49, + 0x3e, 0x39, 0xb6, 0xbb, 0x43, 0xb5, 0x9d, 0x62, 0x9f, 0x48, 0x9b, 0xe8, 0x7a, 0x0e, 0x6a, 0xe2, + 0x13, 0xd5, 0xaa, 0x44, 0x3f, 0x03, 0xff, 0xbc, 0x6e, 0x77, 0xb4, 0x5f, 0x29, 0xa0, 0x52, 0x81, + 0x9f, 0xc2, 0x86, 0x15, 0xae, 0x3e, 0xf6, 0xbd, 0x20, 0x1a, 0x66, 0x01, 0x59, 0x97, 0x42, 0x5a, + 0x97, 0x55, 0x38, 0xd6, 0xc5, 0x91, 0x61, 0x19, 0x91, 0xd1, 0xde, 0x26, 0x1c, 0xdb, 0xa6, 0x6d, + 0x85, 0x8d, 0xe2, 0xb9, 0xe2, 0xe5, 0xda, 0xcd, 0xe3, 0x07, 0xfb, 0xf3, 0xb3, 0xf7, 0xf8, 0x67, + 0x2a, 0x6f, 0x79, 0x6d, 0x25, 0xd4, 0x67, 0xbb, 0x29, 0x90, 0x6d, 0x85, 0x8c, 0x4d, 0x18, 0x1a, + 0x1d, 0x1c, 0xca, 0x6c, 0x26, 0x64, 0x36, 0xec, 0x73, 0x8a, 0x8d, 0x0c, 0x22, 0x6c, 0x64, 0xcb, + 0x4c, 0xa6, 0x2c, 0xa3, 0xfd, 0x44, 0x81, 0x69, 0xda, 0x6f, 0xa1, 0x0f, 0x19, 0x20, 0xbc, 0x8b, + 0xdd, 0x88, 0x0d, 0x90, 0x32, 0x60, 0x80, 0x56, 0x09, 0x1a, 0x1b, 0x20, 0x2c, 0x7e, 0xa2, 0x06, + 0x94, 0x7c, 0x63, 0xcf, 0xf1, 0x0c, 0x4b, 0xd8, 0x84, 0x37, 0x91, 0x0a, 0xc5, 0x64, 0x46, 0x90, + 0x9f, 0x48, 0x87, 0x59, 0xc1, 0xaf, 0x2d, 0x3a, 0x4f, 0xa7, 0x44, 0x75, 0xf1, 0x42, 0xa6, 0xc4, + 0x16, 0xff, 0x2d, 0x94, 0xd5, 0x55, 0xbf, 0x0f, 0xa2, 0x2d, 0xf1, 0xfe, 0xac, 0xba, 0xbb, 0xd8, + 0xf1, 0x7c, 0x8c, 0xe6, 0x60, 0xd2, 0xf5, 0x5c, 0x13, 0xf3, 0xf1, 0x63, 0x0d, 0x02, 0xa5, 0x3a, + 0x73, 0x25, 0x59, 0xe3, 0xad, 0x89, 0x72, 0x51, 0x9d, 0xd0, 0xfe, 0x5d, 0x81, 0x3a, 0xb7, 0x2b, + 0xb1, 0x21, 0x0e, 0x42, 0xd2, 0x2b, 0xba, 0x14, 0x71, 0x40, 0xd9, 0x4c, 0xe8, 0xa2, 0x89, 0xae, + 0x40, 0xc5, 0xc2, 0xbb, 0xb6, 0x89, 0xdb, 0xfe, 0x0e, 0x63, 0x76, 0xb3, 0x76, 0xb0, 0x3f, 0x5f, + 0x5e, 0xa1, 0xc0, 0xd6, 0x1d, 0xbd, 0xcc, 0x3e, 0xb7, 0x76, 0x32, 0x0c, 0x70, 0x0f, 0xca, 0x52, + 0xbf, 0x8b, 0x97, 0xab, 0x8b, 0x2f, 0x67, 0xf6, 0x3b, 0xad, 0xcd, 0x82, 0xe8, 0xec, 0xaa, 0x1b, + 0x05, 0x7b, 0x7a, 0xcc, 0xa2, 0x79, 0x03, 0xa6, 0x53, 0x9f, 0x88, 0x44, 0x31, 0x73, 0x2b, 0x3a, + 0xf9, 0x49, 0xfa, 0xbd, 0x6b, 0x38, 0x3d, 0x4c, 0x55, 0xad, 0xe8, 0xac, 0xf1, 0xb1, 0xc2, 0x47, + 0x15, 0xad, 0x01, 0x6a, 0xbf, 0x79, 0xdf, 0x9a, 0x28, 0x2b, 0x6a, 0x41, 0xfb, 0xaa, 0x02, 0xea, + 0xaa, 0x6b, 0x06, 0x7b, 0x7e, 0x84, 0x2d, 0xae, 0x0a, 0x3a, 0x0d, 0x15, 0xdf, 0x31, 0x6c, 0x37, + 0xc2, 0x8f, 0xa3, 0x78, 0x69, 0x08, 0x40, 0xf6, 0xc8, 0x16, 0x8e, 0x36, 0xb2, 0x3e, 0xcc, 0x70, + 0xe1, 0xf1, 0xd8, 0x5e, 0x82, 0x19, 0x3e, 0xdb, 0xe9, 0xf2, 0xc0, 0x41, 0xc8, 0x55, 0xa9, 0x77, + 0x0f, 0x8d, 0x1f, 0x87, 0x88, 0x59, 0xc9, 0x9b, 0xc9, 0xf4, 0x28, 0x4a, 0xd3, 0xe3, 0xad, 0x89, + 0xf2, 0x84, 0x3a, 0xa9, 0x7d, 0x59, 0x81, 0x1a, 0x9d, 0xe4, 0xcb, 0x1e, 0xeb, 0xd6, 0x09, 0x28, + 0xd8, 0x16, 0x13, 0x71, 0x73, 0xea, 0x60, 0x7f, 0xbe, 0xb0, 0xb6, 0xa2, 0x17, 0x6c, 0x0b, 0xbd, + 0x08, 0xe0, 0x1b, 0x01, 0x59, 0x34, 0x64, 0x79, 0x16, 0xe8, 0xf2, 0x9c, 0x3e, 0xd8, 0x9f, 0xaf, + 0xb4, 0x28, 0x94, 0x2c, 0xcb, 0x0a, 0x43, 0x58, 0xb3, 0x42, 0x74, 0x11, 0xca, 0x6c, 0x0b, 0xf4, + 0x77, 0x98, 0xd4, 0x9b, 0xd5, 0x83, 0xfd, 0xf9, 0x12, 0x9d, 0xb6, 0xad, 0x3b, 0x7a, 0x89, 0x7e, + 0x6c, 0xed, 0x70, 0x25, 0x74, 0xa8, 0x2e, 0xf9, 0xc9, 0xf2, 0x4c, 0xcd, 0x37, 0x65, 0xe0, 0x7c, + 0xcb, 0xed, 0xb4, 0xd6, 0x01, 0x44, 0xba, 0x64, 0x98, 0xd1, 0x92, 0x65, 0x2d, 0x91, 0x73, 0x83, + 0xec, 0x67, 0x63, 0xb0, 0xbe, 0x08, 0x65, 0x7e, 0x0e, 0x89, 0x49, 0x4f, 0xbb, 0x40, 0x59, 0x91, + 0x2e, 0xb0, 0xb3, 0x68, 0x47, 0xfb, 0x4d, 0x05, 0xe6, 0x68, 0xbf, 0x96, 0x2c, 0xeb, 0x1e, 0xee, + 0x6e, 0xe2, 0x80, 0x31, 0x23, 0xb2, 0xba, 0xb4, 0xdd, 0x27, 0x8b, 0x21, 0x11, 0x59, 0xec, 0x73, + 0x6b, 0x67, 0x9c, 0x15, 0x76, 0x06, 0x80, 0x73, 0x95, 0xce, 0x1e, 0x06, 0x21, 0x9b, 0xfc, 0x6d, + 0xa8, 0x33, 0xa2, 0xe5, 0x6d, 0xc3, 0x76, 0x49, 0x97, 0x9f, 0x85, 0x8a, 0x49, 0x7e, 0x4b, 0x1b, + 0x7c, 0xd9, 0x14, 0x1f, 0xa5, 0x45, 0x5f, 0x48, 0x2d, 0x7a, 0xed, 0x7b, 0x0a, 0x9c, 0x10, 0xdd, + 0xea, 0xe3, 0x38, 0x86, 0x11, 0x3f, 0x02, 0x75, 0x0b, 0x87, 0x51, 0x3b, 0x31, 0x04, 0xeb, 0x9d, + 0x7a, 0xb0, 0x3f, 0x5f, 0x5b, 0xc1, 0x61, 0x14, 0x1b, 0xa3, 0x66, 0x25, 0xad, 0x1d, 0x79, 0x8b, + 0x2d, 0xa6, 0xb6, 0x58, 0xa2, 0xd7, 0xb9, 0x7b, 0x3d, 0x27, 0xb2, 0x19, 0xae, 0x50, 0x91, 0x0e, + 0x8b, 0x8e, 0x43, 0xcf, 0xd9, 0xed, 0xdf, 0xb1, 0x06, 0x6b, 0x78, 0x01, 0xea, 0x6c, 0x98, 0x03, + 0x4e, 0xcc, 0x27, 0xd2, 0xb4, 0x91, 0xe2, 0x38, 0x0f, 0x55, 0xe1, 0x95, 0x78, 0xde, 0x16, 0x57, + 0x0a, 0xb8, 0x3f, 0xe2, 0x79, 0x5b, 0xda, 0xd7, 0x15, 0x38, 0x95, 0xd2, 0xcb, 0x70, 0xa3, 0x25, + 0xab, 0x6b, 0xbb, 0xba, 0xe7, 0xe0, 0x71, 0x14, 0xfa, 0x04, 0xcc, 0x76, 0x08, 0x31, 0xc6, 0x87, + 0xac, 0x76, 0xec, 0x60, 0x7f, 0x7e, 0xe6, 0x36, 0xfb, 0x18, 0x1b, 0x6e, 0xa6, 0x93, 0x02, 0xec, + 0x68, 0xab, 0xd0, 0x90, 0x14, 0x59, 0x73, 0xed, 0xc8, 0x36, 0x1c, 0xd6, 0x18, 0x63, 0x4e, 0x6a, + 0x06, 0x9c, 0x8b, 0x8d, 0x6b, 0x59, 0x76, 0x64, 0x7b, 0xae, 0xe1, 0xa4, 0x3d, 0xa9, 0x71, 0xba, + 0x85, 0x60, 0x82, 0x3a, 0x66, 0xcc, 0xba, 0xf4, 0xb7, 0x66, 0xc1, 0x79, 0xe6, 0x2a, 0xe2, 0xae, + 0xb7, 0x8b, 0x3f, 0x2c, 0x29, 0xef, 0x03, 0xe2, 0xde, 0x2b, 0x15, 0xf6, 0x96, 0x67, 0xbb, 0xe3, + 0x31, 0x8d, 0x7d, 0xde, 0xc2, 0x88, 0x3e, 0xaf, 0x86, 0x41, 0x95, 0x45, 0xde, 0xc5, 0x5b, 0xd1, + 0x98, 0x5b, 0x4f, 0xbc, 0x7b, 0x16, 0xf2, 0x77, 0x4f, 0xed, 0x2d, 0x38, 0xc3, 0xc5, 0xf0, 0xad, + 0x4e, 0xc7, 0xef, 0xf7, 0x70, 0x18, 0xad, 0xd8, 0xa1, 0xb1, 0xe9, 0x8c, 0xd5, 0x49, 0x6d, 0x0d, + 0x4e, 0x67, 0xf2, 0x5a, 0x75, 0xc7, 0x66, 0xf5, 0x35, 0x05, 0xce, 0x67, 0xf2, 0xd2, 0xf1, 0x16, + 0x0e, 0xb0, 0x6b, 0x62, 0x1d, 0x87, 0x78, 0x2c, 0x8b, 0xe4, 0x3b, 0xfa, 0x85, 0x01, 0x8e, 0xfe, + 0xcf, 0x94, 0x1c, 0x03, 0xad, 0xba, 0xef, 0xf7, 0x70, 0x6f, 0xbc, 0x59, 0x30, 0xe2, 0xa0, 0xa0, + 0x4f, 0x90, 0x2d, 0x95, 0x0a, 0xa3, 0xbb, 0x44, 0x9e, 0x37, 0xb0, 0xbe, 0x6d, 0x04, 0x98, 0x98, + 0x56, 0x68, 0x26, 0xa8, 0xd0, 0x73, 0x50, 0xf3, 0x1e, 0xb9, 0x69, 0x6f, 0xb1, 0xa6, 0x57, 0xbd, + 0x47, 0x6e, 0xec, 0x27, 0x44, 0x70, 0x2a, 0xb3, 0x5f, 0xeb, 0xd8, 0x1d, 0xcb, 0xac, 0x2f, 0x02, + 0x70, 0xa9, 0x49, 0xaf, 0xe8, 0xa1, 0xce, 0xd9, 0xb6, 0xee, 0xe8, 0x15, 0x8e, 0xd0, 0xda, 0xd1, + 0xfe, 0x21, 0xcf, 0x9c, 0x3a, 0x36, 0xb1, 0xbd, 0x3b, 0x9e, 0x39, 0xc7, 0x12, 0x8d, 0x3e, 0x02, + 0x27, 0x05, 0x76, 0xff, 0x04, 0x60, 0x5b, 0xf1, 0x71, 0x53, 0x68, 0xd4, 0xb7, 0x75, 0xa8, 0x82, + 0xae, 0xcf, 0x9e, 0x33, 0x1c, 0x1e, 0xdb, 0x74, 0x0f, 0xce, 0xe6, 0x2d, 0x26, 0xd3, 0x08, 0xac, + 0x0f, 0xb1, 0x77, 0xda, 0x1f, 0xe5, 0x19, 0x76, 0xc9, 0x34, 0x31, 0xf1, 0x48, 0x3f, 0x3c, 0xc3, + 0x8e, 0xe8, 0xa8, 0x69, 0x3e, 0x1c, 0x4f, 0x6b, 0x78, 0xd3, 0xf1, 0xcc, 0x9d, 0x0f, 0xd3, 0x28, + 0x01, 0x9c, 0x4c, 0x4b, 0xdc, 0x70, 0x37, 0x3f, 0x6c, 0x99, 0xbf, 0xa5, 0x40, 0x83, 0x0b, 0x5d, + 0xc7, 0x01, 0x61, 0xf1, 0xd0, 0xdb, 0xc1, 0xee, 0x92, 0x35, 0xe6, 0xf0, 0xdf, 0x82, 0xe9, 0x90, + 0xd1, 0xb7, 0x23, 0xc2, 0x80, 0x9f, 0x1c, 0xcf, 0x65, 0xef, 0x04, 0x92, 0x24, 0xbd, 0x16, 0x4a, + 0x2d, 0xcd, 0x83, 0x66, 0x86, 0x3a, 0xec, 0xb8, 0x1c, 0x77, 0xf3, 0xa2, 0x8a, 0xb4, 0x6d, 0xb6, + 0x63, 0x56, 0xd8, 0x30, 0x53, 0x76, 0x6b, 0x2b, 0x7a, 0x89, 0x7e, 0x5c, 0xb3, 0xb4, 0x1f, 0x8a, + 0x18, 0x81, 0x8e, 0x7d, 0xc7, 0x36, 0x8d, 0xc8, 0x76, 0x3b, 0xe3, 0xc8, 0x59, 0x01, 0x64, 0xf4, + 0xa2, 0x6d, 0xec, 0x46, 0x94, 0xd8, 0x73, 0xdb, 0xbd, 0xc0, 0xe1, 0x12, 0xe9, 0x65, 0x7e, 0x29, + 0xf5, 0x75, 0x43, 0xbf, 0xab, 0xcf, 0xa6, 0x09, 0x36, 0x02, 0x07, 0xbd, 0x04, 0x28, 0x10, 0xf2, + 0x3d, 0xb7, 0x4d, 0x4c, 0x82, 0x03, 0x3a, 0x3d, 0x2b, 0xfa, 0xac, 0xf4, 0x65, 0x9d, 0x7e, 0xd0, + 0xee, 0xc2, 0x2c, 0x37, 0x0f, 0x0b, 0x6a, 0xac, 0x90, 0x8b, 0x62, 0x05, 0x4a, 0x7c, 0x11, 0x35, + 0x5f, 0x84, 0x49, 0xd2, 0x9d, 0x3d, 0x74, 0x1e, 0xa6, 0x31, 0xc5, 0xc0, 0x56, 0x9b, 0x6e, 0x05, + 0xcc, 0x1d, 0xae, 0x09, 0x20, 0x21, 0xd4, 0x7e, 0x35, 0x05, 0x27, 0x39, 0xbb, 0xdb, 0x98, 0xcc, + 0xbd, 0x2d, 0xbb, 0xd3, 0x0b, 0xa8, 0x3c, 0x99, 0xe9, 0x07, 0x53, 0x82, 0xeb, 0x8b, 0x00, 0x71, + 0x80, 0x4b, 0xd8, 0x87, 0x4e, 0x31, 0x3e, 0x74, 0x64, 0x8a, 0x89, 0x30, 0xd7, 0x58, 0xae, 0xfe, + 0xc7, 0x41, 0x15, 0x8c, 0xfb, 0xd6, 0x28, 0x3a, 0xd8, 0x9f, 0xaf, 0xcb, 0x1e, 0x46, 0xeb, 0x8e, + 0x5e, 0x37, 0xe4, 0xf6, 0x0e, 0x3a, 0x0f, 0x25, 0x1f, 0xe3, 0x80, 0x8c, 0xf8, 0x04, 0xb5, 0x3f, + 0x1c, 0xec, 0xcf, 0x4f, 0xb5, 0x30, 0x0e, 0xd6, 0x56, 0xf4, 0x29, 0xf2, 0x69, 0xcd, 0x22, 0x57, + 0x5c, 0xc7, 0x0e, 0x23, 0xec, 0x92, 0x7b, 0xe5, 0xe4, 0xb9, 0xe2, 0xe5, 0x8a, 0x9e, 0x00, 0xd0, + 0x67, 0xa1, 0xba, 0xe9, 0xe0, 0x36, 0x66, 0x2e, 0x00, 0x8d, 0x38, 0xd5, 0x17, 0x5f, 0x1f, 0x34, + 0x89, 0xfb, 0x2d, 0xb6, 0xb0, 0x8e, 0x23, 0x32, 0x87, 0xd6, 0x23, 0x23, 0xc2, 0x3a, 0x6c, 0x3a, + 0x58, 0xf8, 0x13, 0x26, 0xa8, 0x8f, 0xec, 0x2d, 0xbb, 0xed, 0x2f, 0xfa, 0xb1, 0x80, 0xd2, 0x51, + 0x05, 0xd4, 0x09, 0xcb, 0xd6, 0xa2, 0x2f, 0x84, 0xbc, 0x07, 0xb5, 0xae, 0xe5, 0x86, 0xb1, 0x80, + 0xf2, 0x51, 0x05, 0x54, 0x09, 0x3b, 0xc1, 0xfd, 0xff, 0xc2, 0x74, 0x80, 0x1d, 0x63, 0x2f, 0x66, + 0x5f, 0x39, 0x2a, 0xfb, 0x1a, 0xe5, 0x27, 0xf8, 0x3f, 0x84, 0x59, 0x31, 0x55, 0x7a, 0xe1, 0x36, + 0xdf, 0x49, 0x80, 0xee, 0x24, 0x97, 0xb3, 0x23, 0x0c, 0xbd, 0x70, 0x9b, 0xcb, 0xe1, 0x47, 0x72, + 0xa0, 0xcf, 0xf0, 0xe9, 0xd4, 0x0b, 0xb7, 0xe9, 0x6a, 0x47, 0xf7, 0x00, 0xc9, 0x5c, 0xf9, 0xe2, + 0xaa, 0x52, 0xb6, 0xf3, 0x03, 0xd9, 0xe2, 0x40, 0x57, 0x13, 0x6e, 0x7c, 0xf1, 0xdd, 0x86, 0x9a, + 0xdc, 0x05, 0x54, 0x85, 0xd2, 0x86, 0xbb, 0xe3, 0x7a, 0x8f, 0x5c, 0xf5, 0x19, 0xd2, 0xe0, 0x9d, + 0x51, 0x15, 0x54, 0x83, 0xb2, 0x70, 0x4c, 0xd5, 0x02, 0x9a, 0x81, 0xea, 0x86, 0x6b, 0xec, 0x1a, + 0xb6, 0x43, 0x20, 0x6a, 0x51, 0xfb, 0x22, 0x9c, 0xcc, 0xf1, 0x16, 0xe5, 0x65, 0xf7, 0x8e, 0x58, + 0x75, 0xf9, 0x1e, 0xa1, 0x92, 0xef, 0x11, 0x92, 0x7b, 0xa5, 0x18, 0x2c, 0xb2, 0xf6, 0xca, 0xba, + 0x68, 0x6a, 0x2f, 0xc0, 0xf1, 0x4c, 0x27, 0x5a, 0x16, 0x5e, 0xe2, 0xc2, 0xb5, 0xcf, 0xc1, 0x5c, + 0x96, 0x97, 0x2c, 0xe3, 0xbe, 0x71, 0x24, 0x45, 0xb5, 0x6d, 0x38, 0xdd, 0x6f, 0x8d, 0x10, 0x67, + 0x9b, 0xe4, 0x88, 0x92, 0xbe, 0xa9, 0xc4, 0x91, 0x92, 0xc4, 0x8b, 0xb4, 0x9a, 0xdd, 0x58, 0x80, + 0xec, 0xd1, 0x2a, 0x4f, 0xc5, 0xa3, 0x2d, 0x1c, 0xf2, 0x68, 0x13, 0xd3, 0x7e, 0xa6, 0xdf, 0xb4, + 0xcc, 0x07, 0x6a, 0xbe, 0x96, 0xe8, 0x93, 0x3e, 0xd3, 0x95, 0xc1, 0x67, 0x7a, 0xc2, 0xf9, 0xdd, + 0x8c, 0x11, 0x26, 0x9e, 0xdd, 0x53, 0x60, 0x7d, 0x07, 0x6a, 0xb4, 0xf7, 0x1c, 0x4b, 0x1e, 0x9d, + 0xeb, 0x62, 0x74, 0x2e, 0xc1, 0x0c, 0x76, 0x4d, 0xcf, 0xc2, 0x56, 0x5b, 0xb6, 0x66, 0x4d, 0xaf, + 0x73, 0x30, 0x27, 0x26, 0x4e, 0xc8, 0xf4, 0x0a, 0x26, 0x20, 0xc1, 0x6e, 0x31, 0x51, 0x70, 0x54, + 0x2e, 0xcd, 0x4f, 0x09, 0xb9, 0x47, 0x1d, 0x3d, 0xad, 0x05, 0x35, 0xd9, 0xe7, 0x7b, 0x0a, 0xe6, + 0xd2, 0xa1, 0x9e, 0xf6, 0xe9, 0x9e, 0x02, 0xcf, 0xb7, 0xe1, 0x98, 0x88, 0xf7, 0xf1, 0x60, 0x1f, + 0x9d, 0xc6, 0x2f, 0x27, 0x8c, 0x65, 0x57, 0x57, 0xc9, 0x77, 0x75, 0x13, 0x96, 0x0f, 0xe1, 0x44, + 0x7f, 0xa4, 0x69, 0x39, 0xc0, 0x46, 0x94, 0x5a, 0x7d, 0xd7, 0x84, 0x9d, 0x47, 0x64, 0xaf, 0xbd, + 0x07, 0x73, 0xfd, 0x5c, 0xdf, 0xf2, 0x6c, 0xb7, 0x79, 0x23, 0xd1, 0x74, 0xec, 0x47, 0xb6, 0x44, + 0xe7, 0x75, 0x38, 0xde, 0xcf, 0xfd, 0x2e, 0x36, 0x76, 0xf1, 0x91, 0x0c, 0x61, 0xc2, 0x85, 0x43, + 0x21, 0x37, 0x39, 0x3a, 0x46, 0x16, 0x92, 0xe3, 0x85, 0x47, 0x13, 0xf2, 0x75, 0x05, 0xce, 0x1e, + 0x0e, 0xec, 0xf1, 0x00, 0x1a, 0x0d, 0x7a, 0x35, 0xdf, 0x1b, 0x9b, 0x7d, 0x3a, 0xe0, 0x55, 0x18, + 0x14, 0xf0, 0x4a, 0x34, 0xf9, 0x56, 0x46, 0x88, 0x71, 0xcd, 0xdd, 0xb5, 0x23, 0x7a, 0x62, 0xf3, + 0x29, 0xf0, 0x04, 0x5d, 0x7d, 0x5d, 0x4c, 0x95, 0xb1, 0xc7, 0x57, 0xfb, 0x86, 0x02, 0x33, 0x52, + 0x88, 0x9c, 0x4e, 0xed, 0xb7, 0xc7, 0xb7, 0x46, 0xee, 0xcb, 0x15, 0x7b, 0x16, 0x6a, 0x6a, 0x42, + 0xc3, 0x53, 0x50, 0x34, 0xe3, 0x67, 0x80, 0xd2, 0xc1, 0xfe, 0x7c, 0x71, 0x79, 0x6d, 0x45, 0x27, + 0x30, 0x32, 0x4e, 0x75, 0xaa, 0x0a, 0x8d, 0xb3, 0xff, 0x4f, 0x6a, 0xf2, 0x43, 0x05, 0x50, 0xea, + 0x61, 0x8f, 0x3e, 0x64, 0x90, 0xcb, 0x17, 0x7b, 0xdd, 0x33, 0xbd, 0xe4, 0xe9, 0x26, 0xef, 0xf2, + 0x25, 0xbf, 0x7d, 0xe8, 0x35, 0x2c, 0xbf, 0x84, 0xbc, 0x29, 0xbd, 0x5c, 0xb1, 0xfb, 0x9b, 0x96, + 0x3f, 0x50, 0xf1, 0xa3, 0x4e, 0x4c, 0x93, 0xbc, 0xbf, 0x15, 0xa5, 0xf7, 0x37, 0xed, 0xcf, 0x15, + 0x98, 0xe5, 0x14, 0xec, 0xa1, 0xe7, 0xa9, 0xea, 0xfc, 0x06, 0x94, 0xc4, 0x2b, 0x11, 0x53, 0xf9, + 0xfc, 0x08, 0x8f, 0x6d, 0xba, 0xa0, 0x91, 0x9f, 0x53, 0x8a, 0xe9, 0xe7, 0x94, 0xff, 0x48, 0xd4, + 0x66, 0xdd, 0xbb, 0x6b, 0x87, 0x51, 0xf3, 0xe7, 0xca, 0xf8, 0x23, 0x7f, 0x11, 0xca, 0xa1, 0xed, + 0x9a, 0x58, 0x5c, 0x45, 0x39, 0xde, 0x3a, 0x81, 0x91, 0xab, 0x28, 0xfd, 0xb8, 0x66, 0xa1, 0x67, + 0xa1, 0xc2, 0xf0, 0x5c, 0xef, 0x11, 0xd5, 0xa6, 0xac, 0x33, 0xc2, 0xfb, 0xde, 0x23, 0xc2, 0xa4, + 0xe7, 0x46, 0xb6, 0x23, 0x6e, 0x37, 0x9c, 0xc9, 0x06, 0x81, 0x11, 0x26, 0xf4, 0x23, 0x63, 0xc2, + 0xf0, 0x08, 0x93, 0x49, 0xc6, 0x84, 0x02, 0x08, 0x93, 0xf3, 0xc4, 0x7f, 0xdf, 0xc5, 0x41, 0x88, + 0xdb, 0x5e, 0x60, 0xe1, 0x80, 0x5e, 0x70, 0xca, 0xc4, 0x09, 0xa7, 0xc0, 0x07, 0x04, 0x96, 0xbc, + 0x9a, 0x73, 0x9b, 0xfd, 0x6f, 0xe9, 0xf7, 0x7f, 0x29, 0x50, 0xe1, 0x3b, 0xdf, 0x96, 0xd7, 0x6c, + 0x8f, 0xdf, 0xdf, 0xb1, 0x22, 0x2f, 0xcd, 0xdf, 0x51, 0x9e, 0x78, 0x73, 0x1c, 0x63, 0x8f, 0x4f, + 0xdf, 0xbe, 0x8b, 0x03, 0xa3, 0xd8, 0x9f, 0x87, 0xe9, 0x25, 0x33, 0xa2, 0xa9, 0x26, 0x54, 0x5a, + 0xb3, 0x35, 0xbe, 0x0d, 0xce, 0x00, 0x38, 0x9e, 0x69, 0x38, 0x6d, 0xcf, 0x75, 0xf6, 0xf8, 0x8d, + 0xa3, 0x42, 0x21, 0x0f, 0x5c, 0x67, 0x2f, 0x39, 0x71, 0xee, 0xc1, 0xcc, 0x0a, 0x36, 0x52, 0xd2, + 0x8e, 0x72, 0x94, 0x7e, 0x6b, 0x92, 0x2f, 0x56, 0xd6, 0x2d, 0x72, 0x31, 0xeb, 0x85, 0x4f, 0xc2, + 0xf1, 0xfb, 0xc5, 0xc4, 0x8b, 0x9c, 0x90, 0x92, 0x25, 0x5e, 0xc8, 0x1f, 0x14, 0x59, 0xe4, 0x02, + 0xcd, 0x9c, 0xa0, 0x84, 0xd9, 0xd9, 0x08, 0xcd, 0x1f, 0x2b, 0x30, 0xdd, 0xc2, 0x38, 0x58, 0xf6, + 0x5c, 0x17, 0x9b, 0x11, 0xb6, 0xe4, 0xb0, 0x85, 0x92, 0x1b, 0xb6, 0x18, 0x23, 0x88, 0xd2, 0x02, + 0x88, 0x02, 0xc3, 0x0d, 0x7d, 0x2f, 0x88, 0x58, 0x76, 0x4a, 0x7d, 0xf1, 0xfa, 0xa8, 0xea, 0x0b, + 0x42, 0x5d, 0xe2, 0x81, 0x4e, 0xc0, 0x54, 0xd7, 0xb0, 0xac, 0x80, 0x25, 0xa9, 0x54, 0x74, 0xde, + 0x6a, 0xbe, 0x06, 0x2a, 0x51, 0x53, 0xc7, 0x26, 0xeb, 0x8c, 0xed, 0x76, 0x46, 0xea, 0x8d, 0x20, + 0x24, 0x5e, 0xd4, 0x58, 0x66, 0xd0, 0x36, 0x61, 0x82, 0x26, 0xa4, 0xcc, 0x40, 0x95, 0xfc, 0x9b, + 0xdc, 0xbb, 0x1b, 0x30, 0x47, 0x00, 0xfd, 0x5c, 0x55, 0x05, 0x1d, 0x87, 0x59, 0xf1, 0x25, 0xb6, + 0xb9, 0x5a, 0x90, 0x09, 0x64, 0xfd, 0xd5, 0xa2, 0xb6, 0x0a, 0x95, 0xd8, 0x0c, 0xa8, 0x0e, 0xf0, + 0xd0, 0x8f, 0x12, 0x39, 0x00, 0x53, 0x0f, 0xfd, 0xe8, 0xee, 0xd2, 0x7d, 0x55, 0xe1, 0xbf, 0xdf, + 0x59, 0xba, 0xaf, 0x16, 0x90, 0x0a, 0xb5, 0x87, 0x7e, 0xd4, 0x0a, 0xbc, 0xc7, 0x76, 0xd7, 0x8e, + 0xf6, 0xd4, 0xa2, 0xf6, 0x37, 0x0a, 0x99, 0xe2, 0x9b, 0xbd, 0x0e, 0xd9, 0x3f, 0xa9, 0xa5, 0x43, + 0xd9, 0x8b, 0xfe, 0x13, 0x65, 0x4c, 0x37, 0x1a, 0xdd, 0x4d, 0x25, 0x59, 0x15, 0x46, 0x49, 0xb2, + 0x62, 0xdb, 0x4f, 0x66, 0xce, 0x55, 0x7a, 0xb3, 0x2a, 0x0e, 0x09, 0x13, 0xff, 0x76, 0x11, 0x4e, + 0xd0, 0xce, 0xac, 0xb9, 0xa1, 0x8f, 0x4d, 0xd6, 0x9f, 0xf5, 0xc8, 0x0b, 0x70, 0xf3, 0x1b, 0x4f, + 0x70, 0x32, 0x6c, 0x40, 0xd9, 0xf1, 0x3a, 0x72, 0x47, 0x5e, 0xca, 0xec, 0xc8, 0x21, 0x91, 0x77, + 0xbd, 0x0e, 0xed, 0x17, 0x65, 0xcb, 0x1b, 0x7a, 0xc9, 0x61, 0x3f, 0x9a, 0xbf, 0x50, 0x86, 0xfb, + 0x50, 0xe8, 0x1a, 0x54, 0x79, 0x5a, 0x87, 0x99, 0xe4, 0x75, 0xd4, 0x0f, 0xf6, 0xe7, 0x81, 0xe5, + 0x75, 0xd0, 0x7c, 0x2b, 0x9e, 0xf9, 0x41, 0x13, 0xad, 0xee, 0x4b, 0x69, 0x5f, 0x52, 0x12, 0x55, + 0x71, 0xa4, 0x24, 0xaa, 0x38, 0xff, 0x2b, 0x06, 0xa5, 0x97, 0xf2, 0xc4, 0xb0, 0x64, 0x0f, 0xe1, + 0x33, 0x4e, 0xa5, 0x93, 0x02, 0x7c, 0x00, 0x6a, 0x9c, 0x27, 0xde, 0x3a, 0xe5, 0x5b, 0x1c, 0x5f, + 0x77, 0x61, 0x43, 0x21, 0xcb, 0x9b, 0x11, 0xb0, 0x85, 0x17, 0xea, 0x25, 0xb6, 0xf2, 0x42, 0xed, + 0x8f, 0x0b, 0x30, 0xb7, 0xd4, 0x8b, 0xb6, 0x57, 0x1f, 0x9b, 0xdb, 0x86, 0xdb, 0xc1, 0x3a, 0x0e, + 0x7d, 0xcf, 0x0d, 0x31, 0x7a, 0x0e, 0x6a, 0x86, 0x69, 0xe2, 0x30, 0xe4, 0xf1, 0x3a, 0x96, 0x98, + 0x54, 0x65, 0x30, 0x16, 0x81, 0x9b, 0x83, 0xc9, 0xd0, 0xf4, 0xfc, 0x38, 0x41, 0x89, 0x36, 0xe8, + 0x06, 0x19, 0x04, 0x9e, 0x88, 0x73, 0xb3, 0x06, 0x7a, 0x01, 0x66, 0xe9, 0x8f, 0xb6, 0x85, 0x43, + 0x33, 0xb0, 0x7d, 0x72, 0x03, 0x61, 0xf1, 0x5c, 0x5d, 0xa5, 0x1f, 0x56, 0x12, 0x38, 0x5a, 0x87, + 0x32, 0x7f, 0x3e, 0x60, 0xc1, 0xdc, 0xea, 0xe2, 0x6b, 0x99, 0x03, 0x92, 0xa5, 0xb8, 0x08, 0x50, + 0x86, 0x3c, 0xe3, 0x4a, 0x30, 0x6a, 0xde, 0x80, 0xe9, 0xd4, 0xa7, 0xb1, 0x32, 0xae, 0x7e, 0xa4, + 0x40, 0x83, 0x8e, 0x0c, 0x11, 0xc9, 0xd9, 0xac, 0xe3, 0x88, 0xda, 0xa1, 0xf9, 0x2d, 0x45, 0x8e, + 0x31, 0x4d, 0x26, 0xf6, 0xaa, 0x2e, 0x5e, 0x19, 0x59, 0x6f, 0x9d, 0xd1, 0x3d, 0x9d, 0x97, 0x87, + 0xe4, 0x08, 0xfd, 0x7f, 0xa0, 0xf6, 0x47, 0x44, 0xd0, 0x09, 0x28, 0xc4, 0xd3, 0x88, 0xa6, 0x46, + 0xb5, 0xee, 0xe8, 0x05, 0xff, 0x09, 0x1f, 0xa7, 0x51, 0x53, 0xba, 0x5e, 0x30, 0x67, 0x3b, 0x6e, + 0x6b, 0x0e, 0x9c, 0x96, 0x1f, 0x7c, 0xd6, 0x7b, 0x3e, 0x7b, 0xa0, 0xe0, 0x40, 0x32, 0xc9, 0xe2, + 0xf7, 0x25, 0x71, 0x2a, 0x57, 0xf4, 0xaa, 0x78, 0x3b, 0x62, 0xeb, 0x4a, 0x15, 0x28, 0xd8, 0xb5, + 0x7c, 0xcf, 0xe6, 0x47, 0x6f, 0x45, 0x9f, 0xe1, 0xf0, 0x55, 0x0e, 0xd6, 0xfe, 0x45, 0x81, 0x9a, + 0x2c, 0x8e, 0x8c, 0xa7, 0x3c, 0x79, 0x9f, 0xa6, 0x85, 0xd1, 0xe7, 0x00, 0x85, 0xa2, 0x3b, 0xed, + 0x78, 0xb6, 0x16, 0x07, 0x64, 0x06, 0x0e, 0xb2, 0x84, 0x3e, 0x1b, 0xf6, 0x41, 0x42, 0x74, 0x16, + 0x00, 0x3f, 0xf6, 0x6d, 0x16, 0x5f, 0xa7, 0x6b, 0xa5, 0xa8, 0x4b, 0x10, 0xed, 0x37, 0x14, 0x38, + 0x29, 0x4d, 0xc7, 0x65, 0xaf, 0xeb, 0x3b, 0x38, 0xc2, 0xb7, 0x1c, 0xef, 0x51, 0xf3, 0x8d, 0x64, + 0x46, 0x2e, 0x42, 0xcd, 0x34, 0x1c, 0x67, 0xd3, 0x30, 0x77, 0x68, 0x47, 0xd9, 0x31, 0x3c, 0x73, + 0xb0, 0x3f, 0x5f, 0x5d, 0xe6, 0x70, 0xd2, 0xc5, 0xaa, 0x40, 0x22, 0xd3, 0x47, 0xde, 0x46, 0xe2, + 0xf7, 0x36, 0x65, 0xc0, 0x7b, 0xdb, 0x8f, 0x14, 0x38, 0x26, 0xe9, 0xb2, 0xe6, 0xda, 0x11, 0xd5, + 0xe3, 0x5e, 0x6a, 0x0b, 0x23, 0x56, 0x94, 0x74, 0x60, 0x79, 0x68, 0xbd, 0x68, 0x9b, 0xc8, 0x2f, + 0x91, 0x8f, 0xc4, 0xb0, 0x4d, 0x69, 0xf1, 0x17, 0xa9, 0x63, 0x92, 0xac, 0xe1, 0x96, 0x74, 0x12, + 0x24, 0x7c, 0xe8, 0x49, 0x40, 0x78, 0x10, 0x18, 0x39, 0x02, 0x43, 0x6c, 0xf6, 0x02, 0x1c, 0x0f, + 0x6b, 0x99, 0x1d, 0x81, 0xeb, 0x14, 0x4a, 0xf0, 0x2a, 0x0c, 0x61, 0x23, 0x70, 0xb4, 0x5f, 0x28, + 0x70, 0x61, 0x39, 0xc0, 0x16, 0x19, 0x5c, 0xc3, 0xf9, 0x34, 0x0e, 0xec, 0x2d, 0xe9, 0x51, 0x4e, + 0xee, 0x8a, 0x14, 0x48, 0xbe, 0x06, 0x62, 0x8a, 0x4a, 0xbd, 0xa1, 0x87, 0x0d, 0x27, 0x22, 0x42, + 0x80, 0xa3, 0x90, 0x3e, 0xa5, 0xb3, 0x93, 0x0b, 0xfd, 0xd9, 0xc9, 0x08, 0x26, 0x1c, 0xdb, 0xdd, + 0xe1, 0x3b, 0x26, 0xfd, 0xfd, 0x21, 0x74, 0xf5, 0xbb, 0x0a, 0x5c, 0x19, 0xd8, 0xd5, 0xd1, 0x66, + 0x90, 0x9d, 0x3d, 0x83, 0xd6, 0xe4, 0x19, 0x64, 0x37, 0x2f, 0x09, 0xf5, 0xcf, 0x02, 0xd8, 0x54, + 0xe4, 0x96, 0xcd, 0x33, 0x72, 0x2b, 0xba, 0x04, 0xd1, 0xbe, 0x52, 0x80, 0x93, 0x4c, 0x17, 0x6c, + 0x25, 0xda, 0x85, 0xf4, 0x7a, 0xfa, 0x55, 0x69, 0x63, 0x7d, 0x01, 0x66, 0xb7, 0x6c, 0x27, 0xa2, + 0x47, 0x5a, 0x1f, 0x3b, 0x95, 0x7d, 0x58, 0x8b, 0xe1, 0xe4, 0x66, 0x28, 0x90, 0xc3, 0xb0, 0xc7, + 0x73, 0xe1, 0x2a, 0x7a, 0x8d, 0x23, 0x52, 0x18, 0x0d, 0x41, 0x3f, 0x36, 0x9d, 0x9e, 0x85, 0xdb, + 0x74, 0x55, 0xf1, 0x1c, 0x8c, 0xb2, 0x5e, 0xe7, 0xe0, 0x55, 0x06, 0x6d, 0x1a, 0xa2, 0x2f, 0x9f, + 0x01, 0x30, 0x63, 0x15, 0xf9, 0x0e, 0xff, 0xd1, 0xec, 0x1d, 0x9e, 0xbd, 0x61, 0x1e, 0xee, 0x98, + 0x8e, 0x3b, 0x76, 0x18, 0xe1, 0x00, 0x5b, 0xba, 0xc4, 0x4b, 0xfb, 0xa6, 0x12, 0xbf, 0xfd, 0xb2, + 0xc3, 0x95, 0xf6, 0x5f, 0x72, 0x2c, 0x9d, 0x31, 0x57, 0x24, 0xba, 0x01, 0x25, 0x3e, 0x01, 0x47, + 0x7f, 0xb4, 0x17, 0x14, 0xda, 0xff, 0xef, 0xd3, 0x66, 0xd9, 0xb3, 0x70, 0x6a, 0x61, 0x2a, 0xe9, + 0x85, 0x89, 0x2e, 0x40, 0xdd, 0xf4, 0x2c, 0xdc, 0x36, 0xb7, 0x0d, 0xc7, 0xc1, 0x6e, 0x47, 0x1c, + 0xa1, 0xd3, 0x34, 0xfc, 0x2f, 0x80, 0x29, 0xe5, 0x8b, 0x03, 0xb6, 0x93, 0x0f, 0x14, 0x98, 0xd7, + 0xd3, 0xef, 0xe3, 0xf4, 0x2d, 0x90, 0xd9, 0x8e, 0x79, 0x47, 0xef, 0xa6, 0xb6, 0x96, 0x91, 0x6c, + 0x32, 0x62, 0xea, 0x53, 0x72, 0x7a, 0x7e, 0x49, 0x81, 0x73, 0x59, 0x7a, 0x30, 0x08, 0xbf, 0xe1, + 0x1e, 0x29, 0xe0, 0x3d, 0x2f, 0xc6, 0xf5, 0x04, 0x14, 0x3c, 0x76, 0x28, 0x97, 0xd9, 0xa1, 0xfc, + 0xe0, 0x8e, 0x5e, 0xf0, 0x76, 0xb4, 0x1f, 0x01, 0xc0, 0xfa, 0x5e, 0x18, 0xe1, 0x2e, 0x0d, 0x60, + 0x48, 0x53, 0xe2, 0xdf, 0x62, 0xbf, 0x78, 0x09, 0x4a, 0x7e, 0xe0, 0x11, 0xc7, 0x8c, 0x0b, 0xbe, + 0x94, 0x3d, 0xd6, 0x31, 0x9b, 0x85, 0x16, 0x43, 0xd7, 0x05, 0x1d, 0x7a, 0x13, 0x8a, 0xfe, 0xa2, + 0x3f, 0x30, 0xd8, 0x26, 0x93, 0x2f, 0xb6, 0xd8, 0x56, 0xd4, 0x5a, 0x6c, 0xe9, 0x84, 0x10, 0xdd, + 0x87, 0x92, 0x17, 0x6c, 0xda, 0x91, 0xb5, 0xc9, 0xb3, 0xc5, 0x86, 0xaa, 0xf0, 0x80, 0xa0, 0xaf, + 0xdc, 0x64, 0x43, 0xc0, 0x1b, 0xba, 0x60, 0x42, 0x8e, 0xee, 0x47, 0x46, 0xe0, 0x8a, 0xbb, 0x29, + 0x6b, 0x34, 0xff, 0x55, 0x01, 0x81, 0x8a, 0xac, 0x24, 0xab, 0x20, 0xf6, 0x3f, 0x58, 0xef, 0x5f, + 0x1f, 0x51, 0xf4, 0x82, 0x3c, 0xb4, 0xf4, 0xa6, 0xac, 0xcf, 0x70, 0x96, 0xf1, 0x7b, 0xde, 0x17, + 0x61, 0xf6, 0x10, 0x16, 0x59, 0x09, 0x7e, 0xe0, 0x75, 0x02, 0x61, 0xf0, 0xa2, 0x1e, 0xb7, 0x69, + 0xe8, 0xd1, 0x78, 0x6c, 0x77, 0x7b, 0x5d, 0x6a, 0xcc, 0xa2, 0x2e, 0x9a, 0x84, 0x6a, 0xb3, 0xb7, + 0xb5, 0x85, 0xc5, 0x46, 0x53, 0xd4, 0xe3, 0x36, 0xb9, 0x8b, 0xb3, 0x4c, 0x3e, 0x7e, 0xce, 0xf3, + 0x56, 0x73, 0x01, 0x88, 0x89, 0xc9, 0x56, 0x15, 0x5f, 0x7e, 0xdb, 0xc4, 0x75, 0x17, 0x72, 0xeb, + 0x31, 0x98, 0x78, 0xf6, 0x61, 0xf3, 0x1b, 0x53, 0x50, 0xe2, 0x63, 0x4b, 0x34, 0xd9, 0xc5, 0x41, + 0x48, 0x9c, 0x07, 0xb6, 0x4f, 0x8a, 0x26, 0x3a, 0x09, 0xa5, 0x5d, 0x33, 0x6c, 0x07, 0x78, 0x8b, + 0x2f, 0xd3, 0xa9, 0x5d, 0x33, 0xd4, 0xf1, 0x16, 0xb9, 0xc4, 0xf4, 0xfc, 0xc8, 0xee, 0xe2, 0x76, + 0x37, 0x64, 0x3a, 0xb2, 0x4b, 0xcc, 0x06, 0x05, 0xde, 0x5b, 0xd7, 0xcb, 0xec, 0xf3, 0xbd, 0x10, + 0x7d, 0x0c, 0xd4, 0x5e, 0x88, 0x83, 0xb6, 0xe9, 0xf7, 0xda, 0x82, 0x02, 0x28, 0xc5, 0xec, 0xc1, + 0xfe, 0xfc, 0xf4, 0x46, 0x88, 0x83, 0xe5, 0xd6, 0xc6, 0x43, 0x46, 0x36, 0x4d, 0x50, 0x97, 0xfd, + 0xde, 0x43, 0x46, 0xfb, 0x49, 0x40, 0x21, 0x1d, 0x8d, 0x14, 0x75, 0x95, 0x52, 0xd3, 0xdc, 0x60, + 0x36, 0x56, 0x09, 0xfd, 0x0c, 0x43, 0x4f, 0x38, 0x9c, 0x01, 0x08, 0x23, 0x83, 0xfa, 0x5e, 0x46, + 0xd4, 0xa8, 0x51, 0x5b, 0x54, 0x38, 0x64, 0x89, 0x56, 0x03, 0x05, 0x0e, 0xb9, 0xb2, 0xb7, 0xcd, + 0x5e, 0xd0, 0x98, 0xa6, 0x19, 0xe1, 0x15, 0x06, 0x59, 0xee, 0xd1, 0xe3, 0xc1, 0xed, 0x75, 0xdb, + 0x1d, 0x2f, 0xf0, 0x7a, 0x91, 0xed, 0xe2, 0x46, 0x9d, 0x32, 0xa8, 0xb9, 0xbd, 0xee, 0x6d, 0x01, + 0x23, 0x43, 0xe2, 0x7a, 0x5b, 0xb6, 0x83, 0x1b, 0x33, 0x6c, 0x48, 0x58, 0x0b, 0xbd, 0x04, 0xc7, + 0x22, 0xcf, 0x6b, 0x77, 0x0d, 0x77, 0xaf, 0xed, 0xf9, 0xd8, 0x6d, 0x13, 0x68, 0xd8, 0x50, 0xe9, + 0xd1, 0xa1, 0x46, 0x9e, 0x77, 0xcf, 0x70, 0xf7, 0x1e, 0xf8, 0xd8, 0xbd, 0x45, 0xe0, 0xe8, 0x3c, + 0x94, 0x88, 0x2c, 0xd3, 0xef, 0x35, 0x66, 0x69, 0x07, 0x69, 0x00, 0xe4, 0x7e, 0x8f, 0xf4, 0x4e, + 0x9f, 0x72, 0x7b, 0xa4, 0x53, 0x44, 0xdf, 0x8e, 0xd7, 0x16, 0xa3, 0x85, 0xe8, 0x98, 0x54, 0x3a, + 0xde, 0xa7, 0xf9, 0x78, 0x5d, 0x01, 0xd5, 0xf3, 0x71, 0x40, 0xb3, 0x98, 0xda, 0xcc, 0x14, 0x8d, + 0x63, 0xcc, 0x07, 0x8e, 0xe1, 0xcc, 0x64, 0xe8, 0x59, 0xa8, 0x6c, 0x7b, 0x61, 0xd4, 0x76, 0x8d, + 0x2e, 0x6e, 0xcc, 0x51, 0x9c, 0x32, 0x01, 0xdc, 0x37, 0xba, 0x98, 0xf8, 0x19, 0x46, 0x60, 0x6e, + 0x37, 0x8e, 0x33, 0x3f, 0x83, 0xfc, 0x96, 0x4c, 0xd5, 0x35, 0x1e, 0x37, 0x4e, 0xc8, 0xa6, 0xba, + 0x67, 0x3c, 0x26, 0xde, 0x87, 0x6f, 0x5b, 0x8d, 0x93, 0x54, 0x75, 0xb6, 0xe4, 0xc9, 0x95, 0xdb, + 0xb7, 0x2d, 0x74, 0x1a, 0x26, 0x7c, 0xf2, 0xad, 0x41, 0xbf, 0x95, 0x0f, 0xf6, 0xe7, 0x27, 0x5a, + 0xe4, 0x23, 0x85, 0xb2, 0x35, 0x62, 0x7b, 0x81, 0x1d, 0xed, 0x35, 0x4e, 0x89, 0x35, 0xc2, 0xda, + 0xd4, 0xa5, 0xb1, 0xad, 0x46, 0x33, 0x61, 0xba, 0x41, 0x98, 0xf6, 0x6c, 0x0b, 0xcd, 0x43, 0xf5, + 0x91, 0x17, 0xec, 0x90, 0x8e, 0x5a, 0x76, 0xd0, 0x78, 0x96, 0xf9, 0x0b, 0x1c, 0xb4, 0x62, 0xd3, + 0x53, 0x9b, 0xcf, 0x1d, 0x32, 0xa7, 0x68, 0x37, 0x4f, 0x53, 0xa4, 0x3a, 0x03, 0x6f, 0x70, 0xa8, + 0xf6, 0xeb, 0x49, 0x28, 0x93, 0x45, 0xd1, 0x7f, 0x92, 0x2e, 0x89, 0x5d, 0xf3, 0xa3, 0x30, 0x29, + 0x96, 0x52, 0x31, 0xf7, 0x51, 0x44, 0x70, 0xa0, 0x3f, 0x74, 0x46, 0xd0, 0xfc, 0x61, 0x01, 0x26, + 0x48, 0x5b, 0x2a, 0x32, 0xa9, 0xa4, 0x8a, 0x4c, 0x6e, 0xc0, 0x14, 0x99, 0x46, 0x98, 0x05, 0x22, + 0xf2, 0x36, 0xd4, 0x98, 0xb7, 0x4e, 0x70, 0x75, 0x4e, 0x42, 0x26, 0x1e, 0xbd, 0x11, 0x0b, 0xf7, + 0x97, 0xb7, 0xd0, 0x12, 0x94, 0xb7, 0xb0, 0x11, 0xf5, 0x02, 0xcc, 0x76, 0xc5, 0x7a, 0x5e, 0x7d, + 0x8e, 0x60, 0x7b, 0x8b, 0x61, 0xeb, 0x31, 0x19, 0xb1, 0x6e, 0xd7, 0x76, 0xdb, 0x8e, 0x11, 0x61, + 0xd7, 0x64, 0x05, 0x66, 0x45, 0x1d, 0xba, 0xb6, 0x7b, 0x97, 0x41, 0xc8, 0xf4, 0xb1, 0xc3, 0x36, + 0x8d, 0xe0, 0x62, 0x1e, 0x4e, 0x2f, 0xdb, 0x21, 0x8d, 0x1f, 0x63, 0xf4, 0x71, 0xa8, 0x58, 0x76, + 0x80, 0x4d, 0x7a, 0x1f, 0x29, 0x0d, 0x08, 0x94, 0xac, 0x08, 0x2c, 0x3d, 0x21, 0x68, 0xfe, 0x8c, + 0x1c, 0x57, 0xa4, 0x87, 0x69, 0x21, 0x4a, 0x9f, 0x90, 0x06, 0x94, 0x0c, 0xcb, 0xa2, 0x5b, 0x2b, + 0xdb, 0x9b, 0x44, 0x33, 0x2d, 0xbe, 0x38, 0xa6, 0x78, 0xc2, 0x57, 0x74, 0x9b, 0x6d, 0xb1, 0xa2, + 0x89, 0xde, 0x84, 0x52, 0x18, 0x05, 0xd8, 0xe8, 0x8a, 0x60, 0xc3, 0xf3, 0x83, 0xcd, 0xba, 0x4e, + 0x91, 0x75, 0x41, 0xd4, 0x3c, 0x07, 0x53, 0x0c, 0x94, 0x37, 0x1d, 0xb4, 0xf7, 0xa1, 0xc4, 0xc7, + 0x02, 0x21, 0xa8, 0xf3, 0xb0, 0x23, 0x87, 0xa8, 0xcf, 0xa0, 0x19, 0xa8, 0xbe, 0x83, 0xc3, 0x6d, + 0x01, 0x50, 0x50, 0x1d, 0xe0, 0xe6, 0xdd, 0x55, 0xd1, 0xa6, 0x61, 0xc8, 0xbb, 0x9e, 0x69, 0x38, + 0x02, 0x52, 0xa4, 0x01, 0x4c, 0x2f, 0x10, 0xed, 0x09, 0xc2, 0xe2, 0xed, 0x9e, 0x6d, 0x0a, 0xc0, + 0xa4, 0xf6, 0x7d, 0x05, 0xca, 0x2d, 0x71, 0x26, 0xcd, 0xc1, 0x64, 0x18, 0x19, 0x91, 0xb8, 0x5f, + 0xb3, 0x06, 0x81, 0x5a, 0x9e, 0xed, 0x76, 0x44, 0xb4, 0x83, 0x36, 0x52, 0x67, 0x1b, 0x31, 0x72, + 0x41, 0x3a, 0xdb, 0x4e, 0x43, 0xc5, 0xe4, 0x77, 0x04, 0x76, 0x50, 0x4d, 0xe8, 0x09, 0x80, 0xdd, + 0xb6, 0x23, 0xc3, 0xa1, 0xd3, 0x6a, 0x42, 0x67, 0x0d, 0x2a, 0x05, 0x3b, 0x06, 0xab, 0xf3, 0x9c, + 0xd0, 0x59, 0x43, 0x73, 0x61, 0x96, 0xbd, 0x6a, 0xbc, 0x63, 0x47, 0xdb, 0x2c, 0x44, 0x16, 0x8e, + 0x53, 0x68, 0xb4, 0x00, 0x55, 0x16, 0x4e, 0x0b, 0xdb, 0xfe, 0x4e, 0xaa, 0x8c, 0x4b, 0xc4, 0xdb, + 0x42, 0x1d, 0x38, 0x46, 0x6b, 0x27, 0xd4, 0xf6, 0x15, 0x98, 0x7d, 0xd0, 0x8b, 0x1e, 0x6c, 0xd1, + 0xe8, 0xa6, 0x28, 0x8c, 0x1b, 0x10, 0x4f, 0x1c, 0x23, 0x32, 0x2f, 0xd5, 0x1e, 0x11, 0x83, 0x4d, + 0x25, 0x05, 0x87, 0xbc, 0x8a, 0x70, 0x22, 0xa9, 0x22, 0x9c, 0x83, 0xc9, 0x2d, 0xc7, 0xe8, 0x84, + 0xd4, 0x46, 0x25, 0x9d, 0x35, 0x68, 0x70, 0x4c, 0x14, 0xed, 0xb5, 0xd3, 0xa1, 0x41, 0x35, 0xfe, + 0xd0, 0xe2, 0xb5, 0x99, 0x71, 0x15, 0x5c, 0x49, 0xaa, 0x82, 0xd3, 0x7e, 0xa2, 0xc0, 0xb1, 0x8c, + 0xb4, 0x39, 0xb4, 0x02, 0xc0, 0x5c, 0x63, 0xe9, 0xd5, 0x43, 0xda, 0x36, 0x7a, 0xe1, 0x76, 0x5f, + 0xc2, 0x1d, 0x75, 0x9a, 0x59, 0x58, 0x39, 0x12, 0x3f, 0x89, 0x35, 0x36, 0x7b, 0xae, 0xe5, 0xe0, + 0x24, 0xef, 0x96, 0x5a, 0xe3, 0x26, 0x05, 0xae, 0xad, 0x10, 0x4f, 0x86, 0xfe, 0xb2, 0x92, 0x98, + 0x0b, 0x7f, 0x2d, 0x66, 0x31, 0x97, 0xeb, 0x30, 0x17, 0x60, 0xd3, 0xf6, 0x6d, 0xec, 0x46, 0x6d, + 0xe9, 0x2a, 0xcc, 0x4c, 0x83, 0xe2, 0x6f, 0x2d, 0x71, 0x27, 0xd6, 0xee, 0x03, 0x24, 0xd9, 0x79, + 0xac, 0x52, 0x99, 0xfc, 0x92, 0xcb, 0x7b, 0x19, 0x84, 0x5c, 0xa0, 0xa5, 0x38, 0x12, 0xd9, 0x2d, + 0xf8, 0x8c, 0x16, 0x97, 0xf4, 0x25, 0xcb, 0x0a, 0xb4, 0xaf, 0x29, 0x70, 0x8a, 0x30, 0x64, 0x03, + 0xc8, 0xf3, 0x8f, 0xc5, 0x5d, 0x0c, 0xbd, 0x99, 0x0e, 0xdb, 0x8d, 0x9e, 0x96, 0xc8, 0xfb, 0x37, + 0xfa, 0x74, 0x21, 0x77, 0x8a, 0x66, 0xa2, 0x08, 0xcf, 0x47, 0x4c, 0x34, 0x79, 0x0d, 0xa6, 0x78, + 0x2a, 0xa3, 0x32, 0x5a, 0x2a, 0x23, 0x47, 0x1f, 0x47, 0x85, 0xbf, 0x2d, 0xc4, 0x85, 0x2d, 0x83, + 0x6e, 0xa8, 0xe3, 0x24, 0x4c, 0xdf, 0x80, 0x66, 0x68, 0x77, 0x5c, 0x6c, 0xf1, 0xeb, 0x79, 0xb4, + 0xd7, 0x3e, 0x14, 0xf1, 0x38, 0xc9, 0x30, 0xd6, 0x38, 0x42, 0x3c, 0xd6, 0xe8, 0x1a, 0x1c, 0xdb, + 0xe5, 0x7a, 0xb4, 0xa5, 0x0b, 0x36, 0x0b, 0x87, 0xa0, 0xdd, 0x43, 0x2a, 0x92, 0x05, 0x13, 0x50, + 0x35, 0x59, 0x28, 0xac, 0x6d, 0x91, 0xcd, 0x8d, 0x6d, 0xeb, 0xaa, 0xfc, 0x61, 0x85, 0xec, 0x73, + 0xf4, 0x9e, 0x2f, 0xa2, 0x66, 0x0c, 0x95, 0x1d, 0x7c, 0xf5, 0x04, 0x4c, 0x11, 0xd3, 0xa1, 0x8a, + 0xa9, 0xfe, 0x50, 0x05, 0x39, 0x98, 0x79, 0x38, 0xa1, 0xc4, 0xbc, 0x66, 0xd6, 0xd2, 0xbe, 0xad, + 0xc0, 0x71, 0x32, 0x20, 0x6c, 0x9f, 0xa2, 0x53, 0x6b, 0xc3, 0x27, 0x72, 0x9e, 0x7c, 0x30, 0xe3, + 0x55, 0x54, 0x90, 0x57, 0xd1, 0x18, 0xaf, 0xbe, 0xff, 0x99, 0xda, 0xf0, 0xf8, 0x74, 0x6d, 0x9e, + 0x4f, 0xae, 0xaa, 0xd2, 0x23, 0x84, 0x92, 0x7a, 0x84, 0x68, 0xfe, 0x65, 0x7c, 0xaf, 0xfc, 0x64, + 0x92, 0x46, 0xc1, 0xf4, 0xbf, 0x98, 0xa9, 0xff, 0xa1, 0x8d, 0x35, 0x29, 0xd9, 0x25, 0x27, 0x86, + 0x83, 0x89, 0x5b, 0xfe, 0x58, 0xbc, 0x98, 0x26, 0x00, 0x74, 0x19, 0x54, 0x7e, 0x1f, 0x4f, 0xa6, + 0x0a, 0xdb, 0x36, 0xea, 0xec, 0x2a, 0x1e, 0xcf, 0x90, 0x2b, 0xa0, 0x1a, 0x4e, 0x80, 0x0d, 0x6b, + 0xaf, 0x1d, 0xf0, 0x22, 0x1d, 0x3a, 0xde, 0x65, 0x7d, 0x86, 0xc3, 0x45, 0xed, 0x0e, 0xcd, 0xeb, + 0x49, 0x34, 0x5a, 0xc7, 0x86, 0xd3, 0xbc, 0x9f, 0x74, 0x7b, 0xc0, 0x96, 0x9f, 0xa5, 0x4d, 0x21, + 0x4b, 0x9b, 0xe6, 0x05, 0x61, 0xa0, 0xd3, 0x50, 0x89, 0xf7, 0x67, 0xb1, 0x2b, 0xc5, 0x00, 0xed, + 0x0d, 0x98, 0xbd, 0x65, 0x07, 0x61, 0x74, 0xd7, 0x08, 0xa3, 0x65, 0x76, 0x24, 0xd0, 0xb3, 0x78, + 0x8b, 0x00, 0x79, 0x71, 0x3a, 0x6b, 0xd0, 0x08, 0xa0, 0x11, 0x46, 0xbc, 0x78, 0x95, 0xfe, 0xd6, + 0xfe, 0x51, 0x81, 0x63, 0xfc, 0xa6, 0x2a, 0xe5, 0xb9, 0xb0, 0xbb, 0x0f, 0x36, 0x1c, 0x6c, 0xb5, + 0x37, 0xbd, 0xc7, 0xc2, 0xa8, 0x0c, 0x72, 0xd3, 0x7b, 0x4c, 0xf6, 0xc2, 0xc0, 0x78, 0xd4, 0x0e, + 0x3c, 0x96, 0xe6, 0xc5, 0x0d, 0x5a, 0x0d, 0x8c, 0x47, 0x3a, 0x07, 0x35, 0x3f, 0x50, 0xa0, 0x48, + 0x50, 0x25, 0x5f, 0x4b, 0x49, 0xfb, 0x5a, 0x73, 0x30, 0x49, 0xff, 0x88, 0x81, 0x98, 0x7f, 0xb4, + 0x31, 0xc6, 0xfc, 0xeb, 0xcf, 0xda, 0xaf, 0x65, 0xbe, 0xfb, 0xfe, 0x5a, 0x81, 0xe3, 0x3a, 0xde, + 0x0a, 0x70, 0xb8, 0x9d, 0xce, 0x68, 0x6d, 0xbe, 0x3a, 0xc4, 0xc1, 0x9e, 0x83, 0x49, 0xf6, 0x74, + 0x5d, 0x60, 0xe1, 0x01, 0xf6, 0x72, 0xfd, 0xf6, 0x13, 0x66, 0x5f, 0x12, 0x43, 0x90, 0x5b, 0xa8, + 0xd7, 0x8b, 0xc4, 0xa5, 0x9d, 0x37, 0x9b, 0xef, 0x8a, 0xa1, 0x6e, 0x41, 0x95, 0x3a, 0xff, 0xed, + 0x2d, 0xaf, 0xe7, 0x5a, 0xfc, 0xce, 0x70, 0x2d, 0x73, 0x3d, 0x64, 0x76, 0x89, 0x5d, 0x20, 0x80, + 0xf2, 0xb8, 0x45, 0x58, 0x5c, 0xb5, 0x21, 0x79, 0xc3, 0x45, 0x27, 0x78, 0x0a, 0x18, 0x7b, 0xff, + 0xb6, 0xf0, 0x96, 0xed, 0x62, 0x4b, 0x7d, 0x06, 0xcd, 0xf1, 0xac, 0x1d, 0x02, 0xe7, 0x5b, 0xb6, + 0xaa, 0xa4, 0xa0, 0x5c, 0x0c, 0x7b, 0xfc, 0x8e, 0xa1, 0x52, 0xde, 0x9f, 0x5a, 0xbc, 0xfa, 0xd5, + 0x0a, 0x54, 0x92, 0xa7, 0xca, 0x13, 0x80, 0xe2, 0x86, 0x2c, 0xeb, 0x3c, 0xcc, 0xc7, 0x70, 0x9e, + 0x2a, 0x94, 0x94, 0x81, 0xd3, 0xda, 0x21, 0x55, 0x41, 0x17, 0xe0, 0xb9, 0x34, 0x52, 0xba, 0xa8, + 0x9a, 0xa1, 0x15, 0xd0, 0x3c, 0x3c, 0x1b, 0xa3, 0x1d, 0xae, 0x5a, 0x55, 0x31, 0x3a, 0x03, 0xa7, + 0x32, 0x11, 0xee, 0xe2, 0xad, 0x48, 0xdd, 0x42, 0x57, 0xe1, 0x62, 0xff, 0xe7, 0xec, 0xda, 0x50, + 0xb5, 0x83, 0xae, 0xc0, 0x85, 0xc1, 0xb8, 0x22, 0x77, 0x7f, 0x1b, 0x5d, 0x87, 0x17, 0x07, 0xa3, + 0xa6, 0x4b, 0x3b, 0x55, 0x1b, 0x2d, 0xc2, 0xc2, 0x60, 0x8a, 0x07, 0xbd, 0xa8, 0x43, 0x3c, 0x67, + 0x51, 0x8b, 0xa9, 0x7e, 0x1e, 0x2d, 0xc0, 0xd5, 0xd1, 0x68, 0xd6, 0xb1, 0x1b, 0xa9, 0x3b, 0xc3, + 0x65, 0xac, 0xb9, 0xa6, 0xd7, 0xb5, 0xdd, 0x8e, 0xd8, 0xe4, 0x54, 0x07, 0xbd, 0x02, 0xd7, 0x46, + 0xa3, 0x89, 0xeb, 0xfe, 0xd4, 0xee, 0xe8, 0x82, 0x44, 0xc1, 0x9e, 0xea, 0x22, 0x0d, 0xce, 0xe6, + 0xd0, 0xf0, 0xd2, 0x39, 0xd5, 0x43, 0xcf, 0xc3, 0xb9, 0x1c, 0x9c, 0xb8, 0xd8, 0x4d, 0xf5, 0x91, + 0x06, 0x67, 0x62, 0xac, 0xbe, 0x1c, 0x67, 0x36, 0x6d, 0x7e, 0xac, 0xa0, 0xeb, 0xf0, 0x42, 0x8c, + 0x33, 0x30, 0x57, 0x97, 0x51, 0xfc, 0xa0, 0x80, 0x5e, 0x95, 0x0c, 0x71, 0x38, 0xdb, 0x55, 0x2a, + 0x1a, 0x5f, 0x72, 0x5d, 0xaf, 0xe7, 0x9a, 0xd8, 0x52, 0xff, 0xb4, 0x80, 0x16, 0xe0, 0x4a, 0xbe, + 0x9c, 0x54, 0xb6, 0x2e, 0xb6, 0xd4, 0x3f, 0x2b, 0xa0, 0x8b, 0xd2, 0xb4, 0xcf, 0xab, 0xac, 0x53, + 0xbf, 0x5d, 0x44, 0x97, 0xe1, 0xfc, 0x20, 0x3c, 0x5e, 0xf2, 0xa6, 0x7e, 0xa7, 0x88, 0xce, 0x4a, + 0x0b, 0xa0, 0xbf, 0x54, 0x4d, 0xfd, 0x6e, 0x11, 0x9d, 0x97, 0xec, 0x9e, 0xe9, 0x5d, 0xa8, 0xbf, + 0x5b, 0x44, 0x97, 0x40, 0x4b, 0x21, 0x65, 0x7a, 0xb7, 0xea, 0xf7, 0xd2, 0x7a, 0xe5, 0x7b, 0x9f, + 0xea, 0xef, 0x15, 0xd1, 0xcb, 0x87, 0x97, 0xc8, 0x20, 0x27, 0x51, 0xfd, 0x65, 0x31, 0x65, 0x9c, + 0x54, 0x72, 0x25, 0xbf, 0xb3, 0xd0, 0x69, 0xfe, 0xcf, 0xa5, 0xab, 0xdf, 0x14, 0xaf, 0xe8, 0x19, + 0xc9, 0x1f, 0x64, 0x63, 0xc9, 0xfb, 0xd6, 0xb7, 0x49, 0xe5, 0xa1, 0xf1, 0x53, 0x52, 0x55, 0xc8, + 0x7c, 0xcc, 0x47, 0x62, 0xaa, 0xa9, 0x85, 0xab, 0x7f, 0xa5, 0xc4, 0x15, 0x01, 0xac, 0xe6, 0xe7, + 0x54, 0x5c, 0x59, 0x41, 0xdb, 0xb2, 0xd8, 0xbe, 0x4f, 0x0f, 0x3d, 0xbe, 0x60, 0x54, 0x85, 0x6c, + 0xbb, 0xf2, 0xa7, 0x78, 0x8d, 0x16, 0xd0, 0x71, 0x98, 0x95, 0xbf, 0xb0, 0x49, 0x52, 0x44, 0x27, + 0xe3, 0x14, 0x7f, 0x4e, 0xc0, 0xe6, 0xc4, 0x44, 0xbf, 0x90, 0x64, 0xe5, 0x4e, 0xf6, 0xd3, 0x88, + 0xa5, 0x37, 0x75, 0xf5, 0x36, 0x54, 0xe2, 0x78, 0x07, 0xaa, 0x03, 0xf0, 0xe8, 0xc2, 0x8a, 0x1d, + 0xa8, 0xcf, 0x90, 0xf6, 0x9a, 0xbb, 0x49, 0x4e, 0x1b, 0xd2, 0x56, 0xd0, 0x0c, 0x54, 0x1f, 0xf4, + 0xa2, 0x18, 0x50, 0x40, 0x15, 0x98, 0xbc, 0x69, 0x93, 0x9f, 0xc5, 0xc5, 0xbf, 0xbf, 0x0a, 0x33, + 0xe2, 0x4f, 0xbb, 0x88, 0xf7, 0xf9, 0x30, 0xa3, 0x22, 0x11, 0x2d, 0x0c, 0x7a, 0x48, 0x4a, 0xf0, + 0x16, 0xe2, 0xb2, 0xc5, 0x91, 0xf1, 0x7d, 0x67, 0xef, 0xba, 0x82, 0xbe, 0xa2, 0xe4, 0x16, 0x2e, + 0xa2, 0x57, 0xc7, 0xaa, 0x49, 0x13, 0x1a, 0x2c, 0x8e, 0x49, 0x45, 0xce, 0x7b, 0xa2, 0x45, 0xce, + 0xd1, 0x90, 0xa3, 0x45, 0x0e, 0xf6, 0x10, 0x2d, 0xf2, 0xa9, 0x88, 0x16, 0x5f, 0xcc, 0xa9, 0xe6, + 0x42, 0xa3, 0x30, 0xe3, 0xb8, 0xb1, 0x02, 0xd7, 0xc7, 0xa2, 0x21, 0xe2, 0xbf, 0x90, 0x5d, 0x1f, + 0x86, 0x5e, 0x1e, 0x81, 0x13, 0x43, 0x8d, 0x85, 0x5f, 0x1b, 0x87, 0x84, 0xc8, 0xfe, 0x8e, 0x32, + 0xb8, 0x74, 0x0c, 0xbd, 0x3e, 0x92, 0x3d, 0x65, 0x92, 0x58, 0x99, 0xd7, 0x9e, 0x84, 0x94, 0x28, + 0x15, 0x65, 0xd5, 0x98, 0xa1, 0x51, 0xfa, 0x46, 0x10, 0x63, 0xf9, 0x2f, 0x8d, 0x4e, 0x90, 0x39, + 0x0c, 0xec, 0x78, 0x1e, 0x69, 0x18, 0x18, 0xea, 0x58, 0xc3, 0x10, 0x93, 0xe4, 0xcd, 0x40, 0xb2, + 0x2b, 0x8d, 0x3a, 0x03, 0x09, 0xee, 0xb8, 0x33, 0x90, 0xd3, 0x10, 0xf1, 0x9b, 0xe9, 0x8a, 0x34, + 0x74, 0x25, 0xbf, 0xe8, 0x8b, 0xa3, 0xc4, 0xc2, 0x2e, 0x8d, 0x82, 0x4a, 0x64, 0xe0, 0xbe, 0x3a, + 0x35, 0x74, 0x35, 0x27, 0x6d, 0x51, 0xc2, 0x89, 0xa5, 0x5c, 0x1e, 0x09, 0x97, 0x77, 0x45, 0x76, + 0x9c, 0x72, 0xba, 0x22, 0xa3, 0x0c, 0xe9, 0x4a, 0x1f, 0x2a, 0x91, 0xb1, 0xdd, 0x5f, 0x91, 0x86, + 0x5e, 0x18, 0x44, 0xca, 0x91, 0x62, 0x39, 0x57, 0x46, 0x43, 0x26, 0x92, 0x1e, 0x65, 0xd6, 0xa9, + 0xa1, 0x81, 0x23, 0x2c, 0x63, 0xc6, 0x32, 0x17, 0xc6, 0xa0, 0x20, 0x82, 0xbf, 0xa4, 0xe4, 0x95, + 0xb3, 0xa1, 0x57, 0xb2, 0x8b, 0x44, 0x32, 0x91, 0x63, 0xf9, 0x2f, 0x8f, 0x47, 0xc4, 0xd7, 0x63, + 0x56, 0xe9, 0x1b, 0x1a, 0x8d, 0x15, 0x41, 0x1d, 0xb2, 0x1e, 0x73, 0x48, 0xf8, 0x7a, 0xcc, 0x2c, + 0x8c, 0xcb, 0x59, 0x8f, 0x99, 0xb8, 0x43, 0xd6, 0x63, 0x1e, 0x0d, 0x11, 0xff, 0x03, 0x65, 0xc4, + 0x1a, 0x3a, 0x74, 0x73, 0x24, 0xde, 0x99, 0xb4, 0xb1, 0x7e, 0x9f, 0x3c, 0x12, 0x0f, 0xa2, 0xef, + 0xef, 0x0f, 0xad, 0xc6, 0x43, 0x37, 0x46, 0x13, 0x92, 0x22, 0x8a, 0x35, 0x7c, 0xfd, 0xc9, 0x88, + 0x89, 0x6a, 0x7f, 0x38, 0x42, 0x79, 0x1e, 0x7a, 0x63, 0x24, 0xfe, 0xfd, 0x64, 0xb1, 0x7a, 0x37, + 0x9e, 0x94, 0x9c, 0x28, 0xb8, 0x73, 0xa8, 0x56, 0x0f, 0x65, 0xfb, 0x72, 0x7d, 0x58, 0xb1, 0xf4, + 0xab, 0x23, 0x62, 0xf3, 0x9d, 0x2b, 0x5d, 0x8d, 0x97, 0xb3, 0x73, 0xa5, 0x91, 0x86, 0xec, 0x5c, + 0x87, 0x90, 0x89, 0x24, 0x37, 0xa3, 0x02, 0x2c, 0xc7, 0xa9, 0x3d, 0x84, 0x37, 0x64, 0x47, 0x3e, + 0x5c, 0xc5, 0x77, 0x5d, 0x41, 0x3b, 0x87, 0x0b, 0xaf, 0xd0, 0x4b, 0x83, 0xc8, 0x63, 0xb4, 0x58, + 0xda, 0xc5, 0xa1, 0xe8, 0x42, 0xd8, 0xbb, 0x52, 0xb5, 0x13, 0x1a, 0x40, 0x46, 0xf3, 0x60, 0x04, + 0xfb, 0xe7, 0x87, 0xe2, 0xf1, 0x63, 0x32, 0x55, 0x48, 0x94, 0x73, 0x4c, 0xa6, 0x70, 0x86, 0x1c, + 0x93, 0xfd, 0xb8, 0x7c, 0xd6, 0xf5, 0xd5, 0x10, 0xe5, 0xcc, 0xba, 0x3e, 0xac, 0x21, 0xb3, 0xee, + 0x30, 0x36, 0x11, 0x16, 0x66, 0x14, 0x18, 0x0d, 0x9a, 0x0b, 0xa9, 0xb2, 0x9a, 0xc1, 0x17, 0x9c, + 0x2c, 0x7c, 0x76, 0xc1, 0xe9, 0x1e, 0x2a, 0x21, 0xc9, 0xed, 0x61, 0x0a, 0x6b, 0x68, 0x0f, 0xfb, + 0xb1, 0x99, 0xb8, 0x2f, 0x2b, 0x79, 0x55, 0x1e, 0x39, 0x07, 0x66, 0x36, 0xf2, 0x90, 0x03, 0x33, + 0x97, 0x88, 0x29, 0xf1, 0x9e, 0x5c, 0xd9, 0x80, 0x2e, 0xe5, 0xb3, 0x48, 0x8f, 0xe5, 0x85, 0xe1, + 0x88, 0x64, 0x18, 0xbf, 0x36, 0x20, 0x3d, 0x1f, 0xfd, 0x9f, 0x7c, 0x1e, 0x19, 0xe8, 0xb1, 0xe8, + 0x57, 0xc6, 0x25, 0x23, 0x8a, 0xbc, 0x27, 0x27, 0xeb, 0xa1, 0xa1, 0x39, 0x70, 0x83, 0xbb, 0x99, + 0x42, 0xe4, 0x3e, 0x57, 0x46, 0x92, 0x75, 0x8e, 0xcf, 0x95, 0x81, 0x39, 0xc4, 0xe7, 0xca, 0xa6, + 0x10, 0x97, 0xe1, 0x9c, 0x54, 0xf3, 0x9c, 0xcb, 0x70, 0x0e, 0xf6, 0x90, 0xcb, 0x70, 0x3e, 0x95, + 0xf0, 0x3d, 0x46, 0xca, 0xd5, 0xce, 0xf1, 0x3d, 0x46, 0xa2, 0x1d, 0xe2, 0x7b, 0x8c, 0xca, 0x83, + 0xe8, 0xfb, 0x17, 0xe3, 0x24, 0x5c, 0xa3, 0x5b, 0xe3, 0xcb, 0xcb, 0xb4, 0xec, 0xca, 0x91, 0xf9, + 0x10, 0xdd, 0x3f, 0x50, 0x72, 0xd3, 0xb2, 0x73, 0x46, 0x3c, 0x07, 0x7b, 0xc8, 0x88, 0xe7, 0x53, + 0xb1, 0x7d, 0x23, 0xcc, 0xc8, 0x8b, 0x1e, 0x1c, 0x81, 0x4a, 0xf0, 0x46, 0x8b, 0x40, 0xa5, 0xf0, + 0x99, 0xd0, 0x3f, 0x18, 0x9e, 0x7e, 0x8c, 0x3e, 0x9e, 0xf3, 0xf4, 0x33, 0x90, 0x2a, 0xd6, 0xe8, + 0x63, 0x4f, 0x48, 0x4d, 0x86, 0xe6, 0xd3, 0x49, 0x5e, 0x1b, 0x1a, 0x92, 0x01, 0x26, 0xc4, 0x0d, + 0xcb, 0x3f, 0xa3, 0x7c, 0xdf, 0xcf, 0x78, 0x31, 0xce, 0x31, 0xf5, 0x21, 0xbc, 0x21, 0xa6, 0xce, + 0xc2, 0xe7, 0x4e, 0x5f, 0xfa, 0xa9, 0x36, 0xc7, 0xe9, 0x4b, 0x23, 0x0d, 0x71, 0xfa, 0x0e, 0x21, + 0xf3, 0x6b, 0x53, 0xe6, 0xb3, 0x5c, 0xce, 0xb5, 0x29, 0xfb, 0x09, 0x6f, 0xf0, 0xb5, 0x29, 0x8f, + 0xc6, 0x77, 0xf6, 0x6e, 0x7e, 0xe4, 0xa7, 0xff, 0x74, 0xf6, 0x99, 0xbf, 0x3e, 0x38, 0xab, 0xfc, + 0xf4, 0xe0, 0xac, 0xf2, 0xf3, 0x83, 0xb3, 0xca, 0x67, 0x9f, 0xdf, 0xc4, 0x41, 0xb4, 0xb7, 0x10, + 0x61, 0x73, 0xfb, 0x1a, 0xe7, 0x76, 0xcd, 0xdf, 0xe9, 0x5c, 0x4b, 0xfd, 0xf7, 0x07, 0x9b, 0x53, + 0xb4, 0xf9, 0xca, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0x5e, 0xc2, 0x50, 0x0b, 0x16, 0x61, 0x00, + 0x00, } func (m *Account) Marshal() (dAtA []byte, err error) { @@ -13837,7 +14110,7 @@ func (m *ContactRequestDiscard_Reply) MarshalToSizedBuffer(dAtA []byte) (int, er return len(dAtA) - i, nil } -func (m *ContactBlock) Marshal() (dAtA []byte, err error) { +func (m *ShareContact) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -13847,12 +14120,12 @@ func (m *ContactBlock) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *ContactBlock) MarshalTo(dAtA []byte) (int, error) { +func (m *ShareContact) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *ContactBlock) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *ShareContact) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -13864,7 +14137,7 @@ func (m *ContactBlock) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *ContactBlock_Request) Marshal() (dAtA []byte, err error) { +func (m *ShareContact_Request) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -13874,12 +14147,12 @@ func (m *ContactBlock_Request) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *ContactBlock_Request) MarshalTo(dAtA []byte) (int, error) { +func (m *ShareContact_Request) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *ContactBlock_Request) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *ShareContact_Request) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -13888,17 +14161,10 @@ func (m *ContactBlock_Request) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - if len(m.ContactPK) > 0 { - i -= len(m.ContactPK) - copy(dAtA[i:], m.ContactPK) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.ContactPK))) - i-- - dAtA[i] = 0xa - } return len(dAtA) - i, nil } -func (m *ContactBlock_Reply) Marshal() (dAtA []byte, err error) { +func (m *ShareContact_Reply) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -13908,12 +14174,12 @@ func (m *ContactBlock_Reply) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *ContactBlock_Reply) MarshalTo(dAtA []byte) (int, error) { +func (m *ShareContact_Reply) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *ContactBlock_Reply) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *ShareContact_Reply) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -13922,10 +14188,17 @@ func (m *ContactBlock_Reply) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } + if len(m.EncodedContact) > 0 { + i -= len(m.EncodedContact) + copy(dAtA[i:], m.EncodedContact) + i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.EncodedContact))) + i-- + dAtA[i] = 0xa + } return len(dAtA) - i, nil } -func (m *ContactUnblock) Marshal() (dAtA []byte, err error) { +func (m *DecodeContact) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -13935,12 +14208,12 @@ func (m *ContactUnblock) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *ContactUnblock) MarshalTo(dAtA []byte) (int, error) { +func (m *DecodeContact) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *ContactUnblock) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *DecodeContact) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -13952,7 +14225,7 @@ func (m *ContactUnblock) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *ContactUnblock_Request) Marshal() (dAtA []byte, err error) { +func (m *DecodeContact_Request) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -13962,12 +14235,12 @@ func (m *ContactUnblock_Request) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *ContactUnblock_Request) MarshalTo(dAtA []byte) (int, error) { +func (m *DecodeContact_Request) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *ContactUnblock_Request) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *DecodeContact_Request) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -13976,17 +14249,17 @@ func (m *ContactUnblock_Request) MarshalToSizedBuffer(dAtA []byte) (int, error) i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - if len(m.ContactPK) > 0 { - i -= len(m.ContactPK) - copy(dAtA[i:], m.ContactPK) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.ContactPK))) + if len(m.EncodedContact) > 0 { + i -= len(m.EncodedContact) + copy(dAtA[i:], m.EncodedContact) + i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.EncodedContact))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *ContactUnblock_Reply) Marshal() (dAtA []byte, err error) { +func (m *DecodeContact_Reply) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -13996,12 +14269,12 @@ func (m *ContactUnblock_Reply) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *ContactUnblock_Reply) MarshalTo(dAtA []byte) (int, error) { +func (m *DecodeContact_Reply) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *ContactUnblock_Reply) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *DecodeContact_Reply) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -14010,10 +14283,22 @@ func (m *ContactUnblock_Reply) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } + if m.Contact != nil { + { + size, err := m.Contact.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintProtocoltypes(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } return len(dAtA) - i, nil } -func (m *ContactAliasKeySend) Marshal() (dAtA []byte, err error) { +func (m *ContactBlock) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -14023,12 +14308,12 @@ func (m *ContactAliasKeySend) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *ContactAliasKeySend) MarshalTo(dAtA []byte) (int, error) { +func (m *ContactBlock) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *ContactAliasKeySend) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *ContactBlock) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -14040,7 +14325,7 @@ func (m *ContactAliasKeySend) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *ContactAliasKeySend_Request) Marshal() (dAtA []byte, err error) { +func (m *ContactBlock_Request) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -14050,12 +14335,12 @@ func (m *ContactAliasKeySend_Request) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *ContactAliasKeySend_Request) MarshalTo(dAtA []byte) (int, error) { +func (m *ContactBlock_Request) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *ContactAliasKeySend_Request) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *ContactBlock_Request) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -14064,17 +14349,17 @@ func (m *ContactAliasKeySend_Request) MarshalToSizedBuffer(dAtA []byte) (int, er i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - if len(m.GroupPK) > 0 { - i -= len(m.GroupPK) - copy(dAtA[i:], m.GroupPK) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.GroupPK))) + if len(m.ContactPK) > 0 { + i -= len(m.ContactPK) + copy(dAtA[i:], m.ContactPK) + i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.ContactPK))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *ContactAliasKeySend_Reply) Marshal() (dAtA []byte, err error) { +func (m *ContactBlock_Reply) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -14084,12 +14369,12 @@ func (m *ContactAliasKeySend_Reply) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *ContactAliasKeySend_Reply) MarshalTo(dAtA []byte) (int, error) { +func (m *ContactBlock_Reply) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *ContactAliasKeySend_Reply) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *ContactBlock_Reply) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -14101,7 +14386,7 @@ func (m *ContactAliasKeySend_Reply) MarshalToSizedBuffer(dAtA []byte) (int, erro return len(dAtA) - i, nil } -func (m *MultiMemberGroupCreate) Marshal() (dAtA []byte, err error) { +func (m *ContactUnblock) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -14111,12 +14396,12 @@ func (m *MultiMemberGroupCreate) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MultiMemberGroupCreate) MarshalTo(dAtA []byte) (int, error) { +func (m *ContactUnblock) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MultiMemberGroupCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *ContactUnblock) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -14128,7 +14413,7 @@ func (m *MultiMemberGroupCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *MultiMemberGroupCreate_Request) Marshal() (dAtA []byte, err error) { +func (m *ContactUnblock_Request) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -14138,12 +14423,12 @@ func (m *MultiMemberGroupCreate_Request) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MultiMemberGroupCreate_Request) MarshalTo(dAtA []byte) (int, error) { +func (m *ContactUnblock_Request) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MultiMemberGroupCreate_Request) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *ContactUnblock_Request) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -14152,10 +14437,17 @@ func (m *MultiMemberGroupCreate_Request) MarshalToSizedBuffer(dAtA []byte) (int, i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } + if len(m.ContactPK) > 0 { + i -= len(m.ContactPK) + copy(dAtA[i:], m.ContactPK) + i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.ContactPK))) + i-- + dAtA[i] = 0xa + } return len(dAtA) - i, nil } -func (m *MultiMemberGroupCreate_Reply) Marshal() (dAtA []byte, err error) { +func (m *ContactUnblock_Reply) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -14165,12 +14457,12 @@ func (m *MultiMemberGroupCreate_Reply) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MultiMemberGroupCreate_Reply) MarshalTo(dAtA []byte) (int, error) { +func (m *ContactUnblock_Reply) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MultiMemberGroupCreate_Reply) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *ContactUnblock_Reply) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -14179,17 +14471,10 @@ func (m *MultiMemberGroupCreate_Reply) MarshalToSizedBuffer(dAtA []byte) (int, e i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - if len(m.GroupPK) > 0 { - i -= len(m.GroupPK) - copy(dAtA[i:], m.GroupPK) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.GroupPK))) - i-- - dAtA[i] = 0xa - } return len(dAtA) - i, nil } -func (m *MultiMemberGroupJoin) Marshal() (dAtA []byte, err error) { +func (m *ContactAliasKeySend) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -14199,12 +14484,12 @@ func (m *MultiMemberGroupJoin) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MultiMemberGroupJoin) MarshalTo(dAtA []byte) (int, error) { +func (m *ContactAliasKeySend) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MultiMemberGroupJoin) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *ContactAliasKeySend) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -14216,7 +14501,7 @@ func (m *MultiMemberGroupJoin) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MultiMemberGroupJoin_Request) Marshal() (dAtA []byte, err error) { +func (m *ContactAliasKeySend_Request) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -14226,12 +14511,12 @@ func (m *MultiMemberGroupJoin_Request) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MultiMemberGroupJoin_Request) MarshalTo(dAtA []byte) (int, error) { +func (m *ContactAliasKeySend_Request) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MultiMemberGroupJoin_Request) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *ContactAliasKeySend_Request) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -14240,22 +14525,17 @@ func (m *MultiMemberGroupJoin_Request) MarshalToSizedBuffer(dAtA []byte) (int, e i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - if m.Group != nil { - { - size, err := m.Group.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintProtocoltypes(dAtA, i, uint64(size)) - } + if len(m.GroupPK) > 0 { + i -= len(m.GroupPK) + copy(dAtA[i:], m.GroupPK) + i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.GroupPK))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *MultiMemberGroupJoin_Reply) Marshal() (dAtA []byte, err error) { +func (m *ContactAliasKeySend_Reply) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -14265,12 +14545,12 @@ func (m *MultiMemberGroupJoin_Reply) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MultiMemberGroupJoin_Reply) MarshalTo(dAtA []byte) (int, error) { +func (m *ContactAliasKeySend_Reply) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MultiMemberGroupJoin_Reply) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *ContactAliasKeySend_Reply) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -14282,7 +14562,7 @@ func (m *MultiMemberGroupJoin_Reply) MarshalToSizedBuffer(dAtA []byte) (int, err return len(dAtA) - i, nil } -func (m *MultiMemberGroupLeave) Marshal() (dAtA []byte, err error) { +func (m *MultiMemberGroupCreate) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -14292,12 +14572,12 @@ func (m *MultiMemberGroupLeave) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MultiMemberGroupLeave) MarshalTo(dAtA []byte) (int, error) { +func (m *MultiMemberGroupCreate) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MultiMemberGroupLeave) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MultiMemberGroupCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -14309,7 +14589,188 @@ func (m *MultiMemberGroupLeave) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MultiMemberGroupLeave_Request) Marshal() (dAtA []byte, err error) { +func (m *MultiMemberGroupCreate_Request) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MultiMemberGroupCreate_Request) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MultiMemberGroupCreate_Request) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + return len(dAtA) - i, nil +} + +func (m *MultiMemberGroupCreate_Reply) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MultiMemberGroupCreate_Reply) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MultiMemberGroupCreate_Reply) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + if len(m.GroupPK) > 0 { + i -= len(m.GroupPK) + copy(dAtA[i:], m.GroupPK) + i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.GroupPK))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MultiMemberGroupJoin) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MultiMemberGroupJoin) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MultiMemberGroupJoin) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + return len(dAtA) - i, nil +} + +func (m *MultiMemberGroupJoin_Request) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MultiMemberGroupJoin_Request) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MultiMemberGroupJoin_Request) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + if m.Group != nil { + { + size, err := m.Group.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintProtocoltypes(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MultiMemberGroupJoin_Reply) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MultiMemberGroupJoin_Reply) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MultiMemberGroupJoin_Reply) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + return len(dAtA) - i, nil +} + +func (m *MultiMemberGroupLeave) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MultiMemberGroupLeave) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MultiMemberGroupLeave) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + return len(dAtA) - i, nil +} + +func (m *MultiMemberGroupLeave_Request) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -15624,20 +16085,20 @@ func (m *GroupDeviceStatus_Reply_PeerConnected) MarshalToSizedBuffer(dAtA []byte } } if len(m.Transports) > 0 { - dAtA18 := make([]byte, len(m.Transports)*10) - var j17 int + dAtA19 := make([]byte, len(m.Transports)*10) + var j18 int for _, num := range m.Transports { for num >= 1<<7 { - dAtA18[j17] = uint8(uint64(num)&0x7f | 0x80) + dAtA19[j18] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j17++ + j18++ } - dAtA18[j17] = uint8(num) - j17++ + dAtA19[j18] = uint8(num) + j18++ } - i -= j17 - copy(dAtA[i:], dAtA18[:j17]) - i = encodeVarintProtocoltypes(dAtA, i, uint64(j17)) + i -= j18 + copy(dAtA[i:], dAtA19[:j18]) + i = encodeVarintProtocoltypes(dAtA, i, uint64(j18)) i-- dAtA[i] = 0x1a } @@ -17830,20 +18291,20 @@ func (m *PeerList_Peer) MarshalToSizedBuffer(dAtA []byte) (int, error) { dAtA[i] = 0x28 } if len(m.Features) > 0 { - dAtA28 := make([]byte, len(m.Features)*10) - var j27 int + dAtA29 := make([]byte, len(m.Features)*10) + var j28 int for _, num := range m.Features { for num >= 1<<7 { - dAtA28[j27] = uint8(uint64(num)&0x7f | 0x80) + dAtA29[j28] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j27++ + j28++ } - dAtA28[j27] = uint8(num) - j27++ + dAtA29[j28] = uint8(num) + j28++ } - i -= j27 - copy(dAtA[i:], dAtA28[:j27]) - i = encodeVarintProtocoltypes(dAtA, i, uint64(j27)) + i -= j28 + copy(dAtA[i:], dAtA29[:j28]) + i = encodeVarintProtocoltypes(dAtA, i, uint64(j28)) i-- dAtA[i] = 0x22 } @@ -20179,7 +20640,7 @@ func (m *ContactRequestDiscard_Reply) Size() (n int) { return n } -func (m *ContactBlock) Size() (n int) { +func (m *ShareContact) Size() (n int) { if m == nil { return 0 } @@ -20191,35 +20652,35 @@ func (m *ContactBlock) Size() (n int) { return n } -func (m *ContactBlock_Request) Size() (n int) { +func (m *ShareContact_Request) Size() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.ContactPK) - if l > 0 { - n += 1 + l + sovProtocoltypes(uint64(l)) - } if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } return n } -func (m *ContactBlock_Reply) Size() (n int) { +func (m *ShareContact_Reply) Size() (n int) { if m == nil { return 0 } var l int _ = l + l = len(m.EncodedContact) + if l > 0 { + n += 1 + l + sovProtocoltypes(uint64(l)) + } if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } return n } -func (m *ContactUnblock) Size() (n int) { +func (m *DecodeContact) Size() (n int) { if m == nil { return 0 } @@ -20231,13 +20692,13 @@ func (m *ContactUnblock) Size() (n int) { return n } -func (m *ContactUnblock_Request) Size() (n int) { +func (m *DecodeContact_Request) Size() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.ContactPK) + l = len(m.EncodedContact) if l > 0 { n += 1 + l + sovProtocoltypes(uint64(l)) } @@ -20247,19 +20708,23 @@ func (m *ContactUnblock_Request) Size() (n int) { return n } -func (m *ContactUnblock_Reply) Size() (n int) { +func (m *DecodeContact_Reply) Size() (n int) { if m == nil { return 0 } var l int _ = l + if m.Contact != nil { + l = m.Contact.Size() + n += 1 + l + sovProtocoltypes(uint64(l)) + } if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } return n } -func (m *ContactAliasKeySend) Size() (n int) { +func (m *ContactBlock) Size() (n int) { if m == nil { return 0 } @@ -20271,13 +20736,13 @@ func (m *ContactAliasKeySend) Size() (n int) { return n } -func (m *ContactAliasKeySend_Request) Size() (n int) { +func (m *ContactBlock_Request) Size() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.GroupPK) + l = len(m.ContactPK) if l > 0 { n += 1 + l + sovProtocoltypes(uint64(l)) } @@ -20287,7 +20752,7 @@ func (m *ContactAliasKeySend_Request) Size() (n int) { return n } -func (m *ContactAliasKeySend_Reply) Size() (n int) { +func (m *ContactBlock_Reply) Size() (n int) { if m == nil { return 0 } @@ -20299,7 +20764,7 @@ func (m *ContactAliasKeySend_Reply) Size() (n int) { return n } -func (m *MultiMemberGroupCreate) Size() (n int) { +func (m *ContactUnblock) Size() (n int) { if m == nil { return 0 } @@ -20311,35 +20776,35 @@ func (m *MultiMemberGroupCreate) Size() (n int) { return n } -func (m *MultiMemberGroupCreate_Request) Size() (n int) { +func (m *ContactUnblock_Request) Size() (n int) { if m == nil { return 0 } var l int _ = l + l = len(m.ContactPK) + if l > 0 { + n += 1 + l + sovProtocoltypes(uint64(l)) + } if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } return n } -func (m *MultiMemberGroupCreate_Reply) Size() (n int) { +func (m *ContactUnblock_Reply) Size() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.GroupPK) - if l > 0 { - n += 1 + l + sovProtocoltypes(uint64(l)) - } if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } return n } -func (m *MultiMemberGroupJoin) Size() (n int) { +func (m *ContactAliasKeySend) Size() (n int) { if m == nil { return 0 } @@ -20351,14 +20816,14 @@ func (m *MultiMemberGroupJoin) Size() (n int) { return n } -func (m *MultiMemberGroupJoin_Request) Size() (n int) { +func (m *ContactAliasKeySend_Request) Size() (n int) { if m == nil { return 0 } var l int _ = l - if m.Group != nil { - l = m.Group.Size() + l = len(m.GroupPK) + if l > 0 { n += 1 + l + sovProtocoltypes(uint64(l)) } if m.XXX_unrecognized != nil { @@ -20367,7 +20832,7 @@ func (m *MultiMemberGroupJoin_Request) Size() (n int) { return n } -func (m *MultiMemberGroupJoin_Reply) Size() (n int) { +func (m *ContactAliasKeySend_Reply) Size() (n int) { if m == nil { return 0 } @@ -20379,7 +20844,7 @@ func (m *MultiMemberGroupJoin_Reply) Size() (n int) { return n } -func (m *MultiMemberGroupLeave) Size() (n int) { +func (m *MultiMemberGroupCreate) Size() (n int) { if m == nil { return 0 } @@ -20391,35 +20856,35 @@ func (m *MultiMemberGroupLeave) Size() (n int) { return n } -func (m *MultiMemberGroupLeave_Request) Size() (n int) { +func (m *MultiMemberGroupCreate_Request) Size() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.GroupPK) - if l > 0 { - n += 1 + l + sovProtocoltypes(uint64(l)) - } if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } return n } -func (m *MultiMemberGroupLeave_Reply) Size() (n int) { +func (m *MultiMemberGroupCreate_Reply) Size() (n int) { if m == nil { return 0 } var l int _ = l + l = len(m.GroupPK) + if l > 0 { + n += 1 + l + sovProtocoltypes(uint64(l)) + } if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } return n } -func (m *MultiMemberGroupAliasResolverDisclose) Size() (n int) { +func (m *MultiMemberGroupJoin) Size() (n int) { if m == nil { return 0 } @@ -20431,14 +20896,14 @@ func (m *MultiMemberGroupAliasResolverDisclose) Size() (n int) { return n } -func (m *MultiMemberGroupAliasResolverDisclose_Request) Size() (n int) { +func (m *MultiMemberGroupJoin_Request) Size() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.GroupPK) - if l > 0 { + if m.Group != nil { + l = m.Group.Size() n += 1 + l + sovProtocoltypes(uint64(l)) } if m.XXX_unrecognized != nil { @@ -20447,7 +20912,7 @@ func (m *MultiMemberGroupAliasResolverDisclose_Request) Size() (n int) { return n } -func (m *MultiMemberGroupAliasResolverDisclose_Reply) Size() (n int) { +func (m *MultiMemberGroupJoin_Reply) Size() (n int) { if m == nil { return 0 } @@ -20459,7 +20924,87 @@ func (m *MultiMemberGroupAliasResolverDisclose_Reply) Size() (n int) { return n } -func (m *MultiMemberGroupAdminRoleGrant) Size() (n int) { +func (m *MultiMemberGroupLeave) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func (m *MultiMemberGroupLeave_Request) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.GroupPK) + if l > 0 { + n += 1 + l + sovProtocoltypes(uint64(l)) + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func (m *MultiMemberGroupLeave_Reply) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func (m *MultiMemberGroupAliasResolverDisclose) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func (m *MultiMemberGroupAliasResolverDisclose_Request) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.GroupPK) + if l > 0 { + n += 1 + l + sovProtocoltypes(uint64(l)) + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func (m *MultiMemberGroupAliasResolverDisclose_Reply) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func (m *MultiMemberGroupAdminRoleGrant) Size() (n int) { if m == nil { return 0 } @@ -29424,6 +29969,416 @@ func (m *ContactRequestDiscard_Reply) Unmarshal(dAtA []byte) error { } return nil } +func (m *ShareContact) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProtocoltypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ShareContact: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ShareContact: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipProtocoltypes(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthProtocoltypes + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ShareContact_Request) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProtocoltypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Request: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Request: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipProtocoltypes(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthProtocoltypes + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ShareContact_Reply) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProtocoltypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Reply: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Reply: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field EncodedContact", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProtocoltypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthProtocoltypes + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthProtocoltypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.EncodedContact = append(m.EncodedContact[:0], dAtA[iNdEx:postIndex]...) + if m.EncodedContact == nil { + m.EncodedContact = []byte{} + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipProtocoltypes(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthProtocoltypes + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *DecodeContact) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProtocoltypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: DecodeContact: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DecodeContact: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipProtocoltypes(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthProtocoltypes + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *DecodeContact_Request) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProtocoltypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Request: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Request: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field EncodedContact", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProtocoltypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthProtocoltypes + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthProtocoltypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.EncodedContact = append(m.EncodedContact[:0], dAtA[iNdEx:postIndex]...) + if m.EncodedContact == nil { + m.EncodedContact = []byte{} + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipProtocoltypes(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthProtocoltypes + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *DecodeContact_Reply) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProtocoltypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Reply: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Reply: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Contact", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProtocoltypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthProtocoltypes + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthProtocoltypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Contact == nil { + m.Contact = &ShareableContact{} + } + if err := m.Contact.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipProtocoltypes(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthProtocoltypes + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *ContactBlock) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/pkg/protocoltypes/protocoltypes.pb.gw.go b/pkg/protocoltypes/protocoltypes.pb.gw.go index 501f915d..31eb40da 100644 --- a/pkg/protocoltypes/protocoltypes.pb.gw.go +++ b/pkg/protocoltypes/protocoltypes.pb.gw.go @@ -330,6 +330,74 @@ func local_request_ProtocolService_ContactRequestDiscard_0(ctx context.Context, } +func request_ProtocolService_ShareContact_0(ctx context.Context, marshaler runtime.Marshaler, client ProtocolServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ShareContact_Request + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ShareContact(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProtocolService_ShareContact_0(ctx context.Context, marshaler runtime.Marshaler, server ProtocolServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ShareContact_Request + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ShareContact(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ProtocolService_DecodeContact_0(ctx context.Context, marshaler runtime.Marshaler, client ProtocolServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DecodeContact_Request + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.DecodeContact(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProtocolService_DecodeContact_0(ctx context.Context, marshaler runtime.Marshaler, server ProtocolServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DecodeContact_Request + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.DecodeContact(ctx, &protoReq) + return msg, metadata, err + +} + func request_ProtocolService_ContactBlock_0(ctx context.Context, marshaler runtime.Marshaler, client ProtocolServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ContactBlock_Request var metadata runtime.ServerMetadata @@ -1586,6 +1654,52 @@ func RegisterProtocolServiceHandlerServer(ctx context.Context, mux *runtime.Serv }) + mux.Handle("POST", pattern_ProtocolService_ShareContact_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProtocolService_ShareContact_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProtocolService_ShareContact_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ProtocolService_DecodeContact_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProtocolService_DecodeContact_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProtocolService_DecodeContact_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("POST", pattern_ProtocolService_ContactBlock_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -2454,6 +2568,46 @@ func RegisterProtocolServiceHandlerClient(ctx context.Context, mux *runtime.Serv }) + mux.Handle("POST", pattern_ProtocolService_ShareContact_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProtocolService_ShareContact_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProtocolService_ShareContact_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ProtocolService_DecodeContact_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProtocolService_DecodeContact_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProtocolService_DecodeContact_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("POST", pattern_ProtocolService_ContactBlock_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -3136,6 +3290,10 @@ var ( pattern_ProtocolService_ContactRequestDiscard_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"weshnet.protocol.v1.ProtocolService", "ContactRequestDiscard"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_ProtocolService_ShareContact_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"weshnet.protocol.v1.ProtocolService", "ShareContact"}, "", runtime.AssumeColonVerbOpt(true))) + + pattern_ProtocolService_DecodeContact_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"weshnet.protocol.v1.ProtocolService", "DecodeContact"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_ProtocolService_ContactBlock_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"weshnet.protocol.v1.ProtocolService", "ContactBlock"}, "", runtime.AssumeColonVerbOpt(true))) pattern_ProtocolService_ContactUnblock_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"weshnet.protocol.v1.ProtocolService", "ContactUnblock"}, "", runtime.AssumeColonVerbOpt(true))) @@ -3222,6 +3380,10 @@ var ( forward_ProtocolService_ContactRequestDiscard_0 = runtime.ForwardResponseMessage + forward_ProtocolService_ShareContact_0 = runtime.ForwardResponseMessage + + forward_ProtocolService_DecodeContact_0 = runtime.ForwardResponseMessage + forward_ProtocolService_ContactBlock_0 = runtime.ForwardResponseMessage forward_ProtocolService_ContactUnblock_0 = runtime.ForwardResponseMessage diff --git a/pkg/protocoltypes/protocoltypes_grpc.pb.go b/pkg/protocoltypes/protocoltypes_grpc.pb.go index d20a1b42..c2179be5 100644 --- a/pkg/protocoltypes/protocoltypes_grpc.pb.go +++ b/pkg/protocoltypes/protocoltypes_grpc.pb.go @@ -28,6 +28,8 @@ const ( ProtocolService_ContactRequestSend_FullMethodName = "/weshnet.protocol.v1.ProtocolService/ContactRequestSend" ProtocolService_ContactRequestAccept_FullMethodName = "/weshnet.protocol.v1.ProtocolService/ContactRequestAccept" ProtocolService_ContactRequestDiscard_FullMethodName = "/weshnet.protocol.v1.ProtocolService/ContactRequestDiscard" + ProtocolService_ShareContact_FullMethodName = "/weshnet.protocol.v1.ProtocolService/ShareContact" + ProtocolService_DecodeContact_FullMethodName = "/weshnet.protocol.v1.ProtocolService/DecodeContact" ProtocolService_ContactBlock_FullMethodName = "/weshnet.protocol.v1.ProtocolService/ContactBlock" ProtocolService_ContactUnblock_FullMethodName = "/weshnet.protocol.v1.ProtocolService/ContactUnblock" ProtocolService_ContactAliasKeySend_FullMethodName = "/weshnet.protocol.v1.ProtocolService/ContactAliasKeySend" @@ -85,6 +87,12 @@ type ProtocolServiceClient interface { ContactRequestAccept(ctx context.Context, in *ContactRequestAccept_Request, opts ...grpc.CallOption) (*ContactRequestAccept_Reply, error) // ContactRequestDiscard ignores a contact request, without informing the other user ContactRequestDiscard(ctx context.Context, in *ContactRequestDiscard_Request, opts ...grpc.CallOption) (*ContactRequestDiscard_Reply, error) + // ShareContact uses ContactRequestReference to get the contact information for the current account and + // returns the Protobuf encoding of a shareable contact which you can further encode and share. If needed, this + // will reset the contact request reference and enable contact requests. To decode the result, see DecodeContact. + ShareContact(ctx context.Context, in *ShareContact_Request, opts ...grpc.CallOption) (*ShareContact_Reply, error) + // DecodeContact decodes the Protobuf encoding of a shareable contact which was returned by ShareContact. + DecodeContact(ctx context.Context, in *DecodeContact_Request, opts ...grpc.CallOption) (*DecodeContact_Reply, error) // ContactBlock blocks a contact from sending requests ContactBlock(ctx context.Context, in *ContactBlock_Request, opts ...grpc.CallOption) (*ContactBlock_Reply, error) // ContactUnblock unblocks a contact from sending requests @@ -260,6 +268,24 @@ func (c *protocolServiceClient) ContactRequestDiscard(ctx context.Context, in *C return out, nil } +func (c *protocolServiceClient) ShareContact(ctx context.Context, in *ShareContact_Request, opts ...grpc.CallOption) (*ShareContact_Reply, error) { + out := new(ShareContact_Reply) + err := c.cc.Invoke(ctx, ProtocolService_ShareContact_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *protocolServiceClient) DecodeContact(ctx context.Context, in *DecodeContact_Request, opts ...grpc.CallOption) (*DecodeContact_Reply, error) { + out := new(DecodeContact_Reply) + err := c.cc.Invoke(ctx, ProtocolService_DecodeContact_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *protocolServiceClient) ContactBlock(ctx context.Context, in *ContactBlock_Request, opts ...grpc.CallOption) (*ContactBlock_Reply, error) { out := new(ContactBlock_Reply) err := c.cc.Invoke(ctx, ProtocolService_ContactBlock_FullMethodName, in, out, opts...) @@ -740,6 +766,12 @@ type ProtocolServiceServer interface { ContactRequestAccept(context.Context, *ContactRequestAccept_Request) (*ContactRequestAccept_Reply, error) // ContactRequestDiscard ignores a contact request, without informing the other user ContactRequestDiscard(context.Context, *ContactRequestDiscard_Request) (*ContactRequestDiscard_Reply, error) + // ShareContact uses ContactRequestReference to get the contact information for the current account and + // returns the Protobuf encoding of a shareable contact which you can further encode and share. If needed, this + // will reset the contact request reference and enable contact requests. To decode the result, see DecodeContact. + ShareContact(context.Context, *ShareContact_Request) (*ShareContact_Reply, error) + // DecodeContact decodes the Protobuf encoding of a shareable contact which was returned by ShareContact. + DecodeContact(context.Context, *DecodeContact_Request) (*DecodeContact_Reply, error) // ContactBlock blocks a contact from sending requests ContactBlock(context.Context, *ContactBlock_Request) (*ContactBlock_Reply, error) // ContactUnblock unblocks a contact from sending requests @@ -835,6 +867,12 @@ func (UnimplementedProtocolServiceServer) ContactRequestAccept(context.Context, func (UnimplementedProtocolServiceServer) ContactRequestDiscard(context.Context, *ContactRequestDiscard_Request) (*ContactRequestDiscard_Reply, error) { return nil, status.Errorf(codes.Unimplemented, "method ContactRequestDiscard not implemented") } +func (UnimplementedProtocolServiceServer) ShareContact(context.Context, *ShareContact_Request) (*ShareContact_Reply, error) { + return nil, status.Errorf(codes.Unimplemented, "method ShareContact not implemented") +} +func (UnimplementedProtocolServiceServer) DecodeContact(context.Context, *DecodeContact_Request) (*DecodeContact_Reply, error) { + return nil, status.Errorf(codes.Unimplemented, "method DecodeContact not implemented") +} func (UnimplementedProtocolServiceServer) ContactBlock(context.Context, *ContactBlock_Request) (*ContactBlock_Reply, error) { return nil, status.Errorf(codes.Unimplemented, "method ContactBlock not implemented") } @@ -1112,6 +1150,42 @@ func _ProtocolService_ContactRequestDiscard_Handler(srv interface{}, ctx context return interceptor(ctx, in, info, handler) } +func _ProtocolService_ShareContact_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ShareContact_Request) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProtocolServiceServer).ShareContact(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProtocolService_ShareContact_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProtocolServiceServer).ShareContact(ctx, req.(*ShareContact_Request)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProtocolService_DecodeContact_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DecodeContact_Request) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProtocolServiceServer).DecodeContact(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProtocolService_DecodeContact_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProtocolServiceServer).DecodeContact(ctx, req.(*DecodeContact_Request)) + } + return interceptor(ctx, in, info, handler) +} + func _ProtocolService_ContactBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ContactBlock_Request) if err := dec(in); err != nil { @@ -1766,6 +1840,14 @@ var ProtocolService_ServiceDesc = grpc.ServiceDesc{ MethodName: "ContactRequestDiscard", Handler: _ProtocolService_ContactRequestDiscard_Handler, }, + { + MethodName: "ShareContact", + Handler: _ProtocolService_ShareContact_Handler, + }, + { + MethodName: "DecodeContact", + Handler: _ProtocolService_DecodeContact_Handler, + }, { MethodName: "ContactBlock", Handler: _ProtocolService_ContactBlock_Handler,