From 2b1197f0ec11ce3f518f99ed5defb912f2b34683 Mon Sep 17 00:00:00 2001 From: Jocelyn Liu Date: Tue, 1 Sep 2020 16:34:19 -0700 Subject: [PATCH 1/2] Update protobuf files to Chromium 85.0.4183.83 --- README.md | 2 +- .../sync_pb/device_info_specifics.pb.go | 218 +++-- .../sync_pb/device_info_specifics.proto | 11 + schema/protobuf/sync_pb/entity_metadata.pb.go | 23 +- schema/protobuf/sync_pb/entity_metadata.proto | 5 + .../sync_pb/sharing_message_specifics.pb.go | 59 +- .../sync_pb/sharing_message_specifics.proto | 9 +- schema/protobuf/sync_pb/sync.pb.go | 893 +++++++++--------- schema/protobuf/sync_pb/sync.proto | 7 +- schema/protobuf/sync_pb/sync_enums.pb.go | 139 +-- schema/protobuf/sync_pb/sync_enums.proto | 59 +- .../sync_pb/sync_invalidations_payload.pb.go | 245 +++++ .../sync_pb/sync_invalidations_payload.proto | 33 + .../sync_pb/user_event_specifics.pb.go | 509 ++++++---- .../sync_pb/user_event_specifics.proto | 14 + .../protobuf/sync_pb/web_app_specifics.pb.go | 183 +++- .../protobuf/sync_pb/web_app_specifics.proto | 19 +- .../wifi_configuration_specifics.pb.go | 482 +++++++--- .../wifi_configuration_specifics.proto | 35 +- 19 files changed, 1949 insertions(+), 996 deletions(-) create mode 100644 schema/protobuf/sync_pb/sync_invalidations_payload.pb.go create mode 100644 schema/protobuf/sync_pb/sync_invalidations_payload.proto diff --git a/README.md b/README.md index b93a022c..c064d4dc 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ A sync server implemented in go to communicate with Brave sync clients using [components/sync/protocol/sync.proto](https://cs.chromium.org/chromium/src/components/sync/protocol/sync.proto). -Current Chromium version for sync protocol buffer files used in this repo is Chromium 83.0.4103.61. +Current Chromium version for sync protocol buffer files used in this repo is Chromium 85.0.4183.83. This server supports endpoints as bellow. - The `POST /v2/command/` endpoint handles Commit and GetUpdates requests from sync clients and return corresponding responses both in protobuf format. Detailed of requests and their corresponding responses are defined in `schema/protobuf/sync_pb/sync.proto`. Sync clients are responsible for generating valid access tokens and present them to the server in the Authorization header of requests. diff --git a/schema/protobuf/sync_pb/device_info_specifics.pb.go b/schema/protobuf/sync_pb/device_info_specifics.pb.go index c94eab98..0bc107aa 100644 --- a/schema/protobuf/sync_pb/device_info_specifics.pb.go +++ b/schema/protobuf/sync_pb/device_info_specifics.pb.go @@ -163,6 +163,8 @@ type DeviceInfoSpecifics struct { // excludes backgrounded apps on Android). Introduced in M81. The legacy // default was 1 day. PulseIntervalInMinutes *int32 `protobuf:"varint,13,opt,name=pulse_interval_in_minutes,json=pulseIntervalInMinutes" json:"pulse_interval_in_minutes,omitempty"` + // Device specific information for Sync invalidations. + InvalidationFields *InvalidationSpecificFields `protobuf:"bytes,14,opt,name=invalidation_fields,json=invalidationFields" json:"invalidation_fields,omitempty"` } func (x *DeviceInfoSpecifics) Reset() { @@ -289,6 +291,13 @@ func (x *DeviceInfoSpecifics) GetPulseIntervalInMinutes() int32 { return 0 } +func (x *DeviceInfoSpecifics) GetInvalidationFields() *InvalidationSpecificFields { + if x != nil { + return x.InvalidationFields + } + return nil +} + // Feature specific information about the device that is running a sync-enabled // Chrome browser. Adding to this proto is discouraged and should only be added // when the information can not be derived more generally. @@ -486,13 +495,62 @@ func (x *SharingSpecificFields) GetSenderIdAuthSecretV2() []byte { return nil } +// Device specific information telling how to send invalidations to this device. +type InvalidationSpecificFields struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // FCM registration token of device (using Sync sender ID). + InstanceIdToken *string `protobuf:"bytes,1,opt,name=instance_id_token,json=instanceIdToken" json:"instance_id_token,omitempty"` +} + +func (x *InvalidationSpecificFields) Reset() { + *x = InvalidationSpecificFields{} + if protoimpl.UnsafeEnabled { + mi := &file_device_info_specifics_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InvalidationSpecificFields) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InvalidationSpecificFields) ProtoMessage() {} + +func (x *InvalidationSpecificFields) ProtoReflect() protoreflect.Message { + mi := &file_device_info_specifics_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InvalidationSpecificFields.ProtoReflect.Descriptor instead. +func (*InvalidationSpecificFields) Descriptor() ([]byte, []int) { + return file_device_info_specifics_proto_rawDescGZIP(), []int{3} +} + +func (x *InvalidationSpecificFields) GetInstanceIdToken() string { + if x != nil && x.InstanceIdToken != nil { + return *x.InstanceIdToken + } + return "" +} + var File_device_info_specifics_proto protoreflect.FileDescriptor var file_device_info_specifics_proto_rawDesc = []byte{ 0x0a, 0x1b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x1a, 0x10, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x65, 0x6e, 0x75, - 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x98, 0x05, 0x0a, 0x13, 0x44, 0x65, 0x76, + 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xee, 0x05, 0x0a, 0x13, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x63, 0x68, 0x65, 0x47, 0x75, 0x69, 0x64, 0x12, @@ -534,63 +592,73 @@ var file_device_info_specifics_proto_rawDesc = []byte{ 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x5f, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x16, 0x70, 0x75, 0x6c, 0x73, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x49, 0x6e, 0x4d, 0x69, 0x6e, 0x75, - 0x74, 0x65, 0x73, 0x22, 0x62, 0x0a, 0x15, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x49, 0x0a, 0x22, - 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x61, 0x62, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x65, 0x6c, 0x66, - 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, 0x73, 0x65, 0x6e, 0x64, 0x54, 0x61, - 0x62, 0x54, 0x6f, 0x53, 0x65, 0x6c, 0x66, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x69, 0x6e, 0x67, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xa6, 0x06, 0x0a, 0x15, 0x53, 0x68, 0x61, 0x72, - 0x69, 0x6e, 0x67, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x76, 0x61, 0x70, 0x69, 0x64, 0x5f, 0x66, 0x63, 0x6d, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x76, 0x61, 0x70, 0x69, - 0x64, 0x46, 0x63, 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x61, 0x70, - 0x69, 0x64, 0x5f, 0x70, 0x32, 0x35, 0x36, 0x64, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x0b, 0x76, 0x61, 0x70, 0x69, 0x64, 0x50, 0x32, 0x35, 0x36, 0x64, 0x68, 0x12, 0x2a, 0x0a, 0x11, - 0x76, 0x61, 0x70, 0x69, 0x64, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x76, 0x61, 0x70, 0x69, 0x64, 0x41, 0x75, - 0x74, 0x68, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x59, 0x0a, 0x10, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x53, 0x68, 0x61, - 0x72, 0x69, 0x6e, 0x67, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x73, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x73, 0x52, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x73, 0x12, 0x46, 0x0a, 0x1e, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x5f, 0x66, 0x63, 0x6d, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x64, 0x65, 0x70, 0x72, 0x65, - 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, - 0x1a, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x49, 0x64, 0x46, 0x63, 0x6d, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x41, 0x0a, 0x1b, 0x73, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x70, 0x32, 0x35, 0x36, 0x64, 0x68, 0x5f, - 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, - 0x42, 0x02, 0x18, 0x01, 0x52, 0x18, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x49, 0x64, 0x50, 0x32, - 0x35, 0x36, 0x64, 0x68, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x4a, - 0x0a, 0x20, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x61, 0x75, 0x74, 0x68, - 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, - 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x02, 0x18, 0x01, 0x52, 0x1c, 0x73, 0x65, - 0x6e, 0x64, 0x65, 0x72, 0x49, 0x64, 0x41, 0x75, 0x74, 0x68, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, - 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x16, 0x73, 0x65, - 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x66, 0x63, 0x6d, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x5f, 0x76, 0x32, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x65, 0x6e, 0x64, - 0x65, 0x72, 0x49, 0x64, 0x46, 0x63, 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x32, 0x12, 0x2d, - 0x0a, 0x13, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x70, 0x32, 0x35, 0x36, - 0x64, 0x68, 0x5f, 0x76, 0x32, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x73, 0x65, 0x6e, - 0x64, 0x65, 0x72, 0x49, 0x64, 0x50, 0x32, 0x35, 0x36, 0x64, 0x68, 0x56, 0x32, 0x12, 0x36, 0x0a, - 0x18, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, - 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x76, 0x32, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x14, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x49, 0x64, 0x41, 0x75, 0x74, 0x68, 0x53, 0x65, 0x63, - 0x72, 0x65, 0x74, 0x56, 0x32, 0x22, 0xc8, 0x01, 0x0a, 0x0f, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, - 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x4c, 0x49, 0x43, 0x4b, 0x5f, - 0x54, 0x4f, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x56, 0x41, 0x50, 0x49, 0x44, 0x10, 0x01, 0x12, - 0x1a, 0x0a, 0x16, 0x53, 0x48, 0x41, 0x52, 0x45, 0x44, 0x5f, 0x43, 0x4c, 0x49, 0x50, 0x42, 0x4f, - 0x41, 0x52, 0x44, 0x5f, 0x56, 0x41, 0x50, 0x49, 0x44, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x53, - 0x4d, 0x53, 0x5f, 0x46, 0x45, 0x54, 0x43, 0x48, 0x45, 0x52, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, - 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x50, 0x59, 0x10, 0x04, 0x12, 0x13, 0x0a, - 0x0f, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, - 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x56, 0x45, 0x52, 0x59, 0x10, - 0x06, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4c, 0x49, 0x43, 0x4b, 0x5f, 0x54, 0x4f, 0x5f, 0x43, 0x41, - 0x4c, 0x4c, 0x5f, 0x56, 0x32, 0x10, 0x07, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x48, 0x41, 0x52, 0x45, - 0x44, 0x5f, 0x43, 0x4c, 0x49, 0x50, 0x42, 0x4f, 0x41, 0x52, 0x44, 0x5f, 0x56, 0x32, 0x10, 0x08, + 0x74, 0x65, 0x73, 0x12, 0x54, 0x0a, 0x13, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x49, 0x6e, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x46, + 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x12, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x22, 0x62, 0x0a, 0x15, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x46, 0x69, 0x65, 0x6c, + 0x64, 0x73, 0x12, 0x49, 0x0a, 0x22, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x61, 0x62, 0x5f, 0x74, + 0x6f, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x69, 0x6e, 0x67, + 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, + 0x73, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x62, 0x54, 0x6f, 0x53, 0x65, 0x6c, 0x66, 0x52, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xa6, 0x06, + 0x0a, 0x15, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, + 0x63, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x76, 0x61, 0x70, 0x69, 0x64, + 0x5f, 0x66, 0x63, 0x6d, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x76, 0x61, 0x70, 0x69, 0x64, 0x46, 0x63, 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, + 0x21, 0x0a, 0x0c, 0x76, 0x61, 0x70, 0x69, 0x64, 0x5f, 0x70, 0x32, 0x35, 0x36, 0x64, 0x68, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x76, 0x61, 0x70, 0x69, 0x64, 0x50, 0x32, 0x35, 0x36, + 0x64, 0x68, 0x12, 0x2a, 0x0a, 0x11, 0x76, 0x61, 0x70, 0x69, 0x64, 0x5f, 0x61, 0x75, 0x74, 0x68, + 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x76, + 0x61, 0x70, 0x69, 0x64, 0x41, 0x75, 0x74, 0x68, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x59, + 0x0a, 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, + 0x70, 0x62, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, + 0x69, 0x63, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x46, 0x0a, 0x1e, 0x73, 0x65, 0x6e, + 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x66, 0x63, 0x6d, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x5f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x1a, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x49, 0x64, 0x46, + 0x63, 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, + 0x64, 0x12, 0x41, 0x0a, 0x1b, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x70, + 0x32, 0x35, 0x36, 0x64, 0x68, 0x5f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x02, 0x18, 0x01, 0x52, 0x18, 0x73, 0x65, 0x6e, 0x64, + 0x65, 0x72, 0x49, 0x64, 0x50, 0x32, 0x35, 0x36, 0x64, 0x68, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, + 0x61, 0x74, 0x65, 0x64, 0x12, 0x4a, 0x0a, 0x20, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x64, 0x65, + 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x02, + 0x18, 0x01, 0x52, 0x1c, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x49, 0x64, 0x41, 0x75, 0x74, 0x68, + 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, + 0x12, 0x32, 0x0a, 0x16, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x66, 0x63, + 0x6d, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x32, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x12, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x49, 0x64, 0x46, 0x63, 0x6d, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x56, 0x32, 0x12, 0x2d, 0x0a, 0x13, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x5f, 0x70, 0x32, 0x35, 0x36, 0x64, 0x68, 0x5f, 0x76, 0x32, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x10, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x49, 0x64, 0x50, 0x32, 0x35, 0x36, 0x64, + 0x68, 0x56, 0x32, 0x12, 0x36, 0x0a, 0x18, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x76, 0x32, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x14, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x49, 0x64, 0x41, + 0x75, 0x74, 0x68, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x56, 0x32, 0x22, 0xc8, 0x01, 0x0a, 0x0f, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, + 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, + 0x43, 0x4c, 0x49, 0x43, 0x4b, 0x5f, 0x54, 0x4f, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x56, 0x41, + 0x50, 0x49, 0x44, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x48, 0x41, 0x52, 0x45, 0x44, 0x5f, + 0x43, 0x4c, 0x49, 0x50, 0x42, 0x4f, 0x41, 0x52, 0x44, 0x5f, 0x56, 0x41, 0x50, 0x49, 0x44, 0x10, + 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x4d, 0x53, 0x5f, 0x46, 0x45, 0x54, 0x43, 0x48, 0x45, 0x52, + 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x50, + 0x59, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, + 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x49, 0x53, 0x43, + 0x4f, 0x56, 0x45, 0x52, 0x59, 0x10, 0x06, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4c, 0x49, 0x43, 0x4b, + 0x5f, 0x54, 0x4f, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x56, 0x32, 0x10, 0x07, 0x12, 0x17, 0x0a, + 0x13, 0x53, 0x48, 0x41, 0x52, 0x45, 0x44, 0x5f, 0x43, 0x4c, 0x49, 0x50, 0x42, 0x4f, 0x41, 0x52, + 0x44, 0x5f, 0x56, 0x32, 0x10, 0x08, 0x22, 0x48, 0x0a, 0x1a, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x46, 0x69, + 0x65, 0x6c, 0x64, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x5f, 0x69, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x2b, 0x0a, 0x25, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x48, 0x03, 0x50, 0x01, @@ -609,24 +677,26 @@ func file_device_info_specifics_proto_rawDescGZIP() []byte { } var file_device_info_specifics_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_device_info_specifics_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_device_info_specifics_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_device_info_specifics_proto_goTypes = []interface{}{ (SharingSpecificFields_EnabledFeatures)(0), // 0: sync_pb.SharingSpecificFields.EnabledFeatures (*DeviceInfoSpecifics)(nil), // 1: sync_pb.DeviceInfoSpecifics (*FeatureSpecificFields)(nil), // 2: sync_pb.FeatureSpecificFields (*SharingSpecificFields)(nil), // 3: sync_pb.SharingSpecificFields - (SyncEnums_DeviceType)(0), // 4: sync_pb.SyncEnums.DeviceType + (*InvalidationSpecificFields)(nil), // 4: sync_pb.InvalidationSpecificFields + (SyncEnums_DeviceType)(0), // 5: sync_pb.SyncEnums.DeviceType } var file_device_info_specifics_proto_depIdxs = []int32{ - 4, // 0: sync_pb.DeviceInfoSpecifics.device_type:type_name -> sync_pb.SyncEnums.DeviceType + 5, // 0: sync_pb.DeviceInfoSpecifics.device_type:type_name -> sync_pb.SyncEnums.DeviceType 2, // 1: sync_pb.DeviceInfoSpecifics.feature_fields:type_name -> sync_pb.FeatureSpecificFields 3, // 2: sync_pb.DeviceInfoSpecifics.sharing_fields:type_name -> sync_pb.SharingSpecificFields - 0, // 3: sync_pb.SharingSpecificFields.enabled_features:type_name -> sync_pb.SharingSpecificFields.EnabledFeatures - 4, // [4:4] is the sub-list for method output_type - 4, // [4:4] is the sub-list for method input_type - 4, // [4:4] is the sub-list for extension type_name - 4, // [4:4] is the sub-list for extension extendee - 0, // [0:4] is the sub-list for field type_name + 4, // 3: sync_pb.DeviceInfoSpecifics.invalidation_fields:type_name -> sync_pb.InvalidationSpecificFields + 0, // 4: sync_pb.SharingSpecificFields.enabled_features:type_name -> sync_pb.SharingSpecificFields.EnabledFeatures + 5, // [5:5] is the sub-list for method output_type + 5, // [5:5] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name } func init() { file_device_info_specifics_proto_init() } @@ -672,6 +742,18 @@ func file_device_info_specifics_proto_init() { return nil } } + file_device_info_specifics_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InvalidationSpecificFields); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -679,7 +761,7 @@ func file_device_info_specifics_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_device_info_specifics_proto_rawDesc, NumEnums: 1, - NumMessages: 3, + NumMessages: 4, NumExtensions: 0, NumServices: 0, }, diff --git a/schema/protobuf/sync_pb/device_info_specifics.proto b/schema/protobuf/sync_pb/device_info_specifics.proto index a975bbb0..4a5c0a15 100644 --- a/schema/protobuf/sync_pb/device_info_specifics.proto +++ b/schema/protobuf/sync_pb/device_info_specifics.proto @@ -71,6 +71,9 @@ message DeviceInfoSpecifics { // excludes backgrounded apps on Android). Introduced in M81. The legacy // default was 1 day. optional int32 pulse_interval_in_minutes = 13; + + // Device specific information for Sync invalidations. + optional InvalidationSpecificFields invalidation_fields = 14; } // Feature specific information about the device that is running a sync-enabled @@ -137,3 +140,11 @@ message SharingSpecificFields { // Auth secret for message encryption [RFC8291] using Sharing sender ID. optional bytes sender_id_auth_secret_v2 = 10; } + +// Device specific information telling how to send invalidations to this device. +message InvalidationSpecificFields { + // FCM registration token of device (using Sync sender ID). + optional string instance_id_token = 1; + + // TODO(crbug.com/1082117): add data types list. +} diff --git a/schema/protobuf/sync_pb/entity_metadata.pb.go b/schema/protobuf/sync_pb/entity_metadata.pb.go index 58c6c39c..b9e0627e 100644 --- a/schema/protobuf/sync_pb/entity_metadata.pb.go +++ b/schema/protobuf/sync_pb/entity_metadata.pb.go @@ -82,6 +82,10 @@ type EntityMetadata struct { // unique_position.proto for more information about its internal // representation. UniquePosition *UniquePosition `protobuf:"bytes,11,opt,name=unique_position,json=uniquePosition" json:"unique_position,omitempty"` + // Used only for bookmarks. It's analogous to |specifics_hash| but it + // exclusively hashes the content of the favicon image, as represented in + // proto field BookmarkSpecifics.favicon, using base::PersistentHash(). + BookmarkFaviconHash *uint32 `protobuf:"fixed32,12,opt,name=bookmark_favicon_hash,json=bookmarkFaviconHash" json:"bookmark_favicon_hash,omitempty"` } // Default values for EntityMetadata fields. @@ -198,13 +202,20 @@ func (x *EntityMetadata) GetUniquePosition() *UniquePosition { return nil } +func (x *EntityMetadata) GetBookmarkFaviconHash() uint32 { + if x != nil && x.BookmarkFaviconHash != nil { + return *x.BookmarkFaviconHash + } + return 0 +} + var File_entity_metadata_proto protoreflect.FileDescriptor var file_entity_metadata_proto_rawDesc = []byte{ 0x0a, 0x15, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x1a, 0x15, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe7, 0x03, 0x0a, 0x0e, 0x45, 0x6e, 0x74, 0x69, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9b, 0x04, 0x0a, 0x0e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x67, 0x48, 0x61, @@ -235,9 +246,13 @@ var file_entity_metadata_proto_rawDesc = []byte{ 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x2b, 0x0a, 0x25, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, - 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x73, 0x79, 0x6e, - 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x48, 0x03, 0x50, 0x01, + 0x6e, 0x12, 0x32, 0x0a, 0x15, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x66, 0x61, + 0x76, 0x69, 0x63, 0x6f, 0x6e, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x07, + 0x52, 0x13, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x46, 0x61, 0x76, 0x69, 0x63, 0x6f, + 0x6e, 0x48, 0x61, 0x73, 0x68, 0x42, 0x2b, 0x0a, 0x25, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x68, 0x72, + 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, + 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x48, 0x03, + 0x50, 0x01, } var ( diff --git a/schema/protobuf/sync_pb/entity_metadata.proto b/schema/protobuf/sync_pb/entity_metadata.proto index f6f556e8..4fd69fd1 100644 --- a/schema/protobuf/sync_pb/entity_metadata.proto +++ b/schema/protobuf/sync_pb/entity_metadata.proto @@ -71,4 +71,9 @@ message EntityMetadata { // unique_position.proto for more information about its internal // representation. optional UniquePosition unique_position = 11; + + // Used only for bookmarks. It's analogous to |specifics_hash| but it + // exclusively hashes the content of the favicon image, as represented in + // proto field BookmarkSpecifics.favicon, using base::PersistentHash(). + optional fixed32 bookmark_favicon_hash = 12; } diff --git a/schema/protobuf/sync_pb/sharing_message_specifics.pb.go b/schema/protobuf/sync_pb/sharing_message_specifics.pb.go index ada479d5..83fef49c 100644 --- a/schema/protobuf/sync_pb/sharing_message_specifics.pb.go +++ b/schema/protobuf/sync_pb/sharing_message_specifics.pb.go @@ -51,10 +51,15 @@ const ( // Client-specific error codes. SharingMessageCommitError_SYNC_TURNED_OFF SharingMessageCommitError_ErrorCode = 8 SharingMessageCommitError_SYNC_NETWORK_ERROR SharingMessageCommitError_ErrorCode = 9 - // Error code for server error or unparsable server response. - SharingMessageCommitError_SYNC_SERVER_ERROR SharingMessageCommitError_ErrorCode = 10 + // Deprecated UMA bucket, prior to splitting between SYNC_SERVER_ERROR and + // SYNC_AUTH_ERROR. + SharingMessageCommitError_DEPRECATED_SYNC_SERVER_OR_AUTH_ERROR SharingMessageCommitError_ErrorCode = 10 // Message wasn't committed before timeout. SharingMessageCommitError_SYNC_TIMEOUT SharingMessageCommitError_ErrorCode = 11 + // Error code for server error or unparsable server response. + SharingMessageCommitError_SYNC_SERVER_ERROR SharingMessageCommitError_ErrorCode = 12 + // Auth error when communicating with the server. + SharingMessageCommitError_SYNC_AUTH_ERROR SharingMessageCommitError_ErrorCode = 13 ) // Enum value maps for SharingMessageCommitError_ErrorCode. @@ -70,22 +75,26 @@ var ( 7: "PERMISSION_DENIED", 8: "SYNC_TURNED_OFF", 9: "SYNC_NETWORK_ERROR", - 10: "SYNC_SERVER_ERROR", + 10: "DEPRECATED_SYNC_SERVER_OR_AUTH_ERROR", 11: "SYNC_TIMEOUT", + 12: "SYNC_SERVER_ERROR", + 13: "SYNC_AUTH_ERROR", } SharingMessageCommitError_ErrorCode_value = map[string]int32{ - "NONE": 0, - "INVALID_ARGUMENT": 1, - "NOT_FOUND": 2, - "INTERNAL": 3, - "UNAVAILABLE": 4, - "RESOURCE_EXHAUSTED": 5, - "UNAUTHENTICATED": 6, - "PERMISSION_DENIED": 7, - "SYNC_TURNED_OFF": 8, - "SYNC_NETWORK_ERROR": 9, - "SYNC_SERVER_ERROR": 10, - "SYNC_TIMEOUT": 11, + "NONE": 0, + "INVALID_ARGUMENT": 1, + "NOT_FOUND": 2, + "INTERNAL": 3, + "UNAVAILABLE": 4, + "RESOURCE_EXHAUSTED": 5, + "UNAUTHENTICATED": 6, + "PERMISSION_DENIED": 7, + "SYNC_TURNED_OFF": 8, + "SYNC_NETWORK_ERROR": 9, + "DEPRECATED_SYNC_SERVER_OR_AUTH_ERROR": 10, + "SYNC_TIMEOUT": 11, + "SYNC_SERVER_ERROR": 12, + "SYNC_AUTH_ERROR": 13, } ) @@ -428,14 +437,14 @@ var file_sharing_message_specifics_proto_rawDesc = []byte{ 0x03, 0x74, 0x74, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x17, 0x0a, 0x15, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xde, 0x02, 0x0a, 0x19, 0x53, 0x68, + 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9d, 0x03, 0x0a, 0x19, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x4b, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x43, 0x6f, 0x64, 0x65, 0x22, 0xf3, 0x01, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, + 0x43, 0x6f, 0x64, 0x65, 0x22, 0xb2, 0x02, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, @@ -448,12 +457,16 @@ var file_sharing_message_specifics_proto_rawDesc = []byte{ 0x45, 0x44, 0x10, 0x07, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x54, 0x55, 0x52, 0x4e, 0x45, 0x44, 0x5f, 0x4f, 0x46, 0x46, 0x10, 0x08, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, - 0x09, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, - 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x0a, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x59, 0x4e, 0x43, - 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0x0b, 0x42, 0x2b, 0x0a, 0x25, 0x6f, 0x72, - 0x67, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, - 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x63, 0x6f, 0x6c, 0x48, 0x03, 0x50, 0x01, + 0x09, 0x12, 0x28, 0x0a, 0x24, 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x5f, + 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x4f, 0x52, 0x5f, 0x41, + 0x55, 0x54, 0x48, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x0a, 0x12, 0x10, 0x0a, 0x0c, 0x53, + 0x59, 0x4e, 0x43, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0x0b, 0x12, 0x15, 0x0a, + 0x11, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x45, 0x52, 0x52, + 0x4f, 0x52, 0x10, 0x0c, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x41, 0x55, 0x54, + 0x48, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x0d, 0x42, 0x2b, 0x0a, 0x25, 0x6f, 0x72, 0x67, + 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, + 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, + 0x6f, 0x6c, 0x48, 0x03, 0x50, 0x01, } var ( diff --git a/schema/protobuf/sync_pb/sharing_message_specifics.proto b/schema/protobuf/sync_pb/sharing_message_specifics.proto index 06fc366e..21252e10 100644 --- a/schema/protobuf/sync_pb/sharing_message_specifics.proto +++ b/schema/protobuf/sync_pb/sharing_message_specifics.proto @@ -70,10 +70,15 @@ message SharingMessageCommitError { // Client-specific error codes. SYNC_TURNED_OFF = 8; SYNC_NETWORK_ERROR = 9; - // Error code for server error or unparsable server response. - SYNC_SERVER_ERROR = 10; + // Deprecated UMA bucket, prior to splitting between SYNC_SERVER_ERROR and + // SYNC_AUTH_ERROR. + DEPRECATED_SYNC_SERVER_OR_AUTH_ERROR = 10; // Message wasn't committed before timeout. SYNC_TIMEOUT = 11; + // Error code for server error or unparsable server response. + SYNC_SERVER_ERROR = 12; + // Auth error when communicating with the server. + SYNC_AUTH_ERROR = 13; } optional ErrorCode error_code = 1; diff --git a/schema/protobuf/sync_pb/sync.pb.go b/schema/protobuf/sync_pb/sync.pb.go index 17d341e1..702095bd 100644 --- a/schema/protobuf/sync_pb/sync.pb.go +++ b/schema/protobuf/sync_pb/sync.pb.go @@ -1034,11 +1034,6 @@ type SyncEntity struct { // in the message. In all other situations, it is a server ID. // Present in both GetUpdatesResponse and CommitMessage. ParentIdString *string `protobuf:"bytes,2,opt,name=parent_id_string,json=parentIdString" json:"parent_id_string,omitempty"` - // old_parent_id is only set in commits and indicates the old server - // parent(s) to remove. When omitted, the old parent is the same as - // the new. - // Present only in CommitMessage. - OldParentId *string `protobuf:"bytes,3,opt,name=old_parent_id,json=oldParentId" json:"old_parent_id,omitempty"` // The version of this item -- a monotonically increasing value that is // maintained by for each item. If zero in a CommitMessage, the server // will interpret this entity as a newly-created item and generate a @@ -1276,13 +1271,6 @@ func (x *SyncEntity) GetParentIdString() string { return "" } -func (x *SyncEntity) GetOldParentId() string { - if x != nil && x.OldParentId != nil { - return *x.OldParentId - } - return "" -} - func (x *SyncEntity) GetVersion() int64 { if x != nil && x.Version != nil { return *x.Version @@ -3785,453 +3773,452 @@ var file_sync_proto_rawDesc = []byte{ 0x21, 0x10, 0xee, 0xa1, 0x21, 0x52, 0x0f, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x07, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x52, 0x0e, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x22, - 0xcc, 0x07, 0x0a, 0x0a, 0x53, 0x79, 0x6e, 0x63, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b, + 0xbd, 0x07, 0x0a, 0x0a, 0x53, 0x79, 0x6e, 0x63, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x64, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x53, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x22, 0x0a, 0x0d, 0x6f, 0x6c, 0x64, 0x5f, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x6c, - 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x6f, 0x6e, 0x5f, 0x75, 0x6e, 0x69, 0x71, 0x75, - 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x6f, - 0x6e, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x6e, - 0x69, 0x71, 0x75, 0x65, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x55, 0x6e, 0x69, - 0x71, 0x75, 0x65, 0x54, 0x61, 0x67, 0x12, 0x30, 0x0a, 0x12, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, - 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52, 0x10, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x6e, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x33, 0x0a, 0x14, 0x69, 0x6e, 0x73, 0x65, - 0x72, 0x74, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, - 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x11, 0x69, 0x6e, 0x73, 0x65, - 0x72, 0x74, 0x41, 0x66, 0x74, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x1f, 0x0a, - 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, - 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x32, - 0x0a, 0x15, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x63, 0x61, 0x63, - 0x68, 0x65, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6f, - 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x43, 0x61, 0x63, 0x68, 0x65, 0x47, 0x75, - 0x69, 0x64, 0x12, 0x39, 0x0a, 0x19, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, - 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, - 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, - 0x72, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x36, 0x0a, - 0x09, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x18, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x52, 0x09, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x63, 0x73, 0x12, 0x1d, 0x0a, 0x06, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x18, - 0x16, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x06, 0x66, 0x6f, - 0x6c, 0x64, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x19, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x64, - 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x74, 0x61, - 0x67, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, - 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x54, 0x61, 0x67, 0x12, - 0x2e, 0x0a, 0x11, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x5f, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, - 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, - 0x40, 0x0a, 0x0f, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, - 0x70, 0x62, 0x2e, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x0e, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x4a, 0x04, 0x08, 0x09, 0x10, 0x0a, 0x4a, 0x04, 0x08, 0x0b, 0x10, 0x0c, 0x4a, 0x04, 0x08, - 0x0c, 0x10, 0x0d, 0x4a, 0x04, 0x08, 0x0d, 0x10, 0x0e, 0x4a, 0x04, 0x08, 0x0e, 0x10, 0x0f, 0x4a, - 0x04, 0x08, 0x11, 0x10, 0x12, 0x4a, 0x04, 0x08, 0x1a, 0x10, 0x1b, 0x52, 0x0e, 0x73, 0x79, 0x6e, - 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x42, 0x6f, 0x6f, - 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, - 0x61, 0x72, 0x6b, 0x5f, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x52, 0x0c, 0x62, 0x6f, 0x6f, 0x6b, - 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x75, 0x72, 0x6c, 0x52, 0x10, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, - 0x72, 0x6b, 0x5f, 0x66, 0x61, 0x76, 0x69, 0x63, 0x6f, 0x6e, 0x52, 0x13, 0x65, 0x78, 0x74, 0x65, - 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, - 0x0d, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x89, - 0x01, 0x0a, 0x1a, 0x43, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x45, 0x78, 0x74, 0x65, 0x6e, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, - 0x0c, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x12, 0x48, 0x0a, 0x21, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x77, 0x72, 0x69, - 0x74, 0x65, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x63, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1d, 0x62, 0x6f, 0x6f, - 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x57, 0x72, 0x69, 0x74, 0x65, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, - 0x4c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x22, 0xa2, 0x01, 0x0a, 0x12, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x12, 0x28, 0x0a, 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0e, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x74, - 0x61, 0x62, 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x74, 0x61, 0x62, 0x73, - 0x44, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, - 0x2e, 0x0a, 0x13, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x5f, 0x6a, 0x61, 0x72, 0x5f, 0x6d, 0x69, - 0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x63, 0x6f, - 0x6f, 0x6b, 0x69, 0x65, 0x4a, 0x61, 0x72, 0x4d, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, - 0xd2, 0x02, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x12, 0x2d, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x53, 0x79, 0x6e, - 0x63, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, - 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x63, 0x68, 0x65, 0x47, 0x75, 0x69, 0x64, 0x12, - 0x54, 0x0a, 0x13, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x61, 0x63, - 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, - 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x45, - 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, - 0x79, 0x52, 0x12, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x41, 0x63, 0x74, - 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x40, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, - 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x41, 0x0a, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x18, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, - 0x79, 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0e, 0x63, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, - 0x64, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x64, - 0x64, 0x69, 0x6e, 0x67, 0x22, 0xdd, 0x03, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x6e, 0x6f, - 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x72, 0x6f, - 0x70, 0x70, 0x65, 0x64, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x39, 0x0a, 0x19, 0x69, 0x6e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x6f, - 0x66, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x69, 0x6e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4f, 0x75, 0x74, 0x4f, 0x66, - 0x53, 0x79, 0x6e, 0x63, 0x12, 0x3a, 0x0a, 0x19, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6d, 0x6f, - 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x64, 0x67, 0x65, - 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x4d, 0x6f, - 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x64, 0x67, 0x65, 0x73, - 0x12, 0x36, 0x0a, 0x17, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x72, 0x65, 0x66, - 0x72, 0x65, 0x73, 0x68, 0x5f, 0x6e, 0x75, 0x64, 0x67, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x15, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x52, 0x65, 0x66, 0x72, 0x65, - 0x73, 0x68, 0x4e, 0x75, 0x64, 0x67, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x72, - 0x6f, 0x70, 0x70, 0x65, 0x64, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x37, 0x0a, 0x18, 0x69, 0x6e, - 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x69, 0x6e, 0x5f, 0x70, 0x72, - 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x6e, - 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x79, 0x6e, 0x63, 0x49, 0x6e, 0x50, 0x72, 0x6f, 0x67, 0x72, - 0x65, 0x73, 0x73, 0x12, 0x4f, 0x0a, 0x25, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, - 0x5f, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x20, 0x73, 0x79, 0x6e, 0x63, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x6c, - 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x49, 0x6e, 0x50, 0x72, 0x6f, 0x67, - 0x72, 0x65, 0x73, 0x73, 0x22, 0xc0, 0x02, 0x0a, 0x1a, 0x47, 0x61, 0x72, 0x62, 0x61, 0x67, 0x65, - 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x12, 0x45, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x28, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x47, 0x61, 0x72, 0x62, - 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x07, 0x55, 0x4e, 0x4b, - 0x4e, 0x4f, 0x57, 0x4e, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x77, 0x61, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x72, 0x6b, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x61, - 0x74, 0x65, 0x72, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x31, 0x0a, 0x15, 0x61, 0x67, 0x65, 0x5f, 0x77, - 0x61, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x5f, 0x64, 0x61, 0x79, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x61, 0x67, 0x65, 0x57, 0x61, 0x74, 0x65, 0x72, - 0x6d, 0x61, 0x72, 0x6b, 0x49, 0x6e, 0x44, 0x61, 0x79, 0x73, 0x22, 0x60, 0x0a, 0x04, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, - 0x15, 0x0a, 0x11, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x57, 0x41, 0x54, 0x45, 0x52, - 0x4d, 0x41, 0x52, 0x4b, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x47, 0x45, 0x5f, 0x57, 0x41, - 0x54, 0x45, 0x52, 0x4d, 0x41, 0x52, 0x4b, 0x10, 0x02, 0x12, 0x21, 0x0a, 0x19, 0x44, 0x45, 0x50, - 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x49, 0x54, 0x45, 0x4d, - 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x03, 0x1a, 0x02, 0x08, 0x01, 0x4a, 0x04, 0x08, 0x04, - 0x10, 0x05, 0x52, 0x13, 0x6d, 0x61, 0x78, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x6f, - 0x66, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0xdc, 0x02, 0x0a, 0x16, 0x44, 0x61, 0x74, 0x61, - 0x54, 0x79, 0x70, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x4d, 0x61, 0x72, 0x6b, - 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, - 0x70, 0x65, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x45, 0x0a, 0x1d, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x66, 0x6f, - 0x72, 0x5f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x03, 0x42, 0x02, 0x18, 0x01, 0x52, 0x1a, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x46, 0x6f, 0x72, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x2f, 0x0a, 0x11, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, - 0x52, 0x10, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, - 0x6e, 0x74, 0x12, 0x4a, 0x0a, 0x13, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x52, 0x11, 0x67, 0x65, 0x74, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x12, 0x46, - 0x0a, 0x0c, 0x67, 0x63, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x47, - 0x61, 0x72, 0x62, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x0b, 0x67, 0x63, 0x44, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x22, 0x82, 0x05, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3e, 0x0a, 0x0b, - 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x0a, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x29, 0x0a, 0x0d, - 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x08, 0x3a, 0x04, 0x74, 0x72, 0x75, 0x65, 0x52, 0x0c, 0x66, 0x65, 0x74, 0x63, 0x68, - 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, - 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x62, 0x61, 0x74, - 0x63, 0x68, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x51, 0x0a, 0x14, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70, - 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x06, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x44, - 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x4d, - 0x61, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x12, 0x66, 0x72, 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x67, 0x72, - 0x65, 0x73, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x09, 0x73, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, - 0x6c, 0x73, 0x65, 0x52, 0x09, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x35, - 0x0a, 0x13, 0x6e, 0x65, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, - 0x73, 0x65, 0x52, 0x11, 0x6e, 0x65, 0x65, 0x64, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x4f, 0x0a, 0x1e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, - 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x5f, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x73, - 0x5f, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, - 0x66, 0x61, 0x6c, 0x73, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x1b, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x42, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x73, - 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x12, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x73, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x53, 0x79, 0x6e, - 0x63, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x73, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x52, 0x10, 0x67, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x73, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x08, 0x69, 0x73, 0x5f, - 0x72, 0x65, 0x74, 0x72, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, - 0x73, 0x65, 0x52, 0x07, 0x69, 0x73, 0x52, 0x65, 0x74, 0x72, 0x79, 0x12, 0x41, 0x0a, 0x0f, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x18, 0x0b, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x44, - 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0e, - 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x4a, 0x04, - 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x52, 0x0e, 0x66, 0x72, 0x6f, 0x6d, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x22, 0x18, 0x0a, 0x16, 0x43, - 0x6c, 0x65, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x19, 0x0a, 0x17, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x53, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x2c, 0x0a, 0x07, 0x43, 0x68, 0x69, 0x70, 0x42, 0x61, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x69, 0x70, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x68, 0x69, 0x70, 0x73, 0x22, 0x85, - 0x01, 0x0a, 0x0c, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x3e, 0x0a, 0x1b, 0x68, 0x69, 0x65, 0x72, 0x61, 0x72, 0x63, 0x68, 0x79, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x6c, 0x69, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x68, 0x69, 0x65, 0x72, 0x61, 0x72, 0x63, 0x68, 0x79, 0x43, - 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, - 0x35, 0x0a, 0x17, 0x69, 0x73, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x14, 0x69, 0x73, 0x53, 0x79, 0x6e, 0x63, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x67, 0x0a, 0x0f, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, - 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x64, 0x61, 0x74, - 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0a, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, - 0xba, 0x06, 0x0a, 0x15, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, - 0x72, 0x65, 0x18, 0x01, 0x20, 0x02, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x65, 0x12, - 0x2d, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x35, 0x32, 0x52, 0x0f, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x52, - 0x0a, 0x10, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x73, 0x18, 0x03, 0x20, 0x02, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, - 0x70, 0x62, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x73, 0x52, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x73, 0x12, 0x2e, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x12, 0x3b, 0x0a, 0x0b, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, - 0x62, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x52, 0x0a, 0x67, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, - 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x62, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, - 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x69, - 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x12, 0x39, 0x0a, 0x15, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, - 0x72, 0x6f, 0x62, 0x6c, 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x13, 0x73, 0x79, - 0x6e, 0x63, 0x50, 0x72, 0x6f, 0x62, 0x6c, 0x65, 0x6d, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, - 0x64, 0x12, 0x31, 0x0a, 0x0a, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, - 0x44, 0x65, 0x62, 0x75, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x64, 0x65, 0x62, 0x75, 0x67, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x0a, 0x0c, 0x62, 0x61, 0x67, 0x5f, 0x6f, 0x66, 0x5f, 0x63, - 0x68, 0x69, 0x70, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x79, 0x6e, - 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x69, 0x70, 0x42, 0x61, 0x67, 0x52, 0x0a, 0x62, 0x61, - 0x67, 0x4f, 0x66, 0x43, 0x68, 0x69, 0x70, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x70, 0x69, 0x5f, - 0x6b, 0x65, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x70, 0x69, 0x4b, 0x65, - 0x79, 0x12, 0x3a, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, - 0x70, 0x62, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x32, 0x0a, - 0x15, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x63, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x69, 0x6e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, - 0x64, 0x12, 0x4b, 0x0a, 0x11, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, - 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0f, 0x63, - 0x6c, 0x65, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x22, 0x62, - 0x0a, 0x08, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4f, - 0x4d, 0x4d, 0x49, 0x54, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x47, 0x45, 0x54, 0x5f, 0x55, 0x50, - 0x44, 0x41, 0x54, 0x45, 0x53, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x45, 0x50, 0x52, 0x45, - 0x43, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x33, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x45, 0x50, - 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x34, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x43, - 0x4c, 0x45, 0x41, 0x52, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, - 0x10, 0x05, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x4a, 0x04, 0x08, 0x09, 0x10, 0x0a, 0x52, 0x0c, - 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x22, 0x5c, 0x0a, 0x13, - 0x47, 0x65, 0x74, 0x43, 0x72, 0x61, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x72, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12, 0x2a, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x14, 0x0a, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, + 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x26, 0x0a, 0x0f, 0x6e, 0x6f, 0x6e, 0x5f, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x6f, 0x6e, 0x55, 0x6e, 0x69, + 0x71, 0x75, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, + 0x5f, 0x74, 0x61, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x54, + 0x61, 0x67, 0x12, 0x30, 0x0a, 0x12, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, + 0x18, 0x01, 0x52, 0x10, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x50, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x12, 0x33, 0x0a, 0x14, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x61, + 0x66, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x11, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x41, 0x66, + 0x74, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x07, 0x64, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, + 0x65, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x6f, 0x72, + 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x67, + 0x75, 0x69, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6f, 0x72, 0x69, 0x67, 0x69, + 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x43, 0x61, 0x63, 0x68, 0x65, 0x47, 0x75, 0x69, 0x64, 0x12, 0x39, + 0x0a, 0x19, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x16, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x09, 0x73, 0x70, 0x65, + 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, + 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x70, 0x65, + 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x52, 0x09, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, + 0x73, 0x12, 0x1d, 0x0a, 0x06, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x18, 0x16, 0x20, 0x01, 0x28, + 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x06, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, + 0x12, 0x39, 0x0a, 0x19, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, + 0x65, 0x64, 0x5f, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x17, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x16, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x66, 0x69, 0x6e, + 0x65, 0x64, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x54, 0x61, 0x67, 0x12, 0x2e, 0x0a, 0x11, 0x6f, + 0x72, 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x18, 0x18, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x6f, 0x72, 0x64, 0x69, + 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x0f, 0x75, + 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x19, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x55, + 0x6e, 0x69, 0x71, 0x75, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x75, + 0x6e, 0x69, 0x71, 0x75, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x04, 0x08, + 0x03, 0x10, 0x04, 0x4a, 0x04, 0x08, 0x09, 0x10, 0x0a, 0x4a, 0x04, 0x08, 0x0b, 0x10, 0x0c, 0x4a, + 0x04, 0x08, 0x0c, 0x10, 0x0d, 0x4a, 0x04, 0x08, 0x0d, 0x10, 0x0e, 0x4a, 0x04, 0x08, 0x0e, 0x10, + 0x0f, 0x4a, 0x04, 0x08, 0x11, 0x10, 0x12, 0x4a, 0x04, 0x08, 0x1a, 0x10, 0x1b, 0x52, 0x0d, 0x6f, + 0x6c, 0x64, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x52, 0x0e, 0x73, 0x79, + 0x6e, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x42, 0x6f, + 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x62, 0x6f, 0x6f, 0x6b, + 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x52, 0x0c, 0x62, 0x6f, 0x6f, + 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x75, 0x72, 0x6c, 0x52, 0x10, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, + 0x61, 0x72, 0x6b, 0x5f, 0x66, 0x61, 0x76, 0x69, 0x63, 0x6f, 0x6e, 0x52, 0x13, 0x65, 0x78, 0x74, + 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, + 0x52, 0x0d, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x22, + 0x89, 0x01, 0x0a, 0x1a, 0x43, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x45, 0x78, 0x74, 0x65, + 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x21, + 0x0a, 0x0c, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x12, 0x48, 0x0a, 0x21, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x77, 0x72, + 0x69, 0x74, 0x65, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, + 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1d, 0x62, 0x6f, + 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x57, 0x72, 0x69, 0x74, 0x65, 0x73, 0x53, 0x69, 0x6e, 0x63, + 0x65, 0x4c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x22, 0xa2, 0x01, 0x0a, 0x12, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0e, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x73, 0x12, 0x32, 0x0a, 0x15, + 0x74, 0x61, 0x62, 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x74, 0x61, 0x62, + 0x73, 0x44, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x5f, 0x6a, 0x61, 0x72, 0x5f, 0x6d, + 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x63, + 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x4a, 0x61, 0x72, 0x4d, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x22, 0xd2, 0x02, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x12, 0x2d, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x53, 0x79, + 0x6e, 0x63, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, + 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x63, 0x68, 0x65, 0x47, 0x75, 0x69, 0x64, + 0x12, 0x54, 0x0a, 0x13, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x61, + 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, + 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, + 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, + 0x74, 0x79, 0x52, 0x12, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x41, 0x63, + 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x40, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x41, 0x0a, 0x0f, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, + 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0e, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, + 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, + 0x64, 0x64, 0x69, 0x6e, 0x67, 0x22, 0xdd, 0x03, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x6e, + 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x69, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x72, + 0x6f, 0x70, 0x70, 0x65, 0x64, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x39, 0x0a, 0x19, 0x69, 0x6e, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x5f, + 0x6f, 0x66, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x69, + 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4f, 0x75, 0x74, 0x4f, + 0x66, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x3a, 0x0a, 0x19, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6d, + 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x64, 0x67, + 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x4d, + 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x64, 0x67, 0x65, + 0x73, 0x12, 0x36, 0x0a, 0x17, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x72, 0x65, + 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x6e, 0x75, 0x64, 0x67, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x15, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x52, 0x65, 0x66, 0x72, + 0x65, 0x73, 0x68, 0x4e, 0x75, 0x64, 0x67, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x68, 0x69, 0x6e, 0x74, + 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, + 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x37, 0x0a, 0x18, 0x69, + 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x69, 0x6e, 0x5f, 0x70, + 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, + 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x79, 0x6e, 0x63, 0x49, 0x6e, 0x50, 0x72, 0x6f, 0x67, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x4f, 0x0a, 0x25, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x66, 0x6f, 0x72, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, + 0x74, 0x5f, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x20, 0x73, 0x79, 0x6e, 0x63, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x6f, + 0x6c, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x49, 0x6e, 0x50, 0x72, 0x6f, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0xc0, 0x02, 0x0a, 0x1a, 0x47, 0x61, 0x72, 0x62, 0x61, 0x67, + 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x12, 0x45, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x47, 0x61, 0x72, + 0x62, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x07, 0x55, 0x4e, + 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x77, 0x61, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x72, 0x6b, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x57, + 0x61, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x31, 0x0a, 0x15, 0x61, 0x67, 0x65, 0x5f, + 0x77, 0x61, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x5f, 0x64, 0x61, 0x79, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x61, 0x67, 0x65, 0x57, 0x61, 0x74, 0x65, + 0x72, 0x6d, 0x61, 0x72, 0x6b, 0x49, 0x6e, 0x44, 0x61, 0x79, 0x73, 0x22, 0x60, 0x0a, 0x04, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, + 0x12, 0x15, 0x0a, 0x11, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x57, 0x41, 0x54, 0x45, + 0x52, 0x4d, 0x41, 0x52, 0x4b, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x47, 0x45, 0x5f, 0x57, + 0x41, 0x54, 0x45, 0x52, 0x4d, 0x41, 0x52, 0x4b, 0x10, 0x02, 0x12, 0x21, 0x0a, 0x19, 0x44, 0x45, + 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x49, 0x54, 0x45, + 0x4d, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x03, 0x1a, 0x02, 0x08, 0x01, 0x4a, 0x04, 0x08, + 0x04, 0x10, 0x05, 0x52, 0x13, 0x6d, 0x61, 0x78, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, + 0x6f, 0x66, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0xdc, 0x02, 0x0a, 0x16, 0x44, 0x61, 0x74, + 0x61, 0x54, 0x79, 0x70, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x4d, 0x61, 0x72, + 0x6b, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x54, + 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x45, 0x0a, 0x1d, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x66, + 0x6f, 0x72, 0x5f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52, 0x1a, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x46, 0x6f, 0x72, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x11, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, + 0x01, 0x52, 0x10, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, + 0x69, 0x6e, 0x74, 0x12, 0x4a, 0x0a, 0x13, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x52, 0x11, 0x67, 0x65, + 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x12, + 0x46, 0x0a, 0x0c, 0x67, 0x63, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, + 0x47, 0x61, 0x72, 0x62, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x0b, 0x67, 0x63, 0x44, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x22, 0x82, 0x05, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3e, 0x0a, + 0x0b, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x0a, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x29, 0x0a, + 0x0d, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x3a, 0x04, 0x74, 0x72, 0x75, 0x65, 0x52, 0x0c, 0x66, 0x65, 0x74, 0x63, + 0x68, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x74, 0x63, + 0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x62, 0x61, + 0x74, 0x63, 0x68, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x51, 0x0a, 0x14, 0x66, 0x72, 0x6f, 0x6d, 0x5f, + 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x18, + 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, + 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, + 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x12, 0x66, 0x72, 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x67, + 0x72, 0x65, 0x73, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x09, 0x73, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, + 0x61, 0x6c, 0x73, 0x65, 0x52, 0x09, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x12, + 0x35, 0x0a, 0x13, 0x6e, 0x65, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, + 0x6c, 0x73, 0x65, 0x52, 0x11, 0x6e, 0x65, 0x65, 0x64, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x4f, 0x0a, 0x1e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x5f, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x5f, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, + 0x73, 0x5f, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, 0x08, 0x3a, + 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x1b, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x42, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, + 0x73, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x12, 0x67, 0x65, 0x74, 0x5f, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x53, 0x79, + 0x6e, 0x63, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x73, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x52, 0x10, 0x67, 0x65, 0x74, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x73, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x08, 0x69, 0x73, + 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, + 0x6c, 0x73, 0x65, 0x52, 0x07, 0x69, 0x73, 0x52, 0x65, 0x74, 0x72, 0x79, 0x12, 0x41, 0x0a, 0x0f, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x18, + 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, + 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, + 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x4a, + 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x52, 0x0e, 0x66, 0x72, 0x6f, + 0x6d, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x22, 0x18, 0x0a, 0x16, + 0x43, 0x6c, 0x65, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x19, 0x0a, 0x17, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x2c, 0x0a, 0x07, 0x43, 0x68, 0x69, 0x70, 0x42, 0x61, 0x67, 0x12, 0x21, 0x0a, 0x0c, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x69, 0x70, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x68, 0x69, 0x70, 0x73, 0x22, + 0x85, 0x01, 0x0a, 0x0c, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x3e, 0x0a, 0x1b, 0x68, 0x69, 0x65, 0x72, 0x61, 0x72, 0x63, 0x68, 0x79, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x68, 0x69, 0x65, 0x72, 0x61, 0x72, 0x63, 0x68, 0x79, + 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x12, 0x35, 0x0a, 0x17, 0x69, 0x73, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x14, 0x69, 0x73, 0x53, 0x79, 0x6e, 0x63, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x67, 0x0a, 0x0f, 0x44, 0x61, 0x74, 0x61, 0x54, + 0x79, 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x64, 0x61, + 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x22, 0xba, 0x06, 0x0a, 0x15, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, + 0x61, 0x72, 0x65, 0x18, 0x01, 0x20, 0x02, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x65, + 0x12, 0x2d, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x35, 0x32, 0x52, 0x0f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x52, 0x0a, 0x10, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x02, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x73, 0x79, 0x6e, 0x63, + 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x73, 0x52, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x73, 0x12, 0x2e, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x06, 0x63, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x12, 0x3b, 0x0a, 0x0b, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, + 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x52, 0x0a, 0x67, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, + 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x62, 0x69, 0x72, 0x74, 0x68, 0x64, + 0x61, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, + 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x12, 0x39, 0x0a, 0x15, 0x73, 0x79, 0x6e, 0x63, 0x5f, + 0x70, 0x72, 0x6f, 0x62, 0x6c, 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x13, 0x73, + 0x79, 0x6e, 0x63, 0x50, 0x72, 0x6f, 0x62, 0x6c, 0x65, 0x6d, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x12, 0x31, 0x0a, 0x0a, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x69, 0x6e, 0x66, 0x6f, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, + 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x64, 0x65, 0x62, 0x75, + 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x0a, 0x0c, 0x62, 0x61, 0x67, 0x5f, 0x6f, 0x66, 0x5f, + 0x63, 0x68, 0x69, 0x70, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x79, + 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x69, 0x70, 0x42, 0x61, 0x67, 0x52, 0x0a, 0x62, + 0x61, 0x67, 0x4f, 0x66, 0x43, 0x68, 0x69, 0x70, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x70, 0x69, + 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x70, 0x69, 0x4b, + 0x65, 0x79, 0x12, 0x3a, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x79, 0x6e, 0x63, + 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x32, + 0x0a, 0x15, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x69, + 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x4b, 0x0a, 0x11, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, + 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0f, + 0x63, 0x6c, 0x65, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x22, + 0x62, 0x0a, 0x08, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x0a, 0x0a, 0x06, 0x43, + 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x47, 0x45, 0x54, 0x5f, 0x55, + 0x50, 0x44, 0x41, 0x54, 0x45, 0x53, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x45, 0x50, 0x52, + 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x33, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x45, + 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x34, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, + 0x43, 0x4c, 0x45, 0x41, 0x52, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, + 0x41, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x4a, 0x04, 0x08, 0x09, 0x10, 0x0a, 0x52, + 0x0c, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x22, 0x5c, 0x0a, + 0x13, 0x47, 0x65, 0x74, 0x43, 0x72, 0x61, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x72, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12, + 0x2a, 0x0a, 0x11, 0x63, 0x72, 0x61, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x69, + 0x6c, 0x6c, 0x69, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x63, 0x72, 0x61, 0x73, + 0x68, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x22, 0x5d, 0x0a, 0x14, 0x47, + 0x65, 0x74, 0x43, 0x72, 0x61, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x72, 0x61, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x63, 0x72, 0x61, 0x73, 0x68, - 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x22, 0x5d, 0x0a, 0x14, 0x47, 0x65, - 0x74, 0x43, 0x72, 0x61, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x2a, 0x0a, - 0x11, 0x63, 0x72, 0x61, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x69, 0x6c, 0x6c, - 0x69, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x63, 0x72, 0x61, 0x73, 0x68, 0x54, - 0x69, 0x6d, 0x65, 0x4d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x22, 0x97, 0x06, 0x0a, 0x0e, 0x43, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0d, - 0x65, 0x6e, 0x74, 0x72, 0x79, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0a, 0x32, 0x25, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0d, 0x65, 0x6e, 0x74, 0x72, - 0x79, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0xc7, 0x04, 0x0a, 0x0d, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x0d, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x02, - 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x64, 0x5f, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x53, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x18, 0x0a, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6e, - 0x6f, 0x6e, 0x5f, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x6f, 0x6e, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x73, - 0x0a, 0x17, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x63, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x3b, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x53, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x15, 0x64, 0x61, - 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x1a, 0x83, 0x01, 0x0a, 0x15, 0x44, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, - 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x58, 0x0a, - 0x15, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, - 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x48, 0x00, 0x52, 0x13, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x10, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x74, - 0x79, 0x70, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x52, - 0x12, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x22, 0x6e, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, - 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x4e, 0x46, 0x4c, 0x49, 0x43, 0x54, 0x10, 0x02, 0x12, 0x09, - 0x0a, 0x05, 0x52, 0x45, 0x54, 0x52, 0x59, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x4e, 0x56, - 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x10, 0x04, 0x12, 0x0e, - 0x0a, 0x0a, 0x4f, 0x56, 0x45, 0x52, 0x5f, 0x51, 0x55, 0x4f, 0x54, 0x41, 0x10, 0x05, 0x12, 0x13, - 0x0a, 0x0f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, - 0x52, 0x10, 0x06, 0x22, 0xde, 0x02, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x07, 0x65, 0x6e, - 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x79, - 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x6d, - 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x4f, 0x0a, 0x13, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x72, - 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x05, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x44, 0x61, - 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x4d, 0x61, - 0x72, 0x6b, 0x65, 0x72, 0x52, 0x11, 0x6e, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, - 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x72, 0x79, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0c, - 0x52, 0x0e, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, - 0x12, 0x45, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x6d, 0x75, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x79, - 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4d, 0x75, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, - 0x03, 0x10, 0x04, 0x52, 0x0d, 0x6e, 0x65, 0x77, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x52, 0x10, 0x6e, 0x65, 0x77, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x22, 0xd5, 0x07, 0x0a, 0x16, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, - 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x12, 0x3c, 0x0a, 0x0b, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, - 0x47, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x52, 0x0a, 0x67, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x44, - 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x53, 0x79, 0x6e, - 0x63, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, - 0x3a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x43, 0x6f, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x5f, 0x62, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, - 0x12, 0x3d, 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, - 0x70, 0x62, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, - 0x3d, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, - 0x62, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x52, - 0x0d, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x31, - 0x0a, 0x15, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x05, 0x52, 0x12, 0x6d, - 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x49, - 0x64, 0x12, 0x3b, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x25, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x39, - 0x0a, 0x10, 0x6e, 0x65, 0x77, 0x5f, 0x62, 0x61, 0x67, 0x5f, 0x6f, 0x66, 0x5f, 0x63, 0x68, 0x69, - 0x70, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, - 0x70, 0x62, 0x2e, 0x43, 0x68, 0x69, 0x70, 0x42, 0x61, 0x67, 0x52, 0x0d, 0x6e, 0x65, 0x77, 0x42, - 0x61, 0x67, 0x4f, 0x66, 0x43, 0x68, 0x69, 0x70, 0x73, 0x12, 0x4c, 0x0a, 0x11, 0x63, 0x6c, 0x65, - 0x61, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0f, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, - 0x6c, 0x65, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x1a, 0xfe, 0x01, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x12, 0x44, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, - 0x53, 0x79, 0x6e, 0x63, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x54, - 0x79, 0x70, 0x65, 0x3a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x52, 0x09, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x10, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x41, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, - 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x3a, 0x0e, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, - 0x4e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x13, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x73, - 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x10, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x44, 0x61, 0x74, - 0x61, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x73, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x4a, 0x04, - 0x08, 0x09, 0x10, 0x0a, 0x4a, 0x04, 0x08, 0x0a, 0x10, 0x0b, 0x4a, 0x04, 0x08, 0x0b, 0x10, 0x0c, - 0x52, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x0f, - 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, - 0x0b, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x22, 0x4f, 0x0a, 0x0c, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x0d, - 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x53, 0x79, - 0x6e, 0x63, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, - 0x0c, 0x73, 0x79, 0x6e, 0x63, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x0f, 0x0a, - 0x0d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x59, - 0x0a, 0x11, 0x53, 0x79, 0x6e, 0x63, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x67, 0x75, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x63, 0x68, 0x65, 0x47, 0x75, - 0x69, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x62, 0x69, 0x72, 0x74, - 0x68, 0x64, 0x61, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x42, 0x2b, 0x0a, 0x25, 0x6f, 0x72, 0x67, - 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, - 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, - 0x6f, 0x6c, 0x48, 0x03, 0x50, 0x01, + 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x22, 0x97, 0x06, 0x0a, 0x0e, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, + 0x0d, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0a, 0x32, 0x25, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0d, 0x65, 0x6e, 0x74, + 0x72, 0x79, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0xc7, 0x04, 0x0a, 0x0d, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x0d, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x02, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x64, 0x5f, 0x73, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x18, + 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, + 0x6e, 0x6f, 0x6e, 0x5f, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x6f, 0x6e, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x12, + 0x73, 0x0a, 0x17, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, + 0x69, 0x66, 0x69, 0x63, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x3b, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, + 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x15, 0x64, + 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x83, 0x01, 0x0a, 0x15, 0x44, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, + 0x65, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x58, + 0x0a, 0x15, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, + 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x48, 0x00, 0x52, 0x13, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x10, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, + 0x74, 0x79, 0x70, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, + 0x52, 0x12, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x22, 0x6e, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, + 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x4e, 0x46, 0x4c, 0x49, 0x43, 0x54, 0x10, 0x02, 0x12, + 0x09, 0x0a, 0x05, 0x52, 0x45, 0x54, 0x52, 0x59, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x4e, + 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x10, 0x04, 0x12, + 0x0e, 0x0a, 0x0a, 0x4f, 0x56, 0x45, 0x52, 0x5f, 0x51, 0x55, 0x4f, 0x54, 0x41, 0x10, 0x05, 0x12, + 0x13, 0x0a, 0x0f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x45, 0x52, 0x52, + 0x4f, 0x52, 0x10, 0x06, 0x22, 0xde, 0x02, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x07, 0x65, + 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, + 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x45, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, + 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x4f, 0x0a, 0x13, 0x6e, 0x65, 0x77, 0x5f, 0x70, + 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x05, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x44, + 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x4d, + 0x61, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x11, 0x6e, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x72, + 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, + 0x0c, 0x52, 0x0e, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, + 0x73, 0x12, 0x45, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x6d, 0x75, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, + 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4d, + 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, + 0x08, 0x03, 0x10, 0x04, 0x52, 0x0d, 0x6e, 0x65, 0x77, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x10, 0x6e, 0x65, 0x77, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xd5, 0x07, 0x0a, 0x16, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x12, 0x3c, 0x0a, 0x0b, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, + 0x2e, 0x47, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x67, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, + 0x44, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x53, 0x79, + 0x6e, 0x63, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x54, 0x79, 0x70, + 0x65, 0x3a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x5f, 0x62, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, + 0x79, 0x12, 0x3d, 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x79, 0x6e, 0x63, + 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x12, 0x3d, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, + 0x70, 0x62, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, + 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x31, 0x0a, 0x15, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x05, 0x52, 0x12, + 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, + 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, + 0x39, 0x0a, 0x10, 0x6e, 0x65, 0x77, 0x5f, 0x62, 0x61, 0x67, 0x5f, 0x6f, 0x66, 0x5f, 0x63, 0x68, + 0x69, 0x70, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x79, 0x6e, 0x63, + 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x69, 0x70, 0x42, 0x61, 0x67, 0x52, 0x0d, 0x6e, 0x65, 0x77, + 0x42, 0x61, 0x67, 0x4f, 0x66, 0x43, 0x68, 0x69, 0x70, 0x73, 0x12, 0x4c, 0x0a, 0x11, 0x63, 0x6c, + 0x65, 0x61, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, + 0x43, 0x6c, 0x65, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x1a, 0xfe, 0x01, 0x0a, 0x05, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x12, 0x44, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, + 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x54, 0x79, 0x70, 0x65, 0x3a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x52, 0x09, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x10, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x41, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, + 0x62, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x3a, 0x0e, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x41, 0x43, 0x54, 0x49, + 0x4f, 0x4e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x13, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, + 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x10, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x44, 0x61, + 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x73, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x4a, + 0x04, 0x08, 0x09, 0x10, 0x0a, 0x4a, 0x04, 0x08, 0x0a, 0x10, 0x0b, 0x4a, 0x04, 0x08, 0x0b, 0x10, + 0x0c, 0x52, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, + 0x0f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x52, 0x0b, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x22, 0x4f, 0x0a, + 0x0c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, + 0x0d, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x53, + 0x79, 0x6e, 0x63, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x52, 0x0c, 0x73, 0x79, 0x6e, 0x63, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x0f, + 0x0a, 0x0d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x59, 0x0a, 0x11, 0x53, 0x79, 0x6e, 0x63, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x67, 0x75, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x63, 0x68, 0x65, 0x47, + 0x75, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x62, 0x69, 0x72, + 0x74, 0x68, 0x64, 0x61, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x42, 0x2b, 0x0a, 0x25, 0x6f, 0x72, + 0x67, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, + 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x63, 0x6f, 0x6c, 0x48, 0x03, 0x50, 0x01, } var ( diff --git a/schema/protobuf/sync_pb/sync.proto b/schema/protobuf/sync_pb/sync.proto index 74ca24a5..ddb9515b 100644 --- a/schema/protobuf/sync_pb/sync.proto +++ b/schema/protobuf/sync_pb/sync.proto @@ -194,11 +194,8 @@ message SyncEntity { // Present in both GetUpdatesResponse and CommitMessage. optional string parent_id_string = 2; - // old_parent_id is only set in commits and indicates the old server - // parent(s) to remove. When omitted, the old parent is the same as - // the new. - // Present only in CommitMessage. - optional string old_parent_id = 3; + reserved 3; + reserved "old_parent_id"; // The version of this item -- a monotonically increasing value that is // maintained by for each item. If zero in a CommitMessage, the server diff --git a/schema/protobuf/sync_pb/sync_enums.pb.go b/schema/protobuf/sync_pb/sync_enums.pb.go index a596da9f..00b6acfe 100644 --- a/schema/protobuf/sync_pb/sync_enums.pb.go +++ b/schema/protobuf/sync_pb/sync_enums.pb.go @@ -294,32 +294,42 @@ type SyncEnums_ErrorType int32 const ( SyncEnums_SUCCESS SyncEnums_ErrorType = 0 SyncEnums_DEPRECATED_ACCESS_DENIED SyncEnums_ErrorType = 1 - SyncEnums_NOT_MY_BIRTHDAY SyncEnums_ErrorType = 2 // Returned when the server and client disagree - // on the store birthday. - SyncEnums_THROTTLED SyncEnums_ErrorType = 3 // Returned when the store has exceeded the - // allowed bandwidth utilization. + // Returned when the server and client disagree on the store birthday. + SyncEnums_NOT_MY_BIRTHDAY SyncEnums_ErrorType = 2 + // Returned when the store has exceeded the allowed bandwidth utilization. + SyncEnums_THROTTLED SyncEnums_ErrorType = 3 SyncEnums_DEPRECATED_AUTH_EXPIRED SyncEnums_ErrorType = 4 SyncEnums_DEPRECATED_USER_NOT_ACTIVATED SyncEnums_ErrorType = 5 SyncEnums_DEPRECATED_AUTH_INVALID SyncEnums_ErrorType = 6 - SyncEnums_CLEAR_PENDING SyncEnums_ErrorType = 7 // A clear of the user data is pending (e.g. - // initiated by privacy request). Client should - // come back later. - SyncEnums_TRANSIENT_ERROR SyncEnums_ErrorType = 8 // A transient error occured (eg. backend - // timeout). Client should try again later. - SyncEnums_MIGRATION_DONE SyncEnums_ErrorType = 9 // Migration has finished for one or more data - // types. Client should clear the cache for - // these data types only and then re-sync with - // a server. - SyncEnums_DISABLED_BY_ADMIN SyncEnums_ErrorType = 10 // An administrator disabled sync for this - // domain. - SyncEnums_DEPRECATED_USER_ROLLBACK SyncEnums_ErrorType = 11 // Deprecated in M50. - SyncEnums_PARTIAL_FAILURE SyncEnums_ErrorType = 12 // Return when client want to update several - // data types, but some of them failed(e.g. - // throttled). - SyncEnums_CLIENT_DATA_OBSOLETE SyncEnums_ErrorType = 13 // Returned when server detects that this - // client's data is obsolete. Client should - // reset local data and restart syncing. - SyncEnums_UNKNOWN SyncEnums_ErrorType = 100 // Unknown value. This should never be + // A clear of the user data is pending (e.g. initiated by privacy request). + // The client should come back later. + SyncEnums_CLEAR_PENDING SyncEnums_ErrorType = 7 + // A transient error occurred (e.g. a backend timeout). The client should + // try again later. + SyncEnums_TRANSIENT_ERROR SyncEnums_ErrorType = 8 + // A server-side migration has taken place for one or more data types. The + // client should clear the cache for these data types only and then re-sync + // with a server. + SyncEnums_MIGRATION_DONE SyncEnums_ErrorType = 9 + // An administrator disabled sync for this domain. + SyncEnums_DISABLED_BY_ADMIN SyncEnums_ErrorType = 10 + // Deprecated in M50. + SyncEnums_DEPRECATED_USER_ROLLBACK SyncEnums_ErrorType = 11 + // Returned when the client wants to update several data types, but some of + // them failed (e.g. throttled). + SyncEnums_PARTIAL_FAILURE SyncEnums_ErrorType = 12 + // Returned when the server detects that this client's sync metadata is + // obsolete. The client should reset local sync metadata and restart + // syncing. + SyncEnums_CLIENT_DATA_OBSOLETE SyncEnums_ErrorType = 13 + // Returned when the server detects that the encryption state (Nigori, + // keystore keys) has been reset/overridden, which means the local + // Nigori-related state is obsolete and should be cleared. + // Introduced in M84. + SyncEnums_ENCRYPTION_OBSOLETE SyncEnums_ErrorType = 14 + // Unknown value. This should never be explicitly used; it is the default + // value when an out-of-date client parses a value it doesn't recognize. + SyncEnums_UNKNOWN SyncEnums_ErrorType = 100 ) // Enum value maps for SyncEnums_ErrorType. @@ -339,6 +349,7 @@ var ( 11: "DEPRECATED_USER_ROLLBACK", 12: "PARTIAL_FAILURE", 13: "CLIENT_DATA_OBSOLETE", + 14: "ENCRYPTION_OBSOLETE", 100: "UNKNOWN", } SyncEnums_ErrorType_value = map[string]int32{ @@ -356,6 +367,7 @@ var ( "DEPRECATED_USER_ROLLBACK": 11, "PARTIAL_FAILURE": 12, "CLIENT_DATA_OBSOLETE": 13, + "ENCRYPTION_OBSOLETE": 14, "UNKNOWN": 100, } ) @@ -680,7 +692,7 @@ var File_sync_enums_proto protoreflect.FileDescriptor var file_sync_enums_proto_rawDesc = []byte{ 0x0a, 0x10, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x12, 0x07, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x22, 0xc7, 0x0c, 0x0a, 0x09, + 0x74, 0x6f, 0x12, 0x07, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x22, 0xe0, 0x0c, 0x0a, 0x09, 0x53, 0x79, 0x6e, 0x63, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x22, 0xb1, 0x03, 0x0a, 0x17, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x74, 0x6f, 0x6e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, @@ -725,7 +737,7 @@ var file_sync_enums_proto_rawDesc = []byte{ 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, - 0x5f, 0x52, 0x45, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x10, 0x02, 0x22, 0xe4, 0x02, 0x0a, 0x09, + 0x5f, 0x52, 0x45, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x10, 0x02, 0x22, 0xfd, 0x02, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x44, 0x45, 0x4e, 0x49, @@ -747,44 +759,45 @@ var file_sync_enums_proto_rawDesc = []byte{ 0x42, 0x41, 0x43, 0x4b, 0x10, 0x0b, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x0c, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x4f, 0x42, 0x53, 0x4f, 0x4c, - 0x45, 0x54, 0x45, 0x10, 0x0d, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, - 0x10, 0x64, 0x22, 0xcf, 0x01, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, - 0x0e, 0x55, 0x50, 0x47, 0x52, 0x41, 0x44, 0x45, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x10, - 0x00, 0x12, 0x29, 0x0a, 0x25, 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x5f, - 0x43, 0x4c, 0x45, 0x41, 0x52, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, - 0x41, 0x4e, 0x44, 0x5f, 0x52, 0x45, 0x53, 0x59, 0x4e, 0x43, 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, - 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, - 0x45, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x4f, 0x4e, 0x5f, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, - 0x54, 0x10, 0x02, 0x12, 0x24, 0x0a, 0x20, 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, - 0x44, 0x5f, 0x53, 0x54, 0x4f, 0x50, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x41, - 0x52, 0x54, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x10, 0x03, 0x12, 0x25, 0x0a, 0x21, 0x44, 0x45, 0x50, - 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, - 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x4f, 0x4e, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x10, 0x04, - 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x41, 0x43, 0x54, 0x49, - 0x4f, 0x4e, 0x10, 0x05, 0x22, 0x88, 0x01, 0x0a, 0x0a, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x45, - 0x54, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x57, 0x49, 0x4e, 0x10, - 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x41, 0x43, 0x10, 0x02, 0x12, - 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4c, 0x49, 0x4e, 0x55, 0x58, 0x10, 0x03, 0x12, - 0x0d, 0x0a, 0x09, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x52, 0x4f, 0x53, 0x10, 0x04, 0x12, 0x0e, - 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x05, 0x12, 0x0e, - 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x48, 0x4f, 0x4e, 0x45, 0x10, 0x06, 0x12, 0x0f, - 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x54, 0x10, 0x07, 0x22, - 0xb3, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x4f, 0x72, - 0x69, 0x67, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, - 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x45, 0x52, 0x49, - 0x4f, 0x44, 0x49, 0x43, 0x10, 0x04, 0x12, 0x1c, 0x0a, 0x18, 0x4e, 0x45, 0x57, 0x4c, 0x59, 0x5f, - 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x54, 0x59, - 0x50, 0x45, 0x10, 0x07, 0x12, 0x0d, 0x0a, 0x09, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4f, - 0x4e, 0x10, 0x08, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x45, 0x57, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, - 0x54, 0x10, 0x09, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x55, - 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x0a, 0x12, 0x0e, 0x0a, 0x0a, 0x47, 0x55, 0x5f, 0x54, - 0x52, 0x49, 0x47, 0x47, 0x45, 0x52, 0x10, 0x0c, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, 0x54, 0x52, - 0x59, 0x10, 0x0d, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x41, 0x4d, 0x4d, 0x41, - 0x54, 0x49, 0x43, 0x10, 0x0e, 0x42, 0x2b, 0x0a, 0x25, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x68, 0x72, - 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, - 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x48, 0x03, - 0x50, 0x01, + 0x45, 0x54, 0x45, 0x10, 0x0d, 0x12, 0x17, 0x0a, 0x13, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x4f, 0x42, 0x53, 0x4f, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x0e, 0x12, 0x0b, + 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x64, 0x22, 0xcf, 0x01, 0x0a, 0x06, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x50, 0x47, 0x52, 0x41, 0x44, + 0x45, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x10, 0x00, 0x12, 0x29, 0x0a, 0x25, 0x44, 0x45, + 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x43, 0x4c, 0x45, 0x41, 0x52, 0x5f, 0x55, + 0x53, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x52, 0x45, 0x53, + 0x59, 0x4e, 0x43, 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, + 0x54, 0x45, 0x44, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x5f, + 0x4f, 0x4e, 0x5f, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x24, 0x0a, 0x20, + 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x4f, 0x50, 0x5f, + 0x41, 0x4e, 0x44, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x53, 0x59, 0x4e, 0x43, + 0x10, 0x03, 0x12, 0x25, 0x0a, 0x21, 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, + 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x4f, 0x4e, + 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x4b, + 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x05, 0x22, 0x88, 0x01, + 0x0a, 0x0a, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x0a, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x57, 0x49, 0x4e, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x4d, 0x41, 0x43, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x4c, 0x49, 0x4e, 0x55, 0x58, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x43, 0x52, 0x4f, 0x53, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x05, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x50, 0x48, 0x4f, 0x4e, 0x45, 0x10, 0x06, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x54, 0x41, 0x42, 0x4c, 0x45, 0x54, 0x10, 0x07, 0x22, 0xb3, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x12, 0x0a, + 0x0e, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x10, + 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x45, 0x52, 0x49, 0x4f, 0x44, 0x49, 0x43, 0x10, 0x04, 0x12, + 0x1c, 0x0a, 0x18, 0x4e, 0x45, 0x57, 0x4c, 0x59, 0x5f, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, + 0x45, 0x44, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x54, 0x59, 0x50, 0x45, 0x10, 0x07, 0x12, 0x0d, 0x0a, + 0x09, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x08, 0x12, 0x0e, 0x0a, 0x0a, + 0x4e, 0x45, 0x57, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x10, 0x09, 0x12, 0x13, 0x0a, 0x0f, + 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x55, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, + 0x0a, 0x12, 0x0e, 0x0a, 0x0a, 0x47, 0x55, 0x5f, 0x54, 0x52, 0x49, 0x47, 0x47, 0x45, 0x52, 0x10, + 0x0c, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, 0x54, 0x52, 0x59, 0x10, 0x0d, 0x12, 0x10, 0x0a, 0x0c, + 0x50, 0x52, 0x4f, 0x47, 0x52, 0x41, 0x4d, 0x4d, 0x41, 0x54, 0x49, 0x43, 0x10, 0x0e, 0x42, 0x2b, + 0x0a, 0x25, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x48, 0x03, 0x50, 0x01, } var ( diff --git a/schema/protobuf/sync_pb/sync_enums.proto b/schema/protobuf/sync_pb/sync_enums.proto index d13cfba1..9cea98e4 100644 --- a/schema/protobuf/sync_pb/sync_enums.proto +++ b/schema/protobuf/sync_pb/sync_enums.proto @@ -87,35 +87,42 @@ message SyncEnums { enum ErrorType { SUCCESS = 0; DEPRECATED_ACCESS_DENIED = 1; - NOT_MY_BIRTHDAY = 2; // Returned when the server and client disagree - // on the store birthday. - THROTTLED = 3; // Returned when the store has exceeded the - // allowed bandwidth utilization. + // Returned when the server and client disagree on the store birthday. + NOT_MY_BIRTHDAY = 2; + // Returned when the store has exceeded the allowed bandwidth utilization. + THROTTLED = 3; DEPRECATED_AUTH_EXPIRED = 4; DEPRECATED_USER_NOT_ACTIVATED = 5; DEPRECATED_AUTH_INVALID = 6; - CLEAR_PENDING = 7; // A clear of the user data is pending (e.g. - // initiated by privacy request). Client should - // come back later. - TRANSIENT_ERROR = 8; // A transient error occured (eg. backend - // timeout). Client should try again later. - MIGRATION_DONE = 9; // Migration has finished for one or more data - // types. Client should clear the cache for - // these data types only and then re-sync with - // a server. - DISABLED_BY_ADMIN = 10; // An administrator disabled sync for this - // domain. - DEPRECATED_USER_ROLLBACK = 11; // Deprecated in M50. - PARTIAL_FAILURE = 12; // Return when client want to update several - // data types, but some of them failed(e.g. - // throttled). - CLIENT_DATA_OBSOLETE = 13; // Returned when server detects that this - // client's data is obsolete. Client should - // reset local data and restart syncing. - UNKNOWN = 100; // Unknown value. This should never be - // explicitly used; it is the default value when - // an out-of-date client parses a value it - // doesn't recognize. + // A clear of the user data is pending (e.g. initiated by privacy request). + // The client should come back later. + CLEAR_PENDING = 7; + // A transient error occurred (e.g. a backend timeout). The client should + // try again later. + TRANSIENT_ERROR = 8; + // A server-side migration has taken place for one or more data types. The + // client should clear the cache for these data types only and then re-sync + // with a server. + MIGRATION_DONE = 9; + // An administrator disabled sync for this domain. + DISABLED_BY_ADMIN = 10; + // Deprecated in M50. + DEPRECATED_USER_ROLLBACK = 11; + // Returned when the client wants to update several data types, but some of + // them failed (e.g. throttled). + PARTIAL_FAILURE = 12; + // Returned when the server detects that this client's sync metadata is + // obsolete. The client should reset local sync metadata and restart + // syncing. + CLIENT_DATA_OBSOLETE = 13; + // Returned when the server detects that the encryption state (Nigori, + // keystore keys) has been reset/overridden, which means the local + // Nigori-related state is obsolete and should be cleared. + // Introduced in M84. + ENCRYPTION_OBSOLETE = 14; + // Unknown value. This should never be explicitly used; it is the default + // value when an out-of-date client parses a value it doesn't recognize. + UNKNOWN = 100; } enum Action { diff --git a/schema/protobuf/sync_pb/sync_invalidations_payload.pb.go b/schema/protobuf/sync_pb/sync_invalidations_payload.pb.go new file mode 100644 index 00000000..83a32c83 --- /dev/null +++ b/schema/protobuf/sync_pb/sync_invalidations_payload.pb.go @@ -0,0 +1,245 @@ +// Copyright 2020 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// If you change or add any fields in this file, update proto_visitors.h and +// potentially proto_enum_conversions.{h, cc}. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.24.0 +// protoc v3.12.2 +// source: sync_invalidations_payload.proto + +package sync_pb + +import ( + proto "github.com/golang/protobuf/proto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// The payload coming from the server for all invalidated data types. +type SyncInvalidationsPayload struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // This field contains information about each data type which needs to be + // updated. + DataTypeInvalidations []*SyncInvalidationsPayload_DataTypeInvalidation `protobuf:"bytes,1,rep,name=data_type_invalidations,json=dataTypeInvalidations" json:"data_type_invalidations,omitempty"` + // Opaque field, which has to be provided as part of resulting GetUpdates + // back to the server. + Hint []byte `protobuf:"bytes,2,opt,name=hint" json:"hint,omitempty"` +} + +func (x *SyncInvalidationsPayload) Reset() { + *x = SyncInvalidationsPayload{} + if protoimpl.UnsafeEnabled { + mi := &file_sync_invalidations_payload_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SyncInvalidationsPayload) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SyncInvalidationsPayload) ProtoMessage() {} + +func (x *SyncInvalidationsPayload) ProtoReflect() protoreflect.Message { + mi := &file_sync_invalidations_payload_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SyncInvalidationsPayload.ProtoReflect.Descriptor instead. +func (*SyncInvalidationsPayload) Descriptor() ([]byte, []int) { + return file_sync_invalidations_payload_proto_rawDescGZIP(), []int{0} +} + +func (x *SyncInvalidationsPayload) GetDataTypeInvalidations() []*SyncInvalidationsPayload_DataTypeInvalidation { + if x != nil { + return x.DataTypeInvalidations + } + return nil +} + +func (x *SyncInvalidationsPayload) GetHint() []byte { + if x != nil { + return x.Hint + } + return nil +} + +type SyncInvalidationsPayload_DataTypeInvalidation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The legitimate values of this field correspond to the protobuf field + // numbers of all EntitySpecifics fields supported by the server (see + // components/sync/protocol/sync.proto). + DataTypeId *int32 `protobuf:"varint,1,opt,name=data_type_id,json=dataTypeId" json:"data_type_id,omitempty"` +} + +func (x *SyncInvalidationsPayload_DataTypeInvalidation) Reset() { + *x = SyncInvalidationsPayload_DataTypeInvalidation{} + if protoimpl.UnsafeEnabled { + mi := &file_sync_invalidations_payload_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SyncInvalidationsPayload_DataTypeInvalidation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SyncInvalidationsPayload_DataTypeInvalidation) ProtoMessage() {} + +func (x *SyncInvalidationsPayload_DataTypeInvalidation) ProtoReflect() protoreflect.Message { + mi := &file_sync_invalidations_payload_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SyncInvalidationsPayload_DataTypeInvalidation.ProtoReflect.Descriptor instead. +func (*SyncInvalidationsPayload_DataTypeInvalidation) Descriptor() ([]byte, []int) { + return file_sync_invalidations_payload_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *SyncInvalidationsPayload_DataTypeInvalidation) GetDataTypeId() int32 { + if x != nil && x.DataTypeId != nil { + return *x.DataTypeId + } + return 0 +} + +var File_sync_invalidations_payload_proto protoreflect.FileDescriptor + +var file_sync_invalidations_payload_proto_rawDesc = []byte{ + 0x0a, 0x20, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x12, 0x07, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x22, 0xd8, 0x01, 0x0a, 0x18, + 0x53, 0x79, 0x6e, 0x63, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x6e, 0x0a, 0x17, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x79, 0x6e, 0x63, + 0x5f, 0x70, 0x62, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x44, 0x61, 0x74, + 0x61, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x15, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x69, 0x6e, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x68, 0x69, 0x6e, 0x74, 0x1a, 0x38, 0x0a, 0x14, + 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, + 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x42, 0x2b, 0x0a, 0x25, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x68, + 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, + 0x73, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x48, + 0x03, 0x50, 0x01, +} + +var ( + file_sync_invalidations_payload_proto_rawDescOnce sync.Once + file_sync_invalidations_payload_proto_rawDescData = file_sync_invalidations_payload_proto_rawDesc +) + +func file_sync_invalidations_payload_proto_rawDescGZIP() []byte { + file_sync_invalidations_payload_proto_rawDescOnce.Do(func() { + file_sync_invalidations_payload_proto_rawDescData = protoimpl.X.CompressGZIP(file_sync_invalidations_payload_proto_rawDescData) + }) + return file_sync_invalidations_payload_proto_rawDescData +} + +var file_sync_invalidations_payload_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_sync_invalidations_payload_proto_goTypes = []interface{}{ + (*SyncInvalidationsPayload)(nil), // 0: sync_pb.SyncInvalidationsPayload + (*SyncInvalidationsPayload_DataTypeInvalidation)(nil), // 1: sync_pb.SyncInvalidationsPayload.DataTypeInvalidation +} +var file_sync_invalidations_payload_proto_depIdxs = []int32{ + 1, // 0: sync_pb.SyncInvalidationsPayload.data_type_invalidations:type_name -> sync_pb.SyncInvalidationsPayload.DataTypeInvalidation + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_sync_invalidations_payload_proto_init() } +func file_sync_invalidations_payload_proto_init() { + if File_sync_invalidations_payload_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_sync_invalidations_payload_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SyncInvalidationsPayload); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sync_invalidations_payload_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SyncInvalidationsPayload_DataTypeInvalidation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_sync_invalidations_payload_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_sync_invalidations_payload_proto_goTypes, + DependencyIndexes: file_sync_invalidations_payload_proto_depIdxs, + MessageInfos: file_sync_invalidations_payload_proto_msgTypes, + }.Build() + File_sync_invalidations_payload_proto = out.File + file_sync_invalidations_payload_proto_rawDesc = nil + file_sync_invalidations_payload_proto_goTypes = nil + file_sync_invalidations_payload_proto_depIdxs = nil +} diff --git a/schema/protobuf/sync_pb/sync_invalidations_payload.proto b/schema/protobuf/sync_pb/sync_invalidations_payload.proto new file mode 100644 index 00000000..3a0570dc --- /dev/null +++ b/schema/protobuf/sync_pb/sync_invalidations_payload.proto @@ -0,0 +1,33 @@ +// Copyright 2020 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// If you change or add any fields in this file, update proto_visitors.h and +// potentially proto_enum_conversions.{h, cc}. + +syntax = "proto2"; + +option java_multiple_files = true; +option java_package = "org.chromium.components.sync.protocol"; + +option optimize_for = LITE_RUNTIME; + +package sync_pb; + +// The payload coming from the server for all invalidated data types. +message SyncInvalidationsPayload { + message DataTypeInvalidation { + // The legitimate values of this field correspond to the protobuf field + // numbers of all EntitySpecifics fields supported by the server (see + // components/sync/protocol/sync.proto). + optional int32 data_type_id = 1; + } + + // This field contains information about each data type which needs to be + // updated. + repeated DataTypeInvalidation data_type_invalidations = 1; + + // Opaque field, which has to be provided as part of resulting GetUpdates + // back to the server. + optional bytes hint = 2; +} diff --git a/schema/protobuf/sync_pb/user_event_specifics.pb.go b/schema/protobuf/sync_pb/user_event_specifics.pb.go index 96a10d72..8a58f04f 100644 --- a/schema/protobuf/sync_pb/user_event_specifics.pb.go +++ b/schema/protobuf/sync_pb/user_event_specifics.pb.go @@ -263,6 +263,68 @@ func (UserEventSpecifics_GaiaPasswordCaptured_EventTrigger) EnumDescriptor() ([] return file_user_event_specifics_proto_rawDescGZIP(), []int{0, 4, 0} } +type UserEventSpecifics_FlocIdComputed_EventTrigger int32 + +const ( + UserEventSpecifics_FlocIdComputed_UNSPECIFIED UserEventSpecifics_FlocIdComputed_EventTrigger = 0 + // Event added because the floc id is computed for the 1st floc session. + UserEventSpecifics_FlocIdComputed_NEW UserEventSpecifics_FlocIdComputed_EventTrigger = 1 + // Event added because the floc id is re-computed due to a long period of + // time has passed since the last computation. + UserEventSpecifics_FlocIdComputed_REFRESHED UserEventSpecifics_FlocIdComputed_EventTrigger = 2 +) + +// Enum value maps for UserEventSpecifics_FlocIdComputed_EventTrigger. +var ( + UserEventSpecifics_FlocIdComputed_EventTrigger_name = map[int32]string{ + 0: "UNSPECIFIED", + 1: "NEW", + 2: "REFRESHED", + } + UserEventSpecifics_FlocIdComputed_EventTrigger_value = map[string]int32{ + "UNSPECIFIED": 0, + "NEW": 1, + "REFRESHED": 2, + } +) + +func (x UserEventSpecifics_FlocIdComputed_EventTrigger) Enum() *UserEventSpecifics_FlocIdComputed_EventTrigger { + p := new(UserEventSpecifics_FlocIdComputed_EventTrigger) + *p = x + return p +} + +func (x UserEventSpecifics_FlocIdComputed_EventTrigger) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (UserEventSpecifics_FlocIdComputed_EventTrigger) Descriptor() protoreflect.EnumDescriptor { + return file_user_event_specifics_proto_enumTypes[3].Descriptor() +} + +func (UserEventSpecifics_FlocIdComputed_EventTrigger) Type() protoreflect.EnumType { + return &file_user_event_specifics_proto_enumTypes[3] +} + +func (x UserEventSpecifics_FlocIdComputed_EventTrigger) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *UserEventSpecifics_FlocIdComputed_EventTrigger) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = UserEventSpecifics_FlocIdComputed_EventTrigger(num) + return nil +} + +// Deprecated: Use UserEventSpecifics_FlocIdComputed_EventTrigger.Descriptor instead. +func (UserEventSpecifics_FlocIdComputed_EventTrigger) EnumDescriptor() ([]byte, []int) { + return file_user_event_specifics_proto_rawDescGZIP(), []int{0, 5, 0} +} + type UserEventSpecifics struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -282,6 +344,7 @@ type UserEventSpecifics struct { // *UserEventSpecifics_UserConsent_ // *UserEventSpecifics_GaiaPasswordReuseEvent // *UserEventSpecifics_GaiaPasswordCapturedEvent + // *UserEventSpecifics_FlocIdComputedEvent Event isUserEventSpecifics_Event `protobuf_oneof:"event"` } @@ -390,6 +453,13 @@ func (x *UserEventSpecifics) GetGaiaPasswordCapturedEvent() *UserEventSpecifics_ return nil } +func (x *UserEventSpecifics) GetFlocIdComputedEvent() *UserEventSpecifics_FlocIdComputed { + if x, ok := x.GetEvent().(*UserEventSpecifics_FlocIdComputedEvent); ok { + return x.FlocIdComputedEvent + } + return nil +} + type isUserEventSpecifics_Event interface { isUserEventSpecifics_Event() } @@ -422,6 +492,10 @@ type UserEventSpecifics_GaiaPasswordCapturedEvent struct { GaiaPasswordCapturedEvent *UserEventSpecifics_GaiaPasswordCaptured `protobuf:"bytes,15,opt,name=gaia_password_captured_event,json=gaiaPasswordCapturedEvent,oneof"` } +type UserEventSpecifics_FlocIdComputedEvent struct { + FlocIdComputedEvent *UserEventSpecifics_FlocIdComputed `protobuf:"bytes,16,opt,name=floc_id_computed_event,json=flocIdComputedEvent,oneof"` +} + func (*UserEventSpecifics_TestEvent) isUserEventSpecifics_Event() {} func (*UserEventSpecifics_LanguageDetectionEvent) isUserEventSpecifics_Event() {} @@ -434,6 +508,8 @@ func (*UserEventSpecifics_GaiaPasswordReuseEvent) isUserEventSpecifics_Event() { func (*UserEventSpecifics_GaiaPasswordCapturedEvent) isUserEventSpecifics_Event() {} +func (*UserEventSpecifics_FlocIdComputedEvent) isUserEventSpecifics_Event() {} + // Used for testing and debugging EventLog system. type UserEventSpecifics_Test struct { state protoimpl.MessageState @@ -855,6 +931,61 @@ func (x *UserEventSpecifics_GaiaPasswordCaptured) GetEventTrigger() UserEventSpe return UserEventSpecifics_GaiaPasswordCaptured_UNSPECIFIED } +type UserEventSpecifics_FlocIdComputed struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + EventTrigger *UserEventSpecifics_FlocIdComputed_EventTrigger `protobuf:"varint,1,opt,name=event_trigger,json=eventTrigger,enum=sync_pb.UserEventSpecifics_FlocIdComputed_EventTrigger" json:"event_trigger,omitempty"` + FlocId *uint64 `protobuf:"varint,2,opt,name=floc_id,json=flocId" json:"floc_id,omitempty"` +} + +func (x *UserEventSpecifics_FlocIdComputed) Reset() { + *x = UserEventSpecifics_FlocIdComputed{} + if protoimpl.UnsafeEnabled { + mi := &file_user_event_specifics_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserEventSpecifics_FlocIdComputed) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserEventSpecifics_FlocIdComputed) ProtoMessage() {} + +func (x *UserEventSpecifics_FlocIdComputed) ProtoReflect() protoreflect.Message { + mi := &file_user_event_specifics_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserEventSpecifics_FlocIdComputed.ProtoReflect.Descriptor instead. +func (*UserEventSpecifics_FlocIdComputed) Descriptor() ([]byte, []int) { + return file_user_event_specifics_proto_rawDescGZIP(), []int{0, 5} +} + +func (x *UserEventSpecifics_FlocIdComputed) GetEventTrigger() UserEventSpecifics_FlocIdComputed_EventTrigger { + if x != nil && x.EventTrigger != nil { + return *x.EventTrigger + } + return UserEventSpecifics_FlocIdComputed_UNSPECIFIED +} + +func (x *UserEventSpecifics_FlocIdComputed) GetFlocId() uint64 { + if x != nil && x.FlocId != nil { + return *x.FlocId + } + return 0 +} + type UserEventSpecifics_LanguageDetection_Language struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -870,7 +1001,7 @@ type UserEventSpecifics_LanguageDetection_Language struct { func (x *UserEventSpecifics_LanguageDetection_Language) Reset() { *x = UserEventSpecifics_LanguageDetection_Language{} if protoimpl.UnsafeEnabled { - mi := &file_user_event_specifics_proto_msgTypes[6] + mi := &file_user_event_specifics_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -883,7 +1014,7 @@ func (x *UserEventSpecifics_LanguageDetection_Language) String() string { func (*UserEventSpecifics_LanguageDetection_Language) ProtoMessage() {} func (x *UserEventSpecifics_LanguageDetection_Language) ProtoReflect() protoreflect.Message { - mi := &file_user_event_specifics_proto_msgTypes[6] + mi := &file_user_event_specifics_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -921,7 +1052,7 @@ var file_user_event_specifics_proto_rawDesc = []byte{ 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x1a, 0x18, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x61, 0x69, 0x61, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x72, - 0x65, 0x75, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb2, 0x15, 0x0a, 0x12, 0x55, + 0x65, 0x75, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd8, 0x17, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x65, 0x76, 0x65, 0x6e, @@ -964,138 +1095,157 @@ var file_user_event_specifics_proto_rawDesc = []byte{ 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e, 0x47, 0x61, 0x69, 0x61, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x64, 0x48, 0x00, 0x52, 0x19, 0x67, 0x61, 0x69, 0x61, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x61, - 0x70, 0x74, 0x75, 0x72, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x1a, 0x06, 0x0a, 0x04, 0x54, - 0x65, 0x73, 0x74, 0x1a, 0x84, 0x02, 0x0a, 0x11, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, - 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x65, 0x0a, 0x12, 0x64, 0x65, 0x74, - 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, - 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x63, 0x73, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x44, 0x65, 0x74, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x52, 0x11, 0x64, - 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, - 0x12, 0x32, 0x0a, 0x15, 0x61, 0x64, 0x6f, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x67, - 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x13, 0x61, 0x64, 0x6f, 0x70, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, - 0x43, 0x6f, 0x64, 0x65, 0x1a, 0x50, 0x0a, 0x08, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, - 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, - 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x6c, 0x69, - 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x52, 0x65, - 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x3a, 0x02, 0x18, 0x01, 0x1a, 0x8e, 0x03, 0x0a, 0x0b, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x72, - 0x6f, 0x6d, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x66, 0x72, 0x6f, 0x6d, 0x4c, 0x61, 0x6e, 0x67, - 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x6f, 0x5f, 0x6c, + 0x70, 0x74, 0x75, 0x72, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x61, 0x0a, 0x16, 0x66, + 0x6c, 0x6f, 0x63, 0x5f, 0x69, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x64, 0x5f, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x73, 0x79, + 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, + 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e, 0x46, 0x6c, 0x6f, 0x63, 0x49, 0x64, 0x43, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x13, 0x66, 0x6c, 0x6f, 0x63, 0x49, + 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x1a, 0x06, + 0x0a, 0x04, 0x54, 0x65, 0x73, 0x74, 0x1a, 0x84, 0x02, 0x0a, 0x11, 0x4c, 0x61, 0x6e, 0x67, 0x75, + 0x61, 0x67, 0x65, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x65, 0x0a, 0x12, + 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, + 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, + 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x44, 0x65, + 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, + 0x52, 0x11, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, + 0x67, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x61, 0x64, 0x6f, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0e, 0x74, 0x6f, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, - 0x64, 0x65, 0x12, 0x55, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, - 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x63, 0x73, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xcb, 0x01, 0x0a, 0x0b, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, - 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, - 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x43, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x02, 0x12, - 0x0b, 0x0a, 0x07, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, - 0x44, 0x49, 0x53, 0x4d, 0x49, 0x53, 0x53, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x4d, - 0x41, 0x4e, 0x55, 0x41, 0x4c, 0x10, 0x05, 0x12, 0x18, 0x0a, 0x14, 0x54, 0x52, 0x41, 0x4e, 0x53, - 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x56, 0x45, 0x52, 0x54, 0x45, 0x44, 0x10, - 0x06, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x4c, - 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x42, 0x59, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x10, 0x07, 0x12, - 0x1c, 0x0a, 0x18, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x4c, 0x41, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x42, 0x59, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x08, 0x12, 0x18, 0x0a, - 0x14, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x09, 0x3a, 0x02, 0x18, 0x01, 0x1a, 0xf6, 0x08, 0x0a, 0x0b, - 0x55, 0x73, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6c, - 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x6f, 0x63, - 0x61, 0x6c, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, - 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x63, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, - 0x73, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x73, 0x65, 0x63, 0x12, 0x4a, 0x0a, 0x0c, - 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, - 0x72, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x79, - 0x6e, 0x63, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x79, 0x6e, - 0x63, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x7a, 0x0a, 0x1e, 0x61, 0x72, 0x63, 0x5f, - 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x34, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x43, - 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x41, 0x72, 0x63, 0x42, - 0x61, 0x63, 0x6b, 0x75, 0x70, 0x41, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, - 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x1a, 0x61, 0x72, 0x63, 0x42, 0x61, 0x63, - 0x6b, 0x75, 0x70, 0x41, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x6f, 0x6e, - 0x73, 0x65, 0x6e, 0x74, 0x12, 0x7c, 0x0a, 0x1c, 0x61, 0x72, 0x63, 0x5f, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, - 0x73, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x73, 0x79, 0x6e, - 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x41, 0x72, 0x63, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x4c, + 0x28, 0x09, 0x52, 0x13, 0x61, 0x64, 0x6f, 0x70, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, + 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x1a, 0x50, 0x0a, 0x08, 0x4c, 0x61, 0x6e, 0x67, 0x75, + 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, + 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, + 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x72, + 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, + 0x73, 0x52, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x3a, 0x02, 0x18, 0x01, 0x1a, 0x8e, 0x03, + 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, + 0x12, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, + 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x66, 0x72, 0x6f, 0x6d, 0x4c, + 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x74, + 0x6f, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x6f, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, + 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x55, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x73, 0x79, 0x6e, + 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x70, + 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xcb, 0x01, 0x0a, + 0x0b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0b, 0x0a, 0x07, + 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x43, + 0x45, 0x50, 0x54, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x43, 0x4c, 0x49, 0x4e, 0x45, + 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x44, 0x10, 0x03, 0x12, + 0x0d, 0x0a, 0x09, 0x44, 0x49, 0x53, 0x4d, 0x49, 0x53, 0x53, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0a, + 0x0a, 0x06, 0x4d, 0x41, 0x4e, 0x55, 0x41, 0x4c, 0x10, 0x05, 0x12, 0x18, 0x0a, 0x14, 0x54, 0x52, + 0x41, 0x4e, 0x53, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x56, 0x45, 0x52, 0x54, + 0x45, 0x44, 0x10, 0x06, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x54, 0x52, 0x41, + 0x4e, 0x53, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x42, 0x59, 0x5f, 0x50, 0x52, 0x45, 0x46, + 0x10, 0x07, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, + 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x42, 0x59, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x08, + 0x12, 0x18, 0x0a, 0x14, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x09, 0x3a, 0x02, 0x18, 0x01, 0x1a, 0xf6, + 0x08, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x73, + 0x65, 0x63, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x73, 0x65, 0x63, 0x12, + 0x4a, 0x0a, 0x0c, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, + 0x55, 0x73, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, + 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0b, + 0x73, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x7a, 0x0a, 0x1e, 0x61, + 0x72, 0x63, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x72, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x55, 0x73, + 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x41, + 0x72, 0x63, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x41, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x1a, 0x61, 0x72, 0x63, + 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x41, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x7c, 0x0a, 0x1c, 0x61, 0x72, 0x63, 0x5f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, + 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x73, + 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x41, 0x72, 0x63, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x19, 0x61, 0x72, 0x63, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, - 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x19, 0x61, 0x72, 0x63, 0x4c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x65, - 0x6e, 0x74, 0x12, 0x81, 0x01, 0x0a, 0x21, 0x61, 0x72, 0x63, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x5f, - 0x74, 0x65, 0x72, 0x6d, 0x73, 0x5f, 0x6f, 0x66, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, - 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x43, 0x6f, 0x6e, - 0x73, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x41, 0x72, 0x63, 0x50, 0x6c, 0x61, - 0x79, 0x54, 0x65, 0x72, 0x6d, 0x73, 0x4f, 0x66, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, - 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x1c, 0x61, 0x72, 0x63, 0x50, 0x6c, 0x61, - 0x79, 0x54, 0x65, 0x72, 0x6d, 0x73, 0x4f, 0x66, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, - 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x53, 0x0a, 0x0f, 0x75, 0x6e, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x28, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x43, 0x6f, - 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x55, 0x6e, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x75, 0x6e, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x4d, 0x0a, 0x07, 0x66, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x73, - 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x43, 0x6f, - 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x02, 0x18, - 0x01, 0x52, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x32, 0x0a, 0x13, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x67, 0x72, 0x64, 0x5f, 0x69, 0x64, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x42, 0x02, 0x18, 0x01, 0x52, 0x11, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x64, 0x49, 0x64, 0x73, 0x12, 0x32, - 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x67, - 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x02, 0x18, 0x01, 0x52, - 0x11, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x64, - 0x49, 0x64, 0x12, 0x43, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, - 0x72, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x6f, - 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x02, 0x18, 0x01, 0x52, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xb4, 0x01, 0x0a, 0x07, 0x46, 0x65, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x55, - 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, - 0x43, 0x48, 0x52, 0x4f, 0x4d, 0x45, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x10, 0x01, 0x12, 0x0e, 0x0a, - 0x0a, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x10, 0x02, 0x12, 0x16, 0x0a, - 0x12, 0x42, 0x41, 0x43, 0x4b, 0x55, 0x50, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x52, 0x45, 0x53, 0x54, - 0x4f, 0x52, 0x45, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, - 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, - 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x48, 0x52, 0x4f, 0x4d, 0x45, 0x5f, 0x55, 0x4e, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x45, 0x4e, 0x54, 0x10, 0x05, 0x12, 0x1e, - 0x0a, 0x1a, 0x41, 0x53, 0x53, 0x49, 0x53, 0x54, 0x41, 0x4e, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, - 0x56, 0x49, 0x54, 0x59, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x10, 0x06, 0x3a, 0x02, - 0x18, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x4a, 0x04, 0x08, - 0x0b, 0x10, 0x0c, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x52, 0x1d, 0x61, 0x72, 0x63, 0x5f, 0x6d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, - 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x1a, 0xc6, 0x01, 0x0a, 0x14, 0x47, 0x61, 0x69, 0x61, 0x50, 0x61, 0x73, - 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x64, 0x12, 0x62, 0x0a, - 0x0d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x55, - 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, - 0x73, 0x2e, 0x47, 0x61, 0x69, 0x61, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x61, - 0x70, 0x74, 0x75, 0x72, 0x65, 0x64, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x69, 0x67, + 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x81, 0x01, 0x0a, 0x21, 0x61, 0x72, 0x63, 0x5f, 0x70, 0x6c, + 0x61, 0x79, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x73, 0x5f, 0x6f, 0x66, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, + 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x41, 0x72, 0x63, + 0x50, 0x6c, 0x61, 0x79, 0x54, 0x65, 0x72, 0x6d, 0x73, 0x4f, 0x66, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x1c, 0x61, 0x72, 0x63, + 0x50, 0x6c, 0x61, 0x79, 0x54, 0x65, 0x72, 0x6d, 0x73, 0x4f, 0x66, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x53, 0x0a, 0x0f, 0x75, 0x6e, 0x69, + 0x66, 0x69, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, + 0x72, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x55, 0x6e, + 0x69, 0x66, 0x69, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0e, + 0x75, 0x6e, 0x69, 0x66, 0x69, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x4d, + 0x0a, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x2f, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e, 0x55, 0x73, 0x65, + 0x72, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x42, 0x02, 0x18, 0x01, 0x52, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x32, 0x0a, + 0x13, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x67, 0x72, 0x64, + 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x42, 0x02, 0x18, 0x01, 0x52, 0x11, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x64, 0x49, 0x64, + 0x73, 0x12, 0x32, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x67, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x02, + 0x18, 0x01, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x47, 0x72, 0x64, 0x49, 0x64, 0x12, 0x43, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, + 0x55, 0x73, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, + 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x02, + 0x18, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xb4, 0x01, 0x0a, 0x07, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, + 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x0f, 0x0a, 0x0b, 0x43, 0x48, 0x52, 0x4f, 0x4d, 0x45, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x10, 0x01, + 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x10, 0x02, + 0x12, 0x16, 0x0a, 0x12, 0x42, 0x41, 0x43, 0x4b, 0x55, 0x50, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x52, + 0x45, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x47, 0x4f, 0x4f, 0x47, + 0x4c, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x52, 0x56, + 0x49, 0x43, 0x45, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x48, 0x52, 0x4f, 0x4d, 0x45, 0x5f, + 0x55, 0x4e, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x45, 0x4e, 0x54, 0x10, + 0x05, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x53, 0x53, 0x49, 0x53, 0x54, 0x41, 0x4e, 0x54, 0x5f, 0x41, + 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x10, + 0x06, 0x3a, 0x02, 0x18, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, + 0x4a, 0x04, 0x08, 0x0b, 0x10, 0x0c, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x52, 0x1d, 0x61, 0x72, + 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x75, 0x73, + 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x1a, 0xc6, 0x01, 0x0a, 0x14, 0x47, 0x61, 0x69, 0x61, + 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x64, + 0x12, 0x62, 0x0a, 0x0d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, + 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, + 0x66, 0x69, 0x63, 0x73, 0x2e, 0x47, 0x61, 0x69, 0x61, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, + 0x64, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x64, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, + 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x69, + 0x67, 0x67, 0x65, 0x72, 0x22, 0x4a, 0x0a, 0x0c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x69, + 0x67, 0x67, 0x65, 0x72, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x4c, 0x4f, + 0x47, 0x47, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x58, 0x50, + 0x49, 0x52, 0x45, 0x44, 0x5f, 0x32, 0x38, 0x44, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x52, 0x10, 0x02, + 0x1a, 0xc0, 0x01, 0x0a, 0x0e, 0x46, 0x6c, 0x6f, 0x63, 0x49, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x64, 0x12, 0x5c, 0x0a, 0x0d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x69, + 0x67, 0x67, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x73, 0x79, 0x6e, + 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x70, + 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e, 0x46, 0x6c, 0x6f, 0x63, 0x49, 0x64, 0x43, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x64, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x22, 0x4a, 0x0a, 0x0c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x4c, 0x4f, 0x47, 0x47, 0x45, - 0x44, 0x5f, 0x49, 0x4e, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, - 0x44, 0x5f, 0x32, 0x38, 0x44, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x52, 0x10, 0x02, 0x42, 0x07, 0x0a, - 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4a, 0x04, 0x08, 0x09, 0x10, 0x0a, 0x52, 0x11, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x42, - 0x2b, 0x0a, 0x25, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x48, 0x03, 0x50, 0x01, + 0x72, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x6c, 0x6f, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x06, 0x66, 0x6c, 0x6f, 0x63, 0x49, 0x64, 0x22, 0x37, 0x0a, 0x0c, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x4e, + 0x45, 0x57, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x45, 0x46, 0x52, 0x45, 0x53, 0x48, 0x45, + 0x44, 0x10, 0x02, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4a, 0x04, 0x08, 0x09, + 0x10, 0x0a, 0x52, 0x11, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x2b, 0x0a, 0x25, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x68, 0x72, + 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, + 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x48, 0x03, + 0x50, 0x01, } var ( @@ -1110,49 +1260,53 @@ func file_user_event_specifics_proto_rawDescGZIP() []byte { return file_user_event_specifics_proto_rawDescData } -var file_user_event_specifics_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_user_event_specifics_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_user_event_specifics_proto_enumTypes = make([]protoimpl.EnumInfo, 4) +var file_user_event_specifics_proto_msgTypes = make([]protoimpl.MessageInfo, 8) var file_user_event_specifics_proto_goTypes = []interface{}{ (UserEventSpecifics_Translation_Interaction)(0), // 0: sync_pb.UserEventSpecifics.Translation.Interaction (UserEventSpecifics_UserConsent_Feature)(0), // 1: sync_pb.UserEventSpecifics.UserConsent.Feature (UserEventSpecifics_GaiaPasswordCaptured_EventTrigger)(0), // 2: sync_pb.UserEventSpecifics.GaiaPasswordCaptured.EventTrigger - (*UserEventSpecifics)(nil), // 3: sync_pb.UserEventSpecifics - (*UserEventSpecifics_Test)(nil), // 4: sync_pb.UserEventSpecifics.Test - (*UserEventSpecifics_LanguageDetection)(nil), // 5: sync_pb.UserEventSpecifics.LanguageDetection - (*UserEventSpecifics_Translation)(nil), // 6: sync_pb.UserEventSpecifics.Translation - (*UserEventSpecifics_UserConsent)(nil), // 7: sync_pb.UserEventSpecifics.UserConsent - (*UserEventSpecifics_GaiaPasswordCaptured)(nil), // 8: sync_pb.UserEventSpecifics.GaiaPasswordCaptured - (*UserEventSpecifics_LanguageDetection_Language)(nil), // 9: sync_pb.UserEventSpecifics.LanguageDetection.Language - (*GaiaPasswordReuse)(nil), // 10: sync_pb.GaiaPasswordReuse - (*UserConsentTypes_SyncConsent)(nil), // 11: sync_pb.UserConsentTypes.SyncConsent - (*UserConsentTypes_ArcBackupAndRestoreConsent)(nil), // 12: sync_pb.UserConsentTypes.ArcBackupAndRestoreConsent - (*UserConsentTypes_ArcGoogleLocationServiceConsent)(nil), // 13: sync_pb.UserConsentTypes.ArcGoogleLocationServiceConsent - (*UserConsentTypes_ArcPlayTermsOfServiceConsent)(nil), // 14: sync_pb.UserConsentTypes.ArcPlayTermsOfServiceConsent - (*UserConsentTypes_UnifiedConsent)(nil), // 15: sync_pb.UserConsentTypes.UnifiedConsent - (UserConsentTypes_ConsentStatus)(0), // 16: sync_pb.UserConsentTypes.ConsentStatus + (UserEventSpecifics_FlocIdComputed_EventTrigger)(0), // 3: sync_pb.UserEventSpecifics.FlocIdComputed.EventTrigger + (*UserEventSpecifics)(nil), // 4: sync_pb.UserEventSpecifics + (*UserEventSpecifics_Test)(nil), // 5: sync_pb.UserEventSpecifics.Test + (*UserEventSpecifics_LanguageDetection)(nil), // 6: sync_pb.UserEventSpecifics.LanguageDetection + (*UserEventSpecifics_Translation)(nil), // 7: sync_pb.UserEventSpecifics.Translation + (*UserEventSpecifics_UserConsent)(nil), // 8: sync_pb.UserEventSpecifics.UserConsent + (*UserEventSpecifics_GaiaPasswordCaptured)(nil), // 9: sync_pb.UserEventSpecifics.GaiaPasswordCaptured + (*UserEventSpecifics_FlocIdComputed)(nil), // 10: sync_pb.UserEventSpecifics.FlocIdComputed + (*UserEventSpecifics_LanguageDetection_Language)(nil), // 11: sync_pb.UserEventSpecifics.LanguageDetection.Language + (*GaiaPasswordReuse)(nil), // 12: sync_pb.GaiaPasswordReuse + (*UserConsentTypes_SyncConsent)(nil), // 13: sync_pb.UserConsentTypes.SyncConsent + (*UserConsentTypes_ArcBackupAndRestoreConsent)(nil), // 14: sync_pb.UserConsentTypes.ArcBackupAndRestoreConsent + (*UserConsentTypes_ArcGoogleLocationServiceConsent)(nil), // 15: sync_pb.UserConsentTypes.ArcGoogleLocationServiceConsent + (*UserConsentTypes_ArcPlayTermsOfServiceConsent)(nil), // 16: sync_pb.UserConsentTypes.ArcPlayTermsOfServiceConsent + (*UserConsentTypes_UnifiedConsent)(nil), // 17: sync_pb.UserConsentTypes.UnifiedConsent + (UserConsentTypes_ConsentStatus)(0), // 18: sync_pb.UserConsentTypes.ConsentStatus } var file_user_event_specifics_proto_depIdxs = []int32{ - 4, // 0: sync_pb.UserEventSpecifics.test_event:type_name -> sync_pb.UserEventSpecifics.Test - 5, // 1: sync_pb.UserEventSpecifics.language_detection_event:type_name -> sync_pb.UserEventSpecifics.LanguageDetection - 6, // 2: sync_pb.UserEventSpecifics.translation_event:type_name -> sync_pb.UserEventSpecifics.Translation - 7, // 3: sync_pb.UserEventSpecifics.user_consent:type_name -> sync_pb.UserEventSpecifics.UserConsent - 10, // 4: sync_pb.UserEventSpecifics.gaia_password_reuse_event:type_name -> sync_pb.GaiaPasswordReuse - 8, // 5: sync_pb.UserEventSpecifics.gaia_password_captured_event:type_name -> sync_pb.UserEventSpecifics.GaiaPasswordCaptured - 9, // 6: sync_pb.UserEventSpecifics.LanguageDetection.detected_languages:type_name -> sync_pb.UserEventSpecifics.LanguageDetection.Language - 0, // 7: sync_pb.UserEventSpecifics.Translation.interaction:type_name -> sync_pb.UserEventSpecifics.Translation.Interaction - 11, // 8: sync_pb.UserEventSpecifics.UserConsent.sync_consent:type_name -> sync_pb.UserConsentTypes.SyncConsent - 12, // 9: sync_pb.UserEventSpecifics.UserConsent.arc_backup_and_restore_consent:type_name -> sync_pb.UserConsentTypes.ArcBackupAndRestoreConsent - 13, // 10: sync_pb.UserEventSpecifics.UserConsent.arc_location_service_consent:type_name -> sync_pb.UserConsentTypes.ArcGoogleLocationServiceConsent - 14, // 11: sync_pb.UserEventSpecifics.UserConsent.arc_play_terms_of_service_consent:type_name -> sync_pb.UserConsentTypes.ArcPlayTermsOfServiceConsent - 15, // 12: sync_pb.UserEventSpecifics.UserConsent.unified_consent:type_name -> sync_pb.UserConsentTypes.UnifiedConsent - 1, // 13: sync_pb.UserEventSpecifics.UserConsent.feature:type_name -> sync_pb.UserEventSpecifics.UserConsent.Feature - 16, // 14: sync_pb.UserEventSpecifics.UserConsent.status:type_name -> sync_pb.UserConsentTypes.ConsentStatus - 2, // 15: sync_pb.UserEventSpecifics.GaiaPasswordCaptured.event_trigger:type_name -> sync_pb.UserEventSpecifics.GaiaPasswordCaptured.EventTrigger - 16, // [16:16] is the sub-list for method output_type - 16, // [16:16] is the sub-list for method input_type - 16, // [16:16] is the sub-list for extension type_name - 16, // [16:16] is the sub-list for extension extendee - 0, // [0:16] is the sub-list for field type_name + 5, // 0: sync_pb.UserEventSpecifics.test_event:type_name -> sync_pb.UserEventSpecifics.Test + 6, // 1: sync_pb.UserEventSpecifics.language_detection_event:type_name -> sync_pb.UserEventSpecifics.LanguageDetection + 7, // 2: sync_pb.UserEventSpecifics.translation_event:type_name -> sync_pb.UserEventSpecifics.Translation + 8, // 3: sync_pb.UserEventSpecifics.user_consent:type_name -> sync_pb.UserEventSpecifics.UserConsent + 12, // 4: sync_pb.UserEventSpecifics.gaia_password_reuse_event:type_name -> sync_pb.GaiaPasswordReuse + 9, // 5: sync_pb.UserEventSpecifics.gaia_password_captured_event:type_name -> sync_pb.UserEventSpecifics.GaiaPasswordCaptured + 10, // 6: sync_pb.UserEventSpecifics.floc_id_computed_event:type_name -> sync_pb.UserEventSpecifics.FlocIdComputed + 11, // 7: sync_pb.UserEventSpecifics.LanguageDetection.detected_languages:type_name -> sync_pb.UserEventSpecifics.LanguageDetection.Language + 0, // 8: sync_pb.UserEventSpecifics.Translation.interaction:type_name -> sync_pb.UserEventSpecifics.Translation.Interaction + 13, // 9: sync_pb.UserEventSpecifics.UserConsent.sync_consent:type_name -> sync_pb.UserConsentTypes.SyncConsent + 14, // 10: sync_pb.UserEventSpecifics.UserConsent.arc_backup_and_restore_consent:type_name -> sync_pb.UserConsentTypes.ArcBackupAndRestoreConsent + 15, // 11: sync_pb.UserEventSpecifics.UserConsent.arc_location_service_consent:type_name -> sync_pb.UserConsentTypes.ArcGoogleLocationServiceConsent + 16, // 12: sync_pb.UserEventSpecifics.UserConsent.arc_play_terms_of_service_consent:type_name -> sync_pb.UserConsentTypes.ArcPlayTermsOfServiceConsent + 17, // 13: sync_pb.UserEventSpecifics.UserConsent.unified_consent:type_name -> sync_pb.UserConsentTypes.UnifiedConsent + 1, // 14: sync_pb.UserEventSpecifics.UserConsent.feature:type_name -> sync_pb.UserEventSpecifics.UserConsent.Feature + 18, // 15: sync_pb.UserEventSpecifics.UserConsent.status:type_name -> sync_pb.UserConsentTypes.ConsentStatus + 2, // 16: sync_pb.UserEventSpecifics.GaiaPasswordCaptured.event_trigger:type_name -> sync_pb.UserEventSpecifics.GaiaPasswordCaptured.EventTrigger + 3, // 17: sync_pb.UserEventSpecifics.FlocIdComputed.event_trigger:type_name -> sync_pb.UserEventSpecifics.FlocIdComputed.EventTrigger + 18, // [18:18] is the sub-list for method output_type + 18, // [18:18] is the sub-list for method input_type + 18, // [18:18] is the sub-list for extension type_name + 18, // [18:18] is the sub-list for extension extendee + 0, // [0:18] is the sub-list for field type_name } func init() { file_user_event_specifics_proto_init() } @@ -1236,6 +1390,18 @@ func file_user_event_specifics_proto_init() { } } file_user_event_specifics_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserEventSpecifics_FlocIdComputed); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_user_event_specifics_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserEventSpecifics_LanguageDetection_Language); i { case 0: return &v.state @@ -1255,6 +1421,7 @@ func file_user_event_specifics_proto_init() { (*UserEventSpecifics_UserConsent_)(nil), (*UserEventSpecifics_GaiaPasswordReuseEvent)(nil), (*UserEventSpecifics_GaiaPasswordCapturedEvent)(nil), + (*UserEventSpecifics_FlocIdComputedEvent)(nil), } file_user_event_specifics_proto_msgTypes[4].OneofWrappers = []interface{}{ (*UserEventSpecifics_UserConsent_SyncConsent)(nil), @@ -1268,8 +1435,8 @@ func file_user_event_specifics_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_user_event_specifics_proto_rawDesc, - NumEnums: 3, - NumMessages: 7, + NumEnums: 4, + NumMessages: 8, NumExtensions: 0, NumServices: 0, }, diff --git a/schema/protobuf/sync_pb/user_event_specifics.proto b/schema/protobuf/sync_pb/user_event_specifics.proto index 6e23ab50..79638bc9 100644 --- a/schema/protobuf/sync_pb/user_event_specifics.proto +++ b/schema/protobuf/sync_pb/user_event_specifics.proto @@ -179,6 +179,19 @@ message UserEventSpecifics { optional EventTrigger event_trigger = 1; } + message FlocIdComputed { + enum EventTrigger { + UNSPECIFIED = 0; + // Event added because the floc id is computed for the 1st floc session. + NEW = 1; + // Event added because the floc id is re-computed due to a long period of + // time has passed since the last computation. + REFRESHED = 2; + } + optional EventTrigger event_trigger = 1; + optional uint64 floc_id = 2; + } + oneof event { Test test_event = 8; LanguageDetection language_detection_event = 10 [deprecated = true]; @@ -187,6 +200,7 @@ message UserEventSpecifics { // Happens when a user types their Google account password on another site. GaiaPasswordReuse gaia_password_reuse_event = 104; GaiaPasswordCaptured gaia_password_captured_event = 15; + FlocIdComputed floc_id_computed_event = 16; } reserved "field_trial_event"; reserved 9; diff --git a/schema/protobuf/sync_pb/web_app_specifics.pb.go b/schema/protobuf/sync_pb/web_app_specifics.pb.go index 2a304cb3..a0c8f2e7 100644 --- a/schema/protobuf/sync_pb/web_app_specifics.pb.go +++ b/schema/protobuf/sync_pb/web_app_specifics.pb.go @@ -87,7 +87,65 @@ func (x *WebAppSpecifics_UserDisplayMode) UnmarshalJSON(b []byte) error { // Deprecated: Use WebAppSpecifics_UserDisplayMode.Descriptor instead. func (WebAppSpecifics_UserDisplayMode) EnumDescriptor() ([]byte, []int) { - return file_web_app_specifics_proto_rawDescGZIP(), []int{0, 0} + return file_web_app_specifics_proto_rawDescGZIP(), []int{1, 0} +} + +// Sync & local data: Information about web app icon. +type WebAppIconInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The size of the square app icon, in raw pixels. + SizeInPx *int32 `protobuf:"varint,1,opt,name=size_in_px,json=sizeInPx" json:"size_in_px,omitempty"` + // The URL of the app icon. + Url *string `protobuf:"bytes,2,opt,name=url" json:"url,omitempty"` +} + +func (x *WebAppIconInfo) Reset() { + *x = WebAppIconInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_web_app_specifics_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WebAppIconInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WebAppIconInfo) ProtoMessage() {} + +func (x *WebAppIconInfo) ProtoReflect() protoreflect.Message { + mi := &file_web_app_specifics_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WebAppIconInfo.ProtoReflect.Descriptor instead. +func (*WebAppIconInfo) Descriptor() ([]byte, []int) { + return file_web_app_specifics_proto_rawDescGZIP(), []int{0} +} + +func (x *WebAppIconInfo) GetSizeInPx() int32 { + if x != nil && x.SizeInPx != nil { + return *x.SizeInPx + } + return 0 +} + +func (x *WebAppIconInfo) GetUrl() string { + if x != nil && x.Url != nil { + return *x.Url + } + return "" } // WebApp data. This is a synced part of @@ -101,12 +159,20 @@ type WebAppSpecifics struct { Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` UserDisplayMode *WebAppSpecifics_UserDisplayMode `protobuf:"varint,3,opt,name=user_display_mode,json=userDisplayMode,enum=sync_pb.WebAppSpecifics_UserDisplayMode" json:"user_display_mode,omitempty"` ThemeColor *uint32 `protobuf:"varint,4,opt,name=theme_color,json=themeColor" json:"theme_color,omitempty"` + Scope *string `protobuf:"bytes,5,opt,name=scope" json:"scope,omitempty"` + IconInfos []*WebAppIconInfo `protobuf:"bytes,6,rep,name=icon_infos,json=iconInfos" json:"icon_infos,omitempty"` + // Used to store the page number that the app is displayed on in + // chrome://apps. + UserPageOrdinal *string `protobuf:"bytes,7,opt,name=user_page_ordinal,json=userPageOrdinal" json:"user_page_ordinal,omitempty"` + // Used to store the in-page ranking for ordering apps in its given + // |user_page_ordinal| page. + UserLaunchOrdinal *string `protobuf:"bytes,8,opt,name=user_launch_ordinal,json=userLaunchOrdinal" json:"user_launch_ordinal,omitempty"` } func (x *WebAppSpecifics) Reset() { *x = WebAppSpecifics{} if protoimpl.UnsafeEnabled { - mi := &file_web_app_specifics_proto_msgTypes[0] + mi := &file_web_app_specifics_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -119,7 +185,7 @@ func (x *WebAppSpecifics) String() string { func (*WebAppSpecifics) ProtoMessage() {} func (x *WebAppSpecifics) ProtoReflect() protoreflect.Message { - mi := &file_web_app_specifics_proto_msgTypes[0] + mi := &file_web_app_specifics_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -132,7 +198,7 @@ func (x *WebAppSpecifics) ProtoReflect() protoreflect.Message { // Deprecated: Use WebAppSpecifics.ProtoReflect.Descriptor instead. func (*WebAppSpecifics) Descriptor() ([]byte, []int) { - return file_web_app_specifics_proto_rawDescGZIP(), []int{0} + return file_web_app_specifics_proto_rawDescGZIP(), []int{1} } func (x *WebAppSpecifics) GetLaunchUrl() string { @@ -163,29 +229,72 @@ func (x *WebAppSpecifics) GetThemeColor() uint32 { return 0 } +func (x *WebAppSpecifics) GetScope() string { + if x != nil && x.Scope != nil { + return *x.Scope + } + return "" +} + +func (x *WebAppSpecifics) GetIconInfos() []*WebAppIconInfo { + if x != nil { + return x.IconInfos + } + return nil +} + +func (x *WebAppSpecifics) GetUserPageOrdinal() string { + if x != nil && x.UserPageOrdinal != nil { + return *x.UserPageOrdinal + } + return "" +} + +func (x *WebAppSpecifics) GetUserLaunchOrdinal() string { + if x != nil && x.UserLaunchOrdinal != nil { + return *x.UserLaunchOrdinal + } + return "" +} + var File_web_app_specifics_proto protoreflect.FileDescriptor var file_web_app_specifics_proto_rawDesc = []byte{ 0x0a, 0x17, 0x77, 0x65, 0x62, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x73, 0x79, 0x6e, 0x63, 0x5f, - 0x70, 0x62, 0x22, 0xeb, 0x01, 0x0a, 0x0f, 0x57, 0x65, 0x62, 0x41, 0x70, 0x70, 0x53, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, - 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x61, 0x75, 0x6e, - 0x63, 0x68, 0x55, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x54, 0x0a, 0x11, 0x75, 0x73, 0x65, - 0x72, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x57, - 0x65, 0x62, 0x41, 0x70, 0x70, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e, 0x55, - 0x73, 0x65, 0x72, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0f, - 0x75, 0x73, 0x65, 0x72, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x12, - 0x1f, 0x0a, 0x0b, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x43, 0x6f, 0x6c, 0x6f, 0x72, - 0x22, 0x2e, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4d, - 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x52, 0x4f, 0x57, 0x53, 0x45, 0x52, 0x10, 0x01, - 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x4c, 0x4f, 0x4e, 0x45, 0x10, 0x03, - 0x42, 0x2b, 0x0a, 0x25, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x73, 0x79, 0x6e, 0x63, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x48, 0x03, 0x50, 0x01, + 0x70, 0x62, 0x22, 0x40, 0x0a, 0x0e, 0x57, 0x65, 0x62, 0x41, 0x70, 0x70, 0x49, 0x63, 0x6f, 0x6e, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x0a, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x69, 0x6e, 0x5f, + 0x70, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x73, 0x69, 0x7a, 0x65, 0x49, 0x6e, + 0x50, 0x78, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x75, 0x72, 0x6c, 0x22, 0x95, 0x03, 0x0a, 0x0f, 0x57, 0x65, 0x62, 0x41, 0x70, 0x70, 0x53, + 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x61, 0x75, 0x6e, + 0x63, 0x68, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x61, + 0x75, 0x6e, 0x63, 0x68, 0x55, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x54, 0x0a, 0x11, 0x75, + 0x73, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6d, 0x6f, 0x64, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, + 0x2e, 0x57, 0x65, 0x62, 0x41, 0x70, 0x70, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, + 0x2e, 0x55, 0x73, 0x65, 0x72, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x64, 0x65, + 0x52, 0x0f, 0x75, 0x73, 0x65, 0x72, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x64, + 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x43, 0x6f, 0x6c, + 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x36, 0x0a, 0x0a, 0x69, 0x63, 0x6f, 0x6e, + 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, + 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x57, 0x65, 0x62, 0x41, 0x70, 0x70, 0x49, 0x63, 0x6f, + 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x69, 0x63, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x73, + 0x12, 0x2a, 0x0a, 0x11, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x6f, 0x72, + 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x75, 0x73, 0x65, + 0x72, 0x50, 0x61, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x12, 0x2e, 0x0a, 0x13, + 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x6f, 0x72, 0x64, 0x69, + 0x6e, 0x61, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x75, 0x73, 0x65, 0x72, 0x4c, + 0x61, 0x75, 0x6e, 0x63, 0x68, 0x4f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x22, 0x2e, 0x0a, 0x0f, + 0x55, 0x73, 0x65, 0x72, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x12, + 0x0b, 0x0a, 0x07, 0x42, 0x52, 0x4f, 0x57, 0x53, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, + 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x4c, 0x4f, 0x4e, 0x45, 0x10, 0x03, 0x42, 0x2b, 0x0a, 0x25, + 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x48, 0x03, 0x50, 0x01, } var ( @@ -201,18 +310,20 @@ func file_web_app_specifics_proto_rawDescGZIP() []byte { } var file_web_app_specifics_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_web_app_specifics_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_web_app_specifics_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_web_app_specifics_proto_goTypes = []interface{}{ (WebAppSpecifics_UserDisplayMode)(0), // 0: sync_pb.WebAppSpecifics.UserDisplayMode - (*WebAppSpecifics)(nil), // 1: sync_pb.WebAppSpecifics + (*WebAppIconInfo)(nil), // 1: sync_pb.WebAppIconInfo + (*WebAppSpecifics)(nil), // 2: sync_pb.WebAppSpecifics } var file_web_app_specifics_proto_depIdxs = []int32{ 0, // 0: sync_pb.WebAppSpecifics.user_display_mode:type_name -> sync_pb.WebAppSpecifics.UserDisplayMode - 1, // [1:1] is the sub-list for method output_type - 1, // [1:1] is the sub-list for method input_type - 1, // [1:1] is the sub-list for extension type_name - 1, // [1:1] is the sub-list for extension extendee - 0, // [0:1] is the sub-list for field type_name + 1, // 1: sync_pb.WebAppSpecifics.icon_infos:type_name -> sync_pb.WebAppIconInfo + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name } func init() { file_web_app_specifics_proto_init() } @@ -222,6 +333,18 @@ func file_web_app_specifics_proto_init() { } if !protoimpl.UnsafeEnabled { file_web_app_specifics_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WebAppIconInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_web_app_specifics_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WebAppSpecifics); i { case 0: return &v.state @@ -240,7 +363,7 @@ func file_web_app_specifics_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_web_app_specifics_proto_rawDesc, NumEnums: 1, - NumMessages: 1, + NumMessages: 2, NumExtensions: 0, NumServices: 0, }, diff --git a/schema/protobuf/sync_pb/web_app_specifics.proto b/schema/protobuf/sync_pb/web_app_specifics.proto index d0c932c8..69d25a0c 100644 --- a/schema/protobuf/sync_pb/web_app_specifics.proto +++ b/schema/protobuf/sync_pb/web_app_specifics.proto @@ -11,6 +11,14 @@ option optimize_for = LITE_RUNTIME; package sync_pb; +// Sync & local data: Information about web app icon. +message WebAppIconInfo { + // The size of the square app icon, in raw pixels. + optional int32 size_in_px = 1; + // The URL of the app icon. + optional string url = 2; +} + // WebApp data. This is a synced part of // chrome/browser/web_applications/proto/web_app.proto data. message WebAppSpecifics { @@ -21,7 +29,7 @@ message WebAppSpecifics { // UNDEFINED is never serialized. BROWSER = 1; // MINIMAL_UI is never serialized. - STANDALONE= 3; + STANDALONE = 3; // FULLSCREEN is never serialized. } @@ -29,4 +37,13 @@ message WebAppSpecifics { optional string name = 2; optional UserDisplayMode user_display_mode = 3; optional uint32 theme_color = 4; + optional string scope = 5; + repeated WebAppIconInfo icon_infos = 6; + + // Used to store the page number that the app is displayed on in + // chrome://apps. + optional string user_page_ordinal = 7; + // Used to store the in-page ranking for ordering apps in its given + // |user_page_ordinal| page. + optional string user_launch_ordinal = 8; } diff --git a/schema/protobuf/sync_pb/wifi_configuration_specifics.pb.go b/schema/protobuf/sync_pb/wifi_configuration_specifics.pb.go index e91fc5c5..fc72e2f0 100644 --- a/schema/protobuf/sync_pb/wifi_configuration_specifics.pb.go +++ b/schema/protobuf/sync_pb/wifi_configuration_specifics.pb.go @@ -277,6 +277,65 @@ func (WifiConfigurationSpecifics_MeteredOption) EnumDescriptor() ([]byte, []int) return file_wifi_configuration_specifics_proto_rawDescGZIP(), []int{0, 3} } +type WifiConfigurationSpecifics_DnsOption int32 + +const ( + WifiConfigurationSpecifics_DNS_OPTION_UNSPECIFIED WifiConfigurationSpecifics_DnsOption = 0 + WifiConfigurationSpecifics_DNS_OPTION_DEFAULT_DHCP WifiConfigurationSpecifics_DnsOption = 1 + WifiConfigurationSpecifics_DNS_OPTION_CUSTOM WifiConfigurationSpecifics_DnsOption = 2 +) + +// Enum value maps for WifiConfigurationSpecifics_DnsOption. +var ( + WifiConfigurationSpecifics_DnsOption_name = map[int32]string{ + 0: "DNS_OPTION_UNSPECIFIED", + 1: "DNS_OPTION_DEFAULT_DHCP", + 2: "DNS_OPTION_CUSTOM", + } + WifiConfigurationSpecifics_DnsOption_value = map[string]int32{ + "DNS_OPTION_UNSPECIFIED": 0, + "DNS_OPTION_DEFAULT_DHCP": 1, + "DNS_OPTION_CUSTOM": 2, + } +) + +func (x WifiConfigurationSpecifics_DnsOption) Enum() *WifiConfigurationSpecifics_DnsOption { + p := new(WifiConfigurationSpecifics_DnsOption) + *p = x + return p +} + +func (x WifiConfigurationSpecifics_DnsOption) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (WifiConfigurationSpecifics_DnsOption) Descriptor() protoreflect.EnumDescriptor { + return file_wifi_configuration_specifics_proto_enumTypes[4].Descriptor() +} + +func (WifiConfigurationSpecifics_DnsOption) Type() protoreflect.EnumType { + return &file_wifi_configuration_specifics_proto_enumTypes[4] +} + +func (x WifiConfigurationSpecifics_DnsOption) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *WifiConfigurationSpecifics_DnsOption) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = WifiConfigurationSpecifics_DnsOption(num) + return nil +} + +// Deprecated: Use WifiConfigurationSpecifics_DnsOption.Descriptor instead. +func (WifiConfigurationSpecifics_DnsOption) EnumDescriptor() ([]byte, []int) { + return file_wifi_configuration_specifics_proto_rawDescGZIP(), []int{0, 4} +} + type WifiConfigurationSpecifics_ProxyConfiguration_ProxyOption int32 const ( @@ -287,7 +346,7 @@ const ( // Uses Web Proxy Auto-Discovery Protocol (WPAD) to discover the proxy // settings using DHCP/DNS. WifiConfigurationSpecifics_ProxyConfiguration_PROXY_OPTION_AUTODISCOVERY WifiConfigurationSpecifics_ProxyConfiguration_ProxyOption = 3 - // User sets proxy_url, proxy_port, and whitelisted_domains manually. + // User sets details in manual_proxy_configuration. WifiConfigurationSpecifics_ProxyConfiguration_PROXY_OPTION_MANUAL WifiConfigurationSpecifics_ProxyConfiguration_ProxyOption = 4 ) @@ -320,11 +379,11 @@ func (x WifiConfigurationSpecifics_ProxyConfiguration_ProxyOption) String() stri } func (WifiConfigurationSpecifics_ProxyConfiguration_ProxyOption) Descriptor() protoreflect.EnumDescriptor { - return file_wifi_configuration_specifics_proto_enumTypes[4].Descriptor() + return file_wifi_configuration_specifics_proto_enumTypes[5].Descriptor() } func (WifiConfigurationSpecifics_ProxyConfiguration_ProxyOption) Type() protoreflect.EnumType { - return &file_wifi_configuration_specifics_proto_enumTypes[4] + return &file_wifi_configuration_specifics_proto_enumTypes[5] } func (x WifiConfigurationSpecifics_ProxyConfiguration_ProxyOption) Number() protoreflect.EnumNumber { @@ -361,10 +420,13 @@ type WifiConfigurationSpecifics struct { IsPreferred *WifiConfigurationSpecifics_IsPreferredOption `protobuf:"varint,5,opt,name=is_preferred,json=isPreferred,enum=sync_pb.WifiConfigurationSpecifics_IsPreferredOption" json:"is_preferred,omitempty"` Metered *WifiConfigurationSpecifics_MeteredOption `protobuf:"varint,6,opt,name=metered,enum=sync_pb.WifiConfigurationSpecifics_MeteredOption" json:"metered,omitempty"` ProxyConfiguration *WifiConfigurationSpecifics_ProxyConfiguration `protobuf:"bytes,7,opt,name=proxy_configuration,json=proxyConfiguration" json:"proxy_configuration,omitempty"` - // List of DNS servers to be used. Up to 4. + DnsOption *WifiConfigurationSpecifics_DnsOption `protobuf:"varint,10,opt,name=dns_option,json=dnsOption,enum=sync_pb.WifiConfigurationSpecifics_DnsOption" json:"dns_option,omitempty"` + // List of DNS servers to be used when set to DNS_OPTION_CUSTOM. Up to 4. CustomDns []string `protobuf:"bytes,8,rep,name=custom_dns,json=customDns" json:"custom_dns,omitempty"` - // This is represented by the UNIX timestamp, ms since epoch. - LastUpdateTimestamp *int64 `protobuf:"varint,9,opt,name=last_update_timestamp,json=lastUpdateTimestamp" json:"last_update_timestamp,omitempty"` + // The last time this configuration was connected to before being synced. It + // will only be updated when the configuration is changed. This is represented + // with the UNIX timestamp, ms since epoch. + LastConnectedTimestamp *int64 `protobuf:"varint,9,opt,name=last_connected_timestamp,json=lastConnectedTimestamp" json:"last_connected_timestamp,omitempty"` } func (x *WifiConfigurationSpecifics) Reset() { @@ -448,6 +510,13 @@ func (x *WifiConfigurationSpecifics) GetProxyConfiguration() *WifiConfigurationS return nil } +func (x *WifiConfigurationSpecifics) GetDnsOption() WifiConfigurationSpecifics_DnsOption { + if x != nil && x.DnsOption != nil { + return *x.DnsOption + } + return WifiConfigurationSpecifics_DNS_OPTION_UNSPECIFIED +} + func (x *WifiConfigurationSpecifics) GetCustomDns() []string { if x != nil { return x.CustomDns @@ -455,9 +524,9 @@ func (x *WifiConfigurationSpecifics) GetCustomDns() []string { return nil } -func (x *WifiConfigurationSpecifics) GetLastUpdateTimestamp() int64 { - if x != nil && x.LastUpdateTimestamp != nil { - return *x.LastUpdateTimestamp +func (x *WifiConfigurationSpecifics) GetLastConnectedTimestamp() int64 { + if x != nil && x.LastConnectedTimestamp != nil { + return *x.LastConnectedTimestamp } return 0 } @@ -468,12 +537,10 @@ type WifiConfigurationSpecifics_ProxyConfiguration struct { unknownFields protoimpl.UnknownFields ProxyOption *WifiConfigurationSpecifics_ProxyConfiguration_ProxyOption `protobuf:"varint,1,opt,name=proxy_option,json=proxyOption,enum=sync_pb.WifiConfigurationSpecifics_ProxyConfiguration_ProxyOption" json:"proxy_option,omitempty"` - // Only set if PROXY_OPTION_AUTOMATIC or PROXY_OPTION_MANUAL. - ProxyUrl *string `protobuf:"bytes,2,opt,name=proxy_url,json=proxyUrl" json:"proxy_url,omitempty"` + // Only set if PROXY_OPTION_AUTOMATIC. + AutoconfigurationUrl *string `protobuf:"bytes,2,opt,name=autoconfiguration_url,json=autoconfigurationUrl" json:"autoconfiguration_url,omitempty"` // Only set if PROXY_OPTION_MANUAL. - ProxyPort *int32 `protobuf:"varint,3,opt,name=proxy_port,json=proxyPort" json:"proxy_port,omitempty"` - // Only set if PROXY_OPTION_MANUAL. - WhitelistedDomains []string `protobuf:"bytes,4,rep,name=whitelisted_domains,json=whitelistedDomains" json:"whitelisted_domains,omitempty"` + ManualProxyConfiguration *WifiConfigurationSpecifics_ProxyConfiguration_ManualProxyConfiguration `protobuf:"bytes,3,opt,name=manual_proxy_configuration,json=manualProxyConfiguration" json:"manual_proxy_configuration,omitempty"` } func (x *WifiConfigurationSpecifics_ProxyConfiguration) Reset() { @@ -515,21 +582,109 @@ func (x *WifiConfigurationSpecifics_ProxyConfiguration) GetProxyOption() WifiCon return WifiConfigurationSpecifics_ProxyConfiguration_PROXY_OPTION_UNSPECIFIED } -func (x *WifiConfigurationSpecifics_ProxyConfiguration) GetProxyUrl() string { - if x != nil && x.ProxyUrl != nil { - return *x.ProxyUrl +func (x *WifiConfigurationSpecifics_ProxyConfiguration) GetAutoconfigurationUrl() string { + if x != nil && x.AutoconfigurationUrl != nil { + return *x.AutoconfigurationUrl } return "" } -func (x *WifiConfigurationSpecifics_ProxyConfiguration) GetProxyPort() int32 { - if x != nil && x.ProxyPort != nil { - return *x.ProxyPort +func (x *WifiConfigurationSpecifics_ProxyConfiguration) GetManualProxyConfiguration() *WifiConfigurationSpecifics_ProxyConfiguration_ManualProxyConfiguration { + if x != nil { + return x.ManualProxyConfiguration + } + return nil +} + +type WifiConfigurationSpecifics_ProxyConfiguration_ManualProxyConfiguration struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + HttpProxyUrl *string `protobuf:"bytes,1,opt,name=http_proxy_url,json=httpProxyUrl" json:"http_proxy_url,omitempty"` + HttpProxyPort *int32 `protobuf:"varint,2,opt,name=http_proxy_port,json=httpProxyPort" json:"http_proxy_port,omitempty"` + SecureHttpProxyUrl *string `protobuf:"bytes,3,opt,name=secure_http_proxy_url,json=secureHttpProxyUrl" json:"secure_http_proxy_url,omitempty"` + SecureHttpProxyPort *int32 `protobuf:"varint,4,opt,name=secure_http_proxy_port,json=secureHttpProxyPort" json:"secure_http_proxy_port,omitempty"` + SocksHostUrl *string `protobuf:"bytes,5,opt,name=socks_host_url,json=socksHostUrl" json:"socks_host_url,omitempty"` + SocksHostPort *int32 `protobuf:"varint,6,opt,name=socks_host_port,json=socksHostPort" json:"socks_host_port,omitempty"` + WhitelistedDomains []string `protobuf:"bytes,7,rep,name=whitelisted_domains,json=whitelistedDomains" json:"whitelisted_domains,omitempty"` +} + +func (x *WifiConfigurationSpecifics_ProxyConfiguration_ManualProxyConfiguration) Reset() { + *x = WifiConfigurationSpecifics_ProxyConfiguration_ManualProxyConfiguration{} + if protoimpl.UnsafeEnabled { + mi := &file_wifi_configuration_specifics_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WifiConfigurationSpecifics_ProxyConfiguration_ManualProxyConfiguration) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WifiConfigurationSpecifics_ProxyConfiguration_ManualProxyConfiguration) ProtoMessage() {} + +func (x *WifiConfigurationSpecifics_ProxyConfiguration_ManualProxyConfiguration) ProtoReflect() protoreflect.Message { + mi := &file_wifi_configuration_specifics_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WifiConfigurationSpecifics_ProxyConfiguration_ManualProxyConfiguration.ProtoReflect.Descriptor instead. +func (*WifiConfigurationSpecifics_ProxyConfiguration_ManualProxyConfiguration) Descriptor() ([]byte, []int) { + return file_wifi_configuration_specifics_proto_rawDescGZIP(), []int{0, 0, 0} +} + +func (x *WifiConfigurationSpecifics_ProxyConfiguration_ManualProxyConfiguration) GetHttpProxyUrl() string { + if x != nil && x.HttpProxyUrl != nil { + return *x.HttpProxyUrl + } + return "" +} + +func (x *WifiConfigurationSpecifics_ProxyConfiguration_ManualProxyConfiguration) GetHttpProxyPort() int32 { + if x != nil && x.HttpProxyPort != nil { + return *x.HttpProxyPort } return 0 } -func (x *WifiConfigurationSpecifics_ProxyConfiguration) GetWhitelistedDomains() []string { +func (x *WifiConfigurationSpecifics_ProxyConfiguration_ManualProxyConfiguration) GetSecureHttpProxyUrl() string { + if x != nil && x.SecureHttpProxyUrl != nil { + return *x.SecureHttpProxyUrl + } + return "" +} + +func (x *WifiConfigurationSpecifics_ProxyConfiguration_ManualProxyConfiguration) GetSecureHttpProxyPort() int32 { + if x != nil && x.SecureHttpProxyPort != nil { + return *x.SecureHttpProxyPort + } + return 0 +} + +func (x *WifiConfigurationSpecifics_ProxyConfiguration_ManualProxyConfiguration) GetSocksHostUrl() string { + if x != nil && x.SocksHostUrl != nil { + return *x.SocksHostUrl + } + return "" +} + +func (x *WifiConfigurationSpecifics_ProxyConfiguration_ManualProxyConfiguration) GetSocksHostPort() int32 { + if x != nil && x.SocksHostPort != nil { + return *x.SocksHostPort + } + return 0 +} + +func (x *WifiConfigurationSpecifics_ProxyConfiguration_ManualProxyConfiguration) GetWhitelistedDomains() []string { if x != nil { return x.WhitelistedDomains } @@ -541,107 +696,143 @@ var File_wifi_configuration_specifics_proto protoreflect.FileDescriptor var file_wifi_configuration_specifics_proto_rawDesc = []byte{ 0x0a, 0x22, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x1a, 0x10, 0x65, - 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, - 0xf2, 0x0b, 0x0a, 0x1a, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x12, 0x19, - 0x0a, 0x08, 0x68, 0x65, 0x78, 0x5f, 0x73, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x07, 0x68, 0x65, 0x78, 0x53, 0x73, 0x69, 0x64, 0x12, 0x55, 0x0a, 0x0d, 0x73, 0x65, 0x63, - 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x30, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x0c, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x61, 0x73, 0x73, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x70, 0x61, 0x73, 0x73, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, - 0x12, 0x73, 0x0a, 0x15, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, - 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x3e, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x63, 0x73, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, - 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x14, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x58, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x66, - 0x65, 0x72, 0x72, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x73, 0x79, - 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, - 0x2e, 0x49, 0x73, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x0b, 0x69, 0x73, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x12, - 0x4b, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x31, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e, 0x4d, 0x65, 0x74, 0x65, 0x72, 0x65, 0x64, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x65, 0x64, 0x12, 0x67, 0x0a, 0x13, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x79, 0x6e, 0x63, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x22, 0xcd, 0x10, + 0x0a, 0x1a, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x12, 0x19, 0x0a, 0x08, + 0x68, 0x65, 0x78, 0x5f, 0x73, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, + 0x68, 0x65, 0x78, 0x53, 0x73, 0x69, 0x64, 0x12, 0x55, 0x0a, 0x0d, 0x73, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, + 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, + 0x69, 0x63, 0x73, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x0c, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, + 0x0a, 0x0a, 0x70, 0x61, 0x73, 0x73, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x0a, 0x70, 0x61, 0x73, 0x73, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x12, 0x73, + 0x0a, 0x15, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x5f, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, + 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, + 0x63, 0x73, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x61, + 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x12, 0x58, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x72, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e, 0x50, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e, 0x49, + 0x73, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x0b, 0x69, 0x73, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x12, 0x4b, 0x0a, + 0x07, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, + 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, + 0x69, 0x63, 0x73, 0x2e, 0x4d, 0x65, 0x74, 0x65, 0x72, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x65, 0x64, 0x12, 0x67, 0x0a, 0x13, 0x70, 0x72, + 0x6f, 0x78, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, + 0x62, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e, 0x50, 0x72, 0x6f, + 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x12, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x0a, 0x64, 0x6e, 0x73, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, + 0x62, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e, 0x44, 0x6e, 0x73, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, 0x6e, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x64, 0x6e, 0x73, 0x18, + 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x6e, 0x73, + 0x12, 0x38, 0x0a, 0x18, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x16, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x1a, 0xb0, 0x06, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, - 0x64, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x63, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x44, 0x6e, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x1a, 0x86, 0x03, 0x0a, 0x12, 0x50, 0x72, 0x6f, - 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x65, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x42, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, - 0x57, 0x69, 0x66, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x72, - 0x6f, 0x78, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x78, 0x79, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, - 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x78, 0x79, - 0x55, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x6f, 0x72, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x6f, - 0x72, 0x74, 0x12, 0x2f, 0x0a, 0x13, 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x65, - 0x64, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x12, 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x73, 0x22, 0x9b, 0x01, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x4f, 0x50, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, - 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x55, 0x54, - 0x4f, 0x4d, 0x41, 0x54, 0x49, 0x43, 0x10, 0x02, 0x12, 0x1e, 0x0a, 0x1a, 0x50, 0x52, 0x4f, 0x58, - 0x59, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x44, 0x49, 0x53, - 0x43, 0x4f, 0x56, 0x45, 0x52, 0x59, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x52, 0x4f, 0x58, - 0x59, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x41, 0x4e, 0x55, 0x41, 0x4c, 0x10, - 0x04, 0x22, 0x73, 0x0a, 0x0c, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x16, 0x0a, 0x12, 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x45, 0x43, 0x55, - 0x52, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x57, 0x45, 0x50, 0x10, 0x02, 0x12, - 0x15, 0x0a, 0x11, 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x50, 0x53, 0x4b, 0x10, 0x03, 0x22, 0x8a, 0x01, 0x0a, 0x1a, 0x41, 0x75, 0x74, 0x6f, 0x6d, - 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x21, 0x41, 0x55, 0x54, 0x4f, 0x4d, 0x41, 0x54, - 0x49, 0x43, 0x41, 0x4c, 0x4c, 0x59, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x55, - 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, + 0x6e, 0x12, 0x65, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x42, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, + 0x62, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e, 0x50, 0x72, 0x6f, + 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x72, 0x6f, + 0x78, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x15, 0x61, 0x75, 0x74, 0x6f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x72, + 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x8d, 0x01, + 0x0a, 0x1a, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x57, 0x69, 0x66, + 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, + 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x6e, 0x75, 0x61, + 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x18, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xcf, 0x02, + 0x0a, 0x18, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x68, 0x74, + 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x68, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x55, 0x72, 0x6c, + 0x12, 0x26, 0x0a, 0x0f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, + 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x68, 0x74, 0x74, 0x70, 0x50, + 0x72, 0x6f, 0x78, 0x79, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x31, 0x0a, 0x15, 0x73, 0x65, 0x63, 0x75, + 0x72, 0x65, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x75, 0x72, + 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x48, + 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x55, 0x72, 0x6c, 0x12, 0x33, 0x0a, 0x16, 0x73, + 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, + 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x73, 0x65, 0x63, + 0x75, 0x72, 0x65, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x6f, 0x72, 0x74, + 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x6f, 0x63, 0x6b, 0x73, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x75, + 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6f, 0x63, 0x6b, 0x73, 0x48, + 0x6f, 0x73, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x6f, 0x63, 0x6b, 0x73, 0x5f, + 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0d, 0x73, 0x6f, 0x63, 0x6b, 0x73, 0x48, 0x6f, 0x73, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x2f, + 0x0a, 0x13, 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x77, 0x68, 0x69, + 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x22, + 0x9b, 0x01, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x1c, 0x0a, 0x18, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, + 0x15, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x49, + 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x52, 0x4f, 0x58, + 0x59, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x4d, 0x41, 0x54, + 0x49, 0x43, 0x10, 0x02, 0x12, 0x1e, 0x0a, 0x1a, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x4f, 0x50, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x56, 0x45, + 0x52, 0x59, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x4f, 0x50, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x41, 0x4e, 0x55, 0x41, 0x4c, 0x10, 0x04, 0x22, 0x73, 0x0a, + 0x0c, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, + 0x19, 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, + 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, + 0x4e, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x57, 0x45, 0x50, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x53, + 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x53, 0x4b, + 0x10, 0x03, 0x22, 0x8a, 0x01, 0x0a, 0x1a, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, + 0x61, 0x6c, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x25, 0x0a, 0x21, 0x41, 0x55, 0x54, 0x4f, 0x4d, 0x41, 0x54, 0x49, 0x43, 0x41, 0x4c, + 0x4c, 0x59, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x55, 0x54, 0x4f, + 0x4d, 0x41, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x4c, 0x59, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, + 0x54, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x41, 0x55, 0x54, 0x4f, 0x4d, 0x41, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x4c, 0x59, 0x5f, 0x43, 0x4f, - 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, - 0x12, 0x21, 0x0a, 0x1d, 0x41, 0x55, 0x54, 0x4f, 0x4d, 0x41, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x4c, - 0x59, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, - 0x44, 0x10, 0x02, 0x22, 0x66, 0x0a, 0x11, 0x49, 0x73, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, - 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x18, 0x49, 0x53, 0x5f, 0x50, - 0x52, 0x45, 0x46, 0x45, 0x52, 0x52, 0x45, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x49, 0x53, 0x5f, 0x50, 0x52, 0x45, - 0x46, 0x45, 0x52, 0x52, 0x45, 0x44, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, - 0x01, 0x12, 0x18, 0x0a, 0x14, 0x49, 0x53, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x45, 0x52, 0x52, 0x45, - 0x44, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x22, 0x77, 0x0a, 0x0d, 0x4d, - 0x65, 0x74, 0x65, 0x72, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x1a, - 0x4d, 0x45, 0x54, 0x45, 0x52, 0x45, 0x44, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, - 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, - 0x4d, 0x45, 0x54, 0x45, 0x52, 0x45, 0x44, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, - 0x4f, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x45, 0x44, 0x5f, 0x4f, - 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x59, 0x45, 0x53, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x4d, - 0x45, 0x54, 0x45, 0x52, 0x45, 0x44, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x55, - 0x54, 0x4f, 0x10, 0x03, 0x42, 0x2b, 0x0a, 0x25, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x68, 0x72, 0x6f, - 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, - 0x73, 0x79, 0x6e, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x48, 0x03, 0x50, - 0x01, + 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x22, + 0x66, 0x0a, 0x11, 0x49, 0x73, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x18, 0x49, 0x53, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x45, + 0x52, 0x52, 0x45, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x49, 0x53, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x45, 0x52, 0x52, + 0x45, 0x44, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x18, 0x0a, + 0x14, 0x49, 0x53, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x45, 0x52, 0x52, 0x45, 0x44, 0x5f, 0x45, 0x4e, + 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x22, 0x77, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x65, 0x72, + 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x1a, 0x4d, 0x45, 0x54, 0x45, + 0x52, 0x45, 0x44, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x4d, 0x45, 0x54, 0x45, + 0x52, 0x45, 0x44, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x10, 0x01, 0x12, + 0x16, 0x0a, 0x12, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x45, 0x44, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x59, 0x45, 0x53, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x4d, 0x45, 0x54, 0x45, 0x52, + 0x45, 0x44, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x10, 0x03, + 0x22, 0x5b, 0x0a, 0x09, 0x44, 0x6e, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, + 0x16, 0x44, 0x4e, 0x53, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4e, 0x53, + 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, + 0x44, 0x48, 0x43, 0x50, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x44, 0x4e, 0x53, 0x5f, 0x4f, 0x50, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x10, 0x02, 0x42, 0x2b, 0x0a, + 0x25, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x48, 0x03, 0x50, 0x01, } var ( @@ -656,29 +847,33 @@ func file_wifi_configuration_specifics_proto_rawDescGZIP() []byte { return file_wifi_configuration_specifics_proto_rawDescData } -var file_wifi_configuration_specifics_proto_enumTypes = make([]protoimpl.EnumInfo, 5) -var file_wifi_configuration_specifics_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_wifi_configuration_specifics_proto_enumTypes = make([]protoimpl.EnumInfo, 6) +var file_wifi_configuration_specifics_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_wifi_configuration_specifics_proto_goTypes = []interface{}{ - (WifiConfigurationSpecifics_SecurityType)(0), // 0: sync_pb.WifiConfigurationSpecifics.SecurityType - (WifiConfigurationSpecifics_AutomaticallyConnectOption)(0), // 1: sync_pb.WifiConfigurationSpecifics.AutomaticallyConnectOption - (WifiConfigurationSpecifics_IsPreferredOption)(0), // 2: sync_pb.WifiConfigurationSpecifics.IsPreferredOption - (WifiConfigurationSpecifics_MeteredOption)(0), // 3: sync_pb.WifiConfigurationSpecifics.MeteredOption - (WifiConfigurationSpecifics_ProxyConfiguration_ProxyOption)(0), // 4: sync_pb.WifiConfigurationSpecifics.ProxyConfiguration.ProxyOption - (*WifiConfigurationSpecifics)(nil), // 5: sync_pb.WifiConfigurationSpecifics - (*WifiConfigurationSpecifics_ProxyConfiguration)(nil), // 6: sync_pb.WifiConfigurationSpecifics.ProxyConfiguration + (WifiConfigurationSpecifics_SecurityType)(0), // 0: sync_pb.WifiConfigurationSpecifics.SecurityType + (WifiConfigurationSpecifics_AutomaticallyConnectOption)(0), // 1: sync_pb.WifiConfigurationSpecifics.AutomaticallyConnectOption + (WifiConfigurationSpecifics_IsPreferredOption)(0), // 2: sync_pb.WifiConfigurationSpecifics.IsPreferredOption + (WifiConfigurationSpecifics_MeteredOption)(0), // 3: sync_pb.WifiConfigurationSpecifics.MeteredOption + (WifiConfigurationSpecifics_DnsOption)(0), // 4: sync_pb.WifiConfigurationSpecifics.DnsOption + (WifiConfigurationSpecifics_ProxyConfiguration_ProxyOption)(0), // 5: sync_pb.WifiConfigurationSpecifics.ProxyConfiguration.ProxyOption + (*WifiConfigurationSpecifics)(nil), // 6: sync_pb.WifiConfigurationSpecifics + (*WifiConfigurationSpecifics_ProxyConfiguration)(nil), // 7: sync_pb.WifiConfigurationSpecifics.ProxyConfiguration + (*WifiConfigurationSpecifics_ProxyConfiguration_ManualProxyConfiguration)(nil), // 8: sync_pb.WifiConfigurationSpecifics.ProxyConfiguration.ManualProxyConfiguration } var file_wifi_configuration_specifics_proto_depIdxs = []int32{ 0, // 0: sync_pb.WifiConfigurationSpecifics.security_type:type_name -> sync_pb.WifiConfigurationSpecifics.SecurityType 1, // 1: sync_pb.WifiConfigurationSpecifics.automatically_connect:type_name -> sync_pb.WifiConfigurationSpecifics.AutomaticallyConnectOption 2, // 2: sync_pb.WifiConfigurationSpecifics.is_preferred:type_name -> sync_pb.WifiConfigurationSpecifics.IsPreferredOption 3, // 3: sync_pb.WifiConfigurationSpecifics.metered:type_name -> sync_pb.WifiConfigurationSpecifics.MeteredOption - 6, // 4: sync_pb.WifiConfigurationSpecifics.proxy_configuration:type_name -> sync_pb.WifiConfigurationSpecifics.ProxyConfiguration - 4, // 5: sync_pb.WifiConfigurationSpecifics.ProxyConfiguration.proxy_option:type_name -> sync_pb.WifiConfigurationSpecifics.ProxyConfiguration.ProxyOption - 6, // [6:6] is the sub-list for method output_type - 6, // [6:6] is the sub-list for method input_type - 6, // [6:6] is the sub-list for extension type_name - 6, // [6:6] is the sub-list for extension extendee - 0, // [0:6] is the sub-list for field type_name + 7, // 4: sync_pb.WifiConfigurationSpecifics.proxy_configuration:type_name -> sync_pb.WifiConfigurationSpecifics.ProxyConfiguration + 4, // 5: sync_pb.WifiConfigurationSpecifics.dns_option:type_name -> sync_pb.WifiConfigurationSpecifics.DnsOption + 5, // 6: sync_pb.WifiConfigurationSpecifics.ProxyConfiguration.proxy_option:type_name -> sync_pb.WifiConfigurationSpecifics.ProxyConfiguration.ProxyOption + 8, // 7: sync_pb.WifiConfigurationSpecifics.ProxyConfiguration.manual_proxy_configuration:type_name -> sync_pb.WifiConfigurationSpecifics.ProxyConfiguration.ManualProxyConfiguration + 8, // [8:8] is the sub-list for method output_type + 8, // [8:8] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name } func init() { file_wifi_configuration_specifics_proto_init() } @@ -686,7 +881,6 @@ func file_wifi_configuration_specifics_proto_init() { if File_wifi_configuration_specifics_proto != nil { return } - file_encryption_proto_init() if !protoimpl.UnsafeEnabled { file_wifi_configuration_specifics_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WifiConfigurationSpecifics); i { @@ -712,14 +906,26 @@ func file_wifi_configuration_specifics_proto_init() { return nil } } + file_wifi_configuration_specifics_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WifiConfigurationSpecifics_ProxyConfiguration_ManualProxyConfiguration); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_wifi_configuration_specifics_proto_rawDesc, - NumEnums: 5, - NumMessages: 2, + NumEnums: 6, + NumMessages: 3, NumExtensions: 0, NumServices: 0, }, diff --git a/schema/protobuf/sync_pb/wifi_configuration_specifics.proto b/schema/protobuf/sync_pb/wifi_configuration_specifics.proto index 70133a93..412f5baa 100644 --- a/schema/protobuf/sync_pb/wifi_configuration_specifics.proto +++ b/schema/protobuf/sync_pb/wifi_configuration_specifics.proto @@ -16,8 +16,6 @@ option optimize_for = LITE_RUNTIME; package sync_pb; -import "encryption.proto"; - message WifiConfigurationSpecifics { // SSID encoded to hex, letters should be upper case and 0x prefix should be // omitted. For example, ssid "network" would be provided as "6E6574776F726B". @@ -60,20 +58,35 @@ message WifiConfigurationSpecifics { // Uses Web Proxy Auto-Discovery Protocol (WPAD) to discover the proxy // settings using DHCP/DNS. PROXY_OPTION_AUTODISCOVERY = 3; - // User sets proxy_url, proxy_port, and whitelisted_domains manually. + // User sets details in manual_proxy_configuration. PROXY_OPTION_MANUAL = 4; } optional ProxyOption proxy_option = 1; - // Only set if PROXY_OPTION_AUTOMATIC or PROXY_OPTION_MANUAL. - optional string proxy_url = 2; - // Only set if PROXY_OPTION_MANUAL. - optional int32 proxy_port = 3; + // Only set if PROXY_OPTION_AUTOMATIC. + optional string autoconfiguration_url = 2; + message ManualProxyConfiguration { + optional string http_proxy_url = 1; + optional int32 http_proxy_port = 2; + optional string secure_http_proxy_url = 3; + optional int32 secure_http_proxy_port = 4; + optional string socks_host_url = 5; + optional int32 socks_host_port = 6; + repeated string whitelisted_domains = 7; + } // Only set if PROXY_OPTION_MANUAL. - repeated string whitelisted_domains = 4; + optional ManualProxyConfiguration manual_proxy_configuration = 3; } optional ProxyConfiguration proxy_configuration = 7; - // List of DNS servers to be used. Up to 4. + enum DnsOption { + DNS_OPTION_UNSPECIFIED = 0; + DNS_OPTION_DEFAULT_DHCP = 1; + DNS_OPTION_CUSTOM = 2; + } + optional DnsOption dns_option = 10; + // List of DNS servers to be used when set to DNS_OPTION_CUSTOM. Up to 4. repeated string custom_dns = 8; - // This is represented by the UNIX timestamp, ms since epoch. - optional int64 last_update_timestamp = 9; + // The last time this configuration was connected to before being synced. It + // will only be updated when the configuration is changed. This is represented + // with the UNIX timestamp, ms since epoch. + optional int64 last_connected_timestamp = 9; } From b53cd74d1fadc15438624c6406a485136ee72956 Mon Sep 17 00:00:00 2001 From: Jocelyn Liu Date: Tue, 1 Sep 2020 16:36:53 -0700 Subject: [PATCH 2/2] Remove OldParentID attribute since it is removed from upstream. Chromium client side change for removing old_parent_id field in sync.proto: https://source.chromium.org/chromium/chromium/src/+/32ff0a993dc3cab32c721d769497a9abc18a937e --- datastore/sync_entity.go | 6 ------ datastore/sync_entity_test.go | 5 ----- 2 files changed, 11 deletions(-) diff --git a/datastore/sync_entity.go b/datastore/sync_entity.go index 55cb3359..2b91651d 100644 --- a/datastore/sync_entity.go +++ b/datastore/sync_entity.go @@ -32,7 +32,6 @@ type SyncEntity struct { ClientID string ID string ParentID *string `dynamodbav:",omitempty"` - OldParentID *string `dynamodbav:",omitempty"` Version *int64 Mtime *int64 Ctime *int64 @@ -281,9 +280,6 @@ func (dynamo *Dynamo) UpdateSyncEntity(entity *SyncEntity) (bool, bool, error) { if entity.ParentID != nil { update = update.Set(expression.Name("ParentID"), expression.Value(entity.ParentID)) } - if entity.OldParentID != nil { - update = update.Set(expression.Name("OldParentID"), expression.Value(entity.OldParentID)) - } if entity.Name != nil { update = update.Set(expression.Name("Name"), expression.Value(entity.Name)) } @@ -570,7 +566,6 @@ func CreateDBSyncEntity(entity *sync_pb.SyncEntity, cacheGUID *string, clientID ClientID: clientID, ID: id, ParentID: entity.ParentIdString, - OldParentID: entity.OldParentId, Version: entity.Version, Ctime: cTime, Mtime: now, @@ -594,7 +589,6 @@ func CreatePBSyncEntity(entity *SyncEntity) (*sync_pb.SyncEntity, error) { pbEntity := &sync_pb.SyncEntity{ IdString: &entity.ID, ParentIdString: entity.ParentID, - OldParentId: entity.OldParentID, Version: entity.Version, Mtime: entity.Mtime, Ctime: entity.Ctime, diff --git a/datastore/sync_entity_test.go b/datastore/sync_entity_test.go index c70789f5..3713b41f 100644 --- a/datastore/sync_entity_test.go +++ b/datastore/sync_entity_test.go @@ -277,7 +277,6 @@ func (suite *SyncEntityTestSuite) TestUpdateSyncEntity_Basic() { updateEntity2.Folder = aws.Bool(false) updateEntity2.UniquePosition = []byte{5, 6} updateEntity2.ParentID = aws.String("parentID") - updateEntity2.OldParentID = aws.String("oldParentID") updateEntity2.Name = aws.String("name") updateEntity2.NonUniqueName = aws.String("non_unique_name") conflict, delete, err = suite.dynamo.UpdateSyncEntity(&updateEntity2) @@ -525,7 +524,6 @@ func (suite *SyncEntityTestSuite) TestCreateDBSyncEntity() { pbEntity := sync_pb.SyncEntity{ IdString: aws.String("client_item_id"), ParentIdString: aws.String("parent_id"), - OldParentId: aws.String("old_parent_id"), Version: aws.Int64(0), Name: aws.String("name"), NonUniqueName: aws.String("non_unique_name"), @@ -539,7 +537,6 @@ func (suite *SyncEntityTestSuite) TestCreateDBSyncEntity() { expectedDBEntity := datastore.SyncEntity{ ClientID: "client1", ParentID: pbEntity.ParentIdString, - OldParentID: pbEntity.OldParentId, Version: pbEntity.Version, Name: pbEntity.Name, NonUniqueName: pbEntity.NonUniqueName, @@ -637,7 +634,6 @@ func (suite *SyncEntityTestSuite) TestCreatePBSyncEntity() { ClientID: "client1", ID: "id1", ParentID: aws.String("parent_id"), - OldParentID: aws.String("old_parent_id"), Version: aws.Int64(10), Mtime: aws.Int64(12345678), Ctime: aws.Int64(12345678), @@ -657,7 +653,6 @@ func (suite *SyncEntityTestSuite) TestCreatePBSyncEntity() { expectedPBEntity := sync_pb.SyncEntity{ IdString: &dbEntity.ID, ParentIdString: dbEntity.ParentID, - OldParentId: dbEntity.OldParentID, Version: dbEntity.Version, Mtime: dbEntity.Mtime, Ctime: dbEntity.Ctime,