From dc85e6b867a5ebdfeaa293ddb423f00255ec921e Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 20 May 2024 08:16:16 -0700 Subject: [PATCH] chore(all): auto-regenerate .pb.go files (#1129) This is an auto-generated regeneration of the .pb.go files by cloud.google.com/go/internal/gapicgen. Once this PR is submitted, genbot will update the corresponding PR to depend on the newer version of go-genproto, and assign reviewers. Whilst this or any regen PR is open in go-genproto, genbot will not create any more regeneration PRs. If all regen PRs are closed, gapicgen will create a new set of regeneration PRs once per night. If you have been assigned to review this PR, please: - Ensure that CI is passing. If it's failing, it requires your manual attention. - Approve and submit this PR if you believe it's ready to ship. That will prompt genbot to assign reviewers to the google-cloud-go PR. There is no corresponding google-cloud-go PR. Changes: docs:publish Abuse Event logging proto for documentation PiperOrigin-RevId: 635453330 Source-Link: https://togithub.com/googleapis/googleapis/commit/0148e48ace3cf88a50a8c83b06aa7fca3a258762 feat: New PropertyMask field which allows partial commits, lookups, and query results PiperOrigin-RevId: 635449160 Source-Link: https://togithub.com/googleapis/googleapis/commit/dde0ec1f36cb8cbf9036dd0f1e8e5eda7882db4e feat: add fine-grained restore feat: add volume restore flexibility feat: add restore order feat: add strict-permissive mode feat: add gitops docs: update duration comment to include new validation from smart scheduling PiperOrigin-RevId: 635316968 Source-Link: https://togithub.com/googleapis/googleapis/commit/bcaed39fd1a805a6411a3992ea32dc1ba0ba7ec3 feat: Update dependency on the KMS client to ensure Autokey is supported PiperOrigin-RevId: 634910657 Source-Link: https://togithub.com/googleapis/googleapis/commit/75ae4b994287d25b2cbfc4ab13e72b07cddcb7b3 chore: regenerate API index Source-Link: https://togithub.com/googleapis/googleapis/commit/918f079e147eda753a605b67c2ee249c9281cd8a feat: add `generative_summary` and `area_summary` for place summaries feat: add `contextual_contents` field for contextual search results docs: `included_primary_types` supports type collections `(regions)` and `(cities)` Introduces Place summaries and Contextual Search Results features. PiperOrigin-RevId: 634816526 Source-Link: https://togithub.com/googleapis/googleapis/commit/badabdc603da74644f379ab4a5a35cb34eac1a27 feat: Add a new Service Level FLEX feat: Add Tiering Policy to Volume feat: Add backup chain bytes to BackupConfig in Volume feat: Add Location metadata support PiperOrigin-RevId: 634521970 Source-Link: https://togithub.com/googleapis/googleapis/commit/a07bf82eb48d79bc113620b3fb517a3ebe92989c chore(ruby): configure clients for google-security-public_ca-v1 PiperOrigin-RevId: 634494175 Source-Link: https://togithub.com/googleapis/googleapis/commit/3cba4738844f57da2272c4e23db3f5e9bf30bb81 chore: regenerate API index Source-Link: https://togithub.com/googleapis/googleapis/commit/25737a410a5809ee9896fdaffd9de6659abc2d24 feat: Add video metadata to files API feat: Update timeouts for generate content docs: Minor updates PiperOrigin-RevId: 634425922 Source-Link: https://togithub.com/googleapis/googleapis/commit/298a53b52918552dc1e72b767ff41f4207217b85 fix(deps): Update the Java code generator (gapic-generator-java) to 2.40.1 PiperOrigin-RevId: 634425381 Source-Link: https://togithub.com/googleapis/googleapis/commit/5bce34fe4d0bc4ea3ee8128aa54b9013366ef7bb chore: regenerate API index Source-Link: https://togithub.com/googleapis/googleapis/commit/5d78de2490a0bea821b7290cc6d5152b0d39735d feat: Add usage metadata to GenerateContentResponse feat: Add generate_content_request to CountTokensRequest feat: Update timeouts docs: Minor updates PiperOrigin-RevId: 634424772 Source-Link: https://togithub.com/googleapis/googleapis/commit/b546bed71076c358d4fed37ed704f6a8d2c239c3 feat: update Nodejs generator to send API versions in headers for GAPICs PiperOrigin-RevId: 634109303 Source-Link: https://togithub.com/googleapis/googleapis/commit/998ade8d5e34d18df5ce36ce2baefdd57f4da375 docs: add maximum page_size to ListNamespace API documentation docs: add maximum page_size to ListService API documentation docs: add maximum page_size to ListEndpoint API documentation PiperOrigin-RevId: 634102876 Source-Link: https://togithub.com/googleapis/googleapis/commit/2862f6f956a9ed2ce68bb6a752670289e5e81538 feat: add Skaffold verbose support to Execution Environment properties PiperOrigin-RevId: 634060715 Source-Link: https://togithub.com/googleapis/googleapis/commit/0d8db1a5197b56c3d4dd5dd058d3e0e041c84f90 chore: added publishing section to publicca service config PiperOrigin-RevId: 634009010 Source-Link: https://togithub.com/googleapis/googleapis/commit/61a066c96af685a0190603e0c1e09ac1adb25ef0 fix!: An existing field `create_time` is removed from message `.google.cloud.parallelstore.v1beta.TransferOperationMetadata` fix!: An existing field `end_time` is removed from message `.google.cloud.parallelstore.v1beta.TransferOperationMetadata` fix!: An existing field `source` is removed from message `.google.cloud.parallelstore.v1beta.TransferOperationMetadata` fix!: An existing field `destination` is removed from message `.google.cloud.parallelstore.v1beta.TransferOperationMetadata` feat: A new field `create_time` is added to message `.google.cloud.parallelstore.v1beta.ImportDataMetadata` feat: A new field `end_time` is added to message `.google.cloud.parallelstore.v1beta.ImportDataMetadata` feat: A new field `target` is added to message `.google.cloud.parallelstore.v1beta.ImportDataMetadata` feat: A new field `verb` is added to message `.google.cloud.parallelstore.v1beta.ImportDataMetadata` feat: A new field `status_message` is added to message `.google.cloud.parallelstore.v1beta.ImportDataMetadata` feat: A new field `requested_cancellation` is added to message `.google.cloud.parallelstore.v1beta.ImportDataMetadata` feat: A new field `api_version` is added to message `.google.cloud.parallelstore.v1beta.ImportDataMetadata` feat: A new field `create_time` is added to message `.google.cloud.parallelstore.v1beta.ExportDataMetadata` feat: A new field `end_time` is added to message `.google.cloud.parallelstore.v1beta.ExportDataMetadata` feat: A new field `target` is added to message `.google.cloud.parallelstore.v1beta.ExportDataMetadata` feat: A new field `verb` is added to message `.google.cloud.parallelstore.v1beta.ExportDataMetadata` feat: A new field `status_message` is added to message `.google.cloud.parallelstore.v1beta.ExportDataMetadata` feat: A new field `requested_cancellation` is added to message `.google.cloud.parallelstore.v1beta.ExportDataMetadata` feat: A new field `api_version` is added to message `.google.cloud.parallelstore.v1beta.ExportDataMetadata` feat: A new field `source_parallelstore` is added to message `.google.cloud.parallelstore.v1beta.TransferOperationMetadata` feat: A new field `source_gcs_bucket` is added to message `.google.cloud.parallelstore.v1beta.TransferOperationMetadata` feat: A new field `destination_gcs_bucket` is added to message `.google.cloud.parallelstore.v1beta.TransferOperationMetadata` feat: A new field `destination_parallelstore` is added to message `.google.cloud.parallelstore.v1beta.TransferOperationMetadata` docs: A comment for field `counters` in message `.google.cloud.parallelstore.v1beta.TransferOperationMetadata` is changed docs: A comment for field `transfer_type` in message `.google.cloud.parallelstore.v1beta.TransferOperationMetadata` is changed PiperOrigin-RevId: 634007169 Source-Link: https://togithub.com/googleapis/googleapis/commit/07dfcdab40b79a515b8dbd4d8f90446d89d6eab2 feat: promote to GA PiperOrigin-RevId: 633952122 Source-Link: https://togithub.com/googleapis/googleapis/commit/3b84c01b5b0b38ef6bc1bf82ce43901be8c927e1 docs: clarify the unavailability of some features chore: field behavior annotations in processor.proto PiperOrigin-RevId: 633834640 Source-Link: https://togithub.com/googleapis/googleapis/commit/ca6e6eb9631c42cd2eb51358af4afa7883d4b69b docs: mark TerminalPointId as deprecated PiperOrigin-RevId: 633635378 Source-Link: https://togithub.com/googleapis/googleapis/commit/584e0dee558b4b19bdecf1f2bdd4ec151190e5a4 feat: Add QueryCancellationAction message in executor protos PiperOrigin-RevId: 633451546 Source-Link: https://togithub.com/googleapis/googleapis/commit/e3a34df5b36e38a1ee0b1544ed4ae3b99cdf0f91 docs: Refine description for field `task_execution` PiperOrigin-RevId: 633367898 Source-Link: https://togithub.com/googleapis/googleapis/commit/7e73d481e7a0b3549b03eca2b3094d35f02dfb38 chore: regenerate API index Source-Link: https://togithub.com/googleapis/googleapis/commit/bd8f473acfae49b475de428ee50c4d672c5e9e5b feat: Introduce google.api.api_version option to generated clients PiperOrigin-RevId: 633335276 Source-Link: https://togithub.com/googleapis/googleapis/commit/5c536b67fbe1a0f519d81cd5bd4539d0da0d6e17 docs: update Chat API comments PiperOrigin-RevId: 633320855 Source-Link: https://togithub.com/googleapis/googleapis/commit/6cac6e4f2b8f7c30a50cdd796e635e72426f478b docs: Refine description for field `task_execution` PiperOrigin-RevId: 633294486 Source-Link: https://togithub.com/googleapis/googleapis/commit/d9fe6426428e5a3c8825c4ab81f78f57c561c248 chore(python): Update bazel rules for google/iam/admin/v1 PiperOrigin-RevId: 633209036 Source-Link: https://togithub.com/googleapis/googleapis/commit/9c2348d2aa60700c15899c93e3b9615ab6ce1fcf chore: regenerate API index Source-Link: https://togithub.com/googleapis/googleapis/commit/f7df662a24c56ecaab79cb7d808fed4d2bb4981d feat: option to ignore_errors while deleting Azure clusters / nodepools PiperOrigin-RevId: 632771413 Source-Link: https://togithub.com/googleapis/googleapis/commit/6d798dc56206261c2f65e353f889ce9fb72249cd feat: Added the v1beta1 version of the GenAI Tuning Service PiperOrigin-RevId: 632610890 Source-Link: https://togithub.com/googleapis/googleapis/commit/e5eef0f912fbee30214c1ea9cdcfb19c11f619f9 docs: remove comment about deleted SearchTasks method PiperOrigin-RevId: 632239342 Source-Link: https://togithub.com/googleapis/googleapis/commit/155f256ebe0bc6586d7df23d10472444340da320 --- googleapis/datastore/v1/datastore.pb.go | 783 ++++++++++++++---------- regen.txt | 2 +- 2 files changed, 460 insertions(+), 325 deletions(-) diff --git a/googleapis/datastore/v1/datastore.pb.go b/googleapis/datastore/v1/datastore.pb.go index 36bed5a8b..8381c9695 100644 --- a/googleapis/datastore/v1/datastore.pb.go +++ b/googleapis/datastore/v1/datastore.pb.go @@ -146,7 +146,7 @@ func (x ReadOptions_ReadConsistency) Number() protoreflect.EnumNumber { // Deprecated: Use ReadOptions_ReadConsistency.Descriptor instead. func (ReadOptions_ReadConsistency) EnumDescriptor() ([]byte, []int) { - return file_google_datastore_v1_datastore_proto_rawDescGZIP(), []int{18, 0} + return file_google_datastore_v1_datastore_proto_rawDescGZIP(), []int{19, 0} } // The request for [Datastore.Lookup][google.datastore.v1.Datastore.Lookup]. @@ -166,6 +166,13 @@ type LookupRequest struct { ReadOptions *ReadOptions `protobuf:"bytes,1,opt,name=read_options,json=readOptions,proto3" json:"read_options,omitempty"` // Required. Keys of entities to look up. Keys []*Key `protobuf:"bytes,3,rep,name=keys,proto3" json:"keys,omitempty"` + // The properties to return. Defaults to returning all properties. + // + // If this field is set and an entity has a property not referenced in the + // mask, it will be absent from [LookupResponse.found.entity.properties][]. + // + // The entity's key is always returned. + PropertyMask *PropertyMask `protobuf:"bytes,5,opt,name=property_mask,json=propertyMask,proto3" json:"property_mask,omitempty"` } func (x *LookupRequest) Reset() { @@ -228,6 +235,13 @@ func (x *LookupRequest) GetKeys() []*Key { return nil } +func (x *LookupRequest) GetPropertyMask() *PropertyMask { + if x != nil { + return x.PropertyMask + } + return nil +} + // The response for [Datastore.Lookup][google.datastore.v1.Datastore.Lookup]. type LookupResponse struct { state protoimpl.MessageState @@ -352,6 +366,12 @@ type RunQueryRequest struct { // *RunQueryRequest_Query // *RunQueryRequest_GqlQuery QueryType isRunQueryRequest_QueryType `protobuf_oneof:"query_type"` + // The properties to return. + // This field must not be set for a projection query. + // + // See + // [LookupRequest.property_mask][google.datastore.v1.LookupRequest.property_mask]. + PropertyMask *PropertyMask `protobuf:"bytes,10,opt,name=property_mask,json=propertyMask,proto3" json:"property_mask,omitempty"` // Optional. Explain options for the query. If set, additional query // statistics will be returned. If not, only query results will be returned. ExplainOptions *ExplainOptions `protobuf:"bytes,12,opt,name=explain_options,json=explainOptions,proto3" json:"explain_options,omitempty"` @@ -438,6 +458,13 @@ func (x *RunQueryRequest) GetGqlQuery() *GqlQuery { return nil } +func (x *RunQueryRequest) GetPropertyMask() *PropertyMask { + if x != nil { + return x.PropertyMask + } + return nil +} + func (x *RunQueryRequest) GetExplainOptions() *ExplainOptions { if x != nil { return x.ExplainOptions @@ -1482,6 +1509,15 @@ type Mutation struct { // *Mutation_BaseVersion // *Mutation_UpdateTime ConflictDetectionStrategy isMutation_ConflictDetectionStrategy `protobuf_oneof:"conflict_detection_strategy"` + // The properties to write in this mutation. + // None of the properties in the mask may have a reserved name, except for + // `__key__`. + // This field is ignored for `delete`. + // + // If the entity already exists, only properties referenced in the mask are + // updated, others are left untouched. + // Properties referenced in the mask but not in the entity are deleted. + PropertyMask *PropertyMask `protobuf:"bytes,9,opt,name=property_mask,json=propertyMask,proto3" json:"property_mask,omitempty"` } func (x *Mutation) Reset() { @@ -1572,6 +1608,13 @@ func (x *Mutation) GetUpdateTime() *timestamppb.Timestamp { return nil } +func (x *Mutation) GetPropertyMask() *PropertyMask { + if x != nil { + return x.PropertyMask + } + return nil +} + type isMutation_Operation interface { isMutation_Operation() } @@ -1724,6 +1767,66 @@ func (x *MutationResult) GetConflictDetected() bool { return false } +// The set of arbitrarily nested property paths used to restrict an operation to +// only a subset of properties in an entity. +type PropertyMask struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The paths to the properties covered by this mask. + // + // A path is a list of property names separated by dots (`.`), for example + // `foo.bar` means the property `bar` inside the entity property `foo` inside + // the entity associated with this path. + // + // If a property name contains a dot `.` or a backslash `\`, then that + // name must be escaped. + // + // A path must not be empty, and may not reference a value inside an + // [array value][google.datastore.v1.Value.array_value]. + Paths []string `protobuf:"bytes,1,rep,name=paths,proto3" json:"paths,omitempty"` +} + +func (x *PropertyMask) Reset() { + *x = PropertyMask{} + if protoimpl.UnsafeEnabled { + mi := &file_google_datastore_v1_datastore_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PropertyMask) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PropertyMask) ProtoMessage() {} + +func (x *PropertyMask) ProtoReflect() protoreflect.Message { + mi := &file_google_datastore_v1_datastore_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PropertyMask.ProtoReflect.Descriptor instead. +func (*PropertyMask) Descriptor() ([]byte, []int) { + return file_google_datastore_v1_datastore_proto_rawDescGZIP(), []int{18} +} + +func (x *PropertyMask) GetPaths() []string { + if x != nil { + return x.Paths + } + return nil +} + // The options shared by read requests. type ReadOptions struct { state protoimpl.MessageState @@ -1753,7 +1856,7 @@ type ReadOptions struct { func (x *ReadOptions) Reset() { *x = ReadOptions{} if protoimpl.UnsafeEnabled { - mi := &file_google_datastore_v1_datastore_proto_msgTypes[18] + mi := &file_google_datastore_v1_datastore_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1766,7 +1869,7 @@ func (x *ReadOptions) String() string { func (*ReadOptions) ProtoMessage() {} func (x *ReadOptions) ProtoReflect() protoreflect.Message { - mi := &file_google_datastore_v1_datastore_proto_msgTypes[18] + mi := &file_google_datastore_v1_datastore_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1779,7 +1882,7 @@ func (x *ReadOptions) ProtoReflect() protoreflect.Message { // Deprecated: Use ReadOptions.ProtoReflect.Descriptor instead. func (*ReadOptions) Descriptor() ([]byte, []int) { - return file_google_datastore_v1_datastore_proto_rawDescGZIP(), []int{18} + return file_google_datastore_v1_datastore_proto_rawDescGZIP(), []int{19} } func (m *ReadOptions) GetConsistencyType() isReadOptions_ConsistencyType { @@ -1887,7 +1990,7 @@ type TransactionOptions struct { func (x *TransactionOptions) Reset() { *x = TransactionOptions{} if protoimpl.UnsafeEnabled { - mi := &file_google_datastore_v1_datastore_proto_msgTypes[19] + mi := &file_google_datastore_v1_datastore_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1900,7 +2003,7 @@ func (x *TransactionOptions) String() string { func (*TransactionOptions) ProtoMessage() {} func (x *TransactionOptions) ProtoReflect() protoreflect.Message { - mi := &file_google_datastore_v1_datastore_proto_msgTypes[19] + mi := &file_google_datastore_v1_datastore_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1913,7 +2016,7 @@ func (x *TransactionOptions) ProtoReflect() protoreflect.Message { // Deprecated: Use TransactionOptions.ProtoReflect.Descriptor instead. func (*TransactionOptions) Descriptor() ([]byte, []int) { - return file_google_datastore_v1_datastore_proto_rawDescGZIP(), []int{19} + return file_google_datastore_v1_datastore_proto_rawDescGZIP(), []int{20} } func (m *TransactionOptions) GetMode() isTransactionOptions_Mode { @@ -1968,7 +2071,7 @@ type TransactionOptions_ReadWrite struct { func (x *TransactionOptions_ReadWrite) Reset() { *x = TransactionOptions_ReadWrite{} if protoimpl.UnsafeEnabled { - mi := &file_google_datastore_v1_datastore_proto_msgTypes[20] + mi := &file_google_datastore_v1_datastore_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1981,7 +2084,7 @@ func (x *TransactionOptions_ReadWrite) String() string { func (*TransactionOptions_ReadWrite) ProtoMessage() {} func (x *TransactionOptions_ReadWrite) ProtoReflect() protoreflect.Message { - mi := &file_google_datastore_v1_datastore_proto_msgTypes[20] + mi := &file_google_datastore_v1_datastore_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1994,7 +2097,7 @@ func (x *TransactionOptions_ReadWrite) ProtoReflect() protoreflect.Message { // Deprecated: Use TransactionOptions_ReadWrite.ProtoReflect.Descriptor instead. func (*TransactionOptions_ReadWrite) Descriptor() ([]byte, []int) { - return file_google_datastore_v1_datastore_proto_rawDescGZIP(), []int{19, 0} + return file_google_datastore_v1_datastore_proto_rawDescGZIP(), []int{20, 0} } func (x *TransactionOptions_ReadWrite) GetPreviousTransaction() []byte { @@ -2021,7 +2124,7 @@ type TransactionOptions_ReadOnly struct { func (x *TransactionOptions_ReadOnly) Reset() { *x = TransactionOptions_ReadOnly{} if protoimpl.UnsafeEnabled { - mi := &file_google_datastore_v1_datastore_proto_msgTypes[21] + mi := &file_google_datastore_v1_datastore_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2034,7 +2137,7 @@ func (x *TransactionOptions_ReadOnly) String() string { func (*TransactionOptions_ReadOnly) ProtoMessage() {} func (x *TransactionOptions_ReadOnly) ProtoReflect() protoreflect.Message { - mi := &file_google_datastore_v1_datastore_proto_msgTypes[21] + mi := &file_google_datastore_v1_datastore_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2047,7 +2150,7 @@ func (x *TransactionOptions_ReadOnly) ProtoReflect() protoreflect.Message { // Deprecated: Use TransactionOptions_ReadOnly.ProtoReflect.Descriptor instead. func (*TransactionOptions_ReadOnly) Descriptor() ([]byte, []int) { - return file_google_datastore_v1_datastore_proto_rawDescGZIP(), []int{19, 1} + return file_google_datastore_v1_datastore_proto_rawDescGZIP(), []int{20, 1} } func (x *TransactionOptions_ReadOnly) GetReadTime() *timestamppb.Timestamp { @@ -2082,7 +2185,7 @@ var file_google_datastore_v1_datastore_proto_rawDesc = []byte{ 0x76, 0x31, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcc, 0x01, 0x0a, 0x0d, 0x4c, 0x6f, 0x6f, 0x6b, + 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x94, 0x02, 0x0a, 0x0d, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, @@ -2095,46 +2198,55 @@ var file_google_datastore_v1_datastore_proto_rawDesc = []byte{ 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0x97, 0x02, 0x0a, 0x0e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, - 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x05, 0x66, 0x6f, 0x75, - 0x6e, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x05, 0x66, 0x6f, 0x75, - 0x6e, 0x64, 0x12, 0x3b, 0x0a, 0x07, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12, - 0x34, 0x0a, 0x08, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, - 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x08, 0x64, 0x65, 0x66, - 0x65, 0x72, 0x72, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, - 0x22, 0xb3, 0x03, 0x0a, 0x0f, 0x52, 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, - 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, - 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x49, 0x64, 0x12, 0x43, 0x0a, 0x0c, 0x70, 0x61, 0x72, - 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x43, - 0x0a, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x32, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, - 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x3c, 0x0a, 0x09, 0x67, 0x71, 0x6c, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, + 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x46, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x4d, 0x61, 0x73, 0x6b, + 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x97, + 0x02, 0x0a, 0x0e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x37, 0x0a, 0x05, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x52, 0x05, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x3b, 0x0a, 0x07, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x34, 0x0a, 0x08, 0x64, 0x65, 0x66, 0x65, 0x72, + 0x72, 0x65, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4b, 0x65, 0x79, 0x52, 0x08, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x12, 0x20, 0x0a, + 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, + 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xfb, 0x03, 0x0a, 0x0f, 0x52, 0x75, 0x6e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0a, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, + 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x49, + 0x64, 0x12, 0x43, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, + 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x43, 0x0a, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, + 0x72, 0x65, 0x61, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x32, 0x0a, 0x05, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x71, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x08, 0x67, 0x71, 0x6c, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x51, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, + 0x3c, 0x0a, 0x09, 0x67, 0x71, 0x6c, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x71, 0x6c, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x48, 0x00, 0x52, 0x08, 0x67, 0x71, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x46, 0x0a, + 0x0d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x79, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x79, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x51, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x4f, 0x70, 0x74, 0x69, @@ -2290,7 +2402,7 @@ var file_google_datastore_v1_datastore_proto_rawDesc = []byte{ 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0x14, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf3, 0x02, 0x0a, + 0x65, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xbb, 0x03, 0x0a, 0x08, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x06, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, @@ -2311,193 +2423,200 @@ var file_google_datastore_v1_datastore_proto_rawDesc = []byte{ 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x01, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x42, 0x1d, 0x0a, 0x1b, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x5f, - 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, - 0x67, 0x79, 0x22, 0xfd, 0x01, 0x0a, 0x0e, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2a, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, - 0x79, 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, 0x3b, 0x0a, 0x0b, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, - 0x74, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, - 0x65, 0x64, 0x22, 0x82, 0x03, 0x0a, 0x0b, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x5d, 0x0a, 0x10, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, - 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, - 0x65, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x48, 0x00, - 0x52, 0x0f, 0x72, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, - 0x79, 0x12, 0x22, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x0f, 0x6e, 0x65, 0x77, 0x5f, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0e, 0x6e, 0x65, 0x77, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x61, - 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, - 0x54, 0x69, 0x6d, 0x65, 0x22, 0x4d, 0x0a, 0x0f, 0x52, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x73, - 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x20, 0x0a, 0x1c, 0x52, 0x45, 0x41, 0x44, 0x5f, - 0x43, 0x4f, 0x4e, 0x53, 0x49, 0x53, 0x54, 0x45, 0x4e, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, - 0x4f, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x55, 0x41, - 0x4c, 0x10, 0x02, 0x42, 0x12, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, - 0x63, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xc6, 0x02, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x52, - 0x0a, 0x0a, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x65, 0x61, 0x64, - 0x57, 0x72, 0x69, 0x74, 0x65, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x61, 0x64, 0x57, 0x72, 0x69, - 0x74, 0x65, 0x12, 0x4f, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, - 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4f, - 0x6e, 0x6c, 0x79, 0x1a, 0x3e, 0x0a, 0x09, 0x52, 0x65, 0x61, 0x64, 0x57, 0x72, 0x69, 0x74, 0x65, - 0x12, 0x31, 0x0a, 0x14, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x13, - 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x1a, 0x43, 0x0a, 0x08, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x12, - 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, - 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, - 0x32, 0xe1, 0x0d, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0xc0, - 0x01, 0x0a, 0x06, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x12, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, + 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x6d, 0xda, 0x41, 0x1c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, - 0x64, 0x2c, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x6b, - 0x65, 0x79, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x22, 0x20, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x3a, 0x01, 0x2a, 0x8a, 0xd3, - 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x0c, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x69, 0x64, 0x12, 0x0d, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, - 0x64, 0x12, 0xa9, 0x01, 0x0a, 0x08, 0x52, 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x24, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x50, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x27, 0x22, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x72, - 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x3a, 0x01, 0x2a, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x1d, - 0x12, 0x0c, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x0d, - 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x12, 0xd5, 0x01, - 0x0a, 0x13, 0x52, 0x75, 0x6e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x41, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6e, - 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, - 0x22, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x72, 0x75, 0x6e, 0x41, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x3a, - 0x01, 0x2a, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x0c, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x0d, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, - 0x73, 0x65, 0x5f, 0x69, 0x64, 0x12, 0xd6, 0x01, 0x0a, 0x10, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, + 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x4d, 0x61, 0x73, 0x6b, + 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x0b, + 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x1d, 0x0a, 0x1b, 0x63, + 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x22, 0xfd, 0x01, 0x0a, 0x0e, 0x4d, + 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2a, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, - 0x65, 0x67, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0xda, 0x41, 0x0a, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x22, 0x2a, 0x2f, 0x76, - 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x01, 0x2a, 0x8a, 0xd3, 0xe4, 0x93, 0x02, - 0x1d, 0x12, 0x0c, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x12, - 0x0d, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x12, 0xe6, - 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x92, 0x01, 0xda, 0x41, 0x25, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x69, 0x64, 0x2c, 0x6d, 0x6f, 0x64, 0x65, 0x2c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x2c, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xda, 0x41, 0x19, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x6d, 0x6f, 0x64, 0x65, 0x2c, - 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x22, - 0x20, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x3a, 0x01, 0x2a, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x0c, 0x0a, 0x0a, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x0d, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, - 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x12, 0xc2, 0x01, 0x0a, 0x08, 0x52, 0x6f, 0x6c, 0x6c, - 0x62, 0x61, 0x63, 0x6b, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x6c, 0x62, - 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, + 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 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, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2b, 0x0a, + 0x11, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, + 0x63, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x24, 0x0a, 0x0c, 0x50, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, + 0x74, 0x68, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, + 0x22, 0x82, 0x03, 0x0a, 0x0b, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x5d, 0x0a, 0x10, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, + 0x65, 0x6e, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x69, 0xda, 0x41, 0x16, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, - 0x2c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x27, 0x22, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x72, 0x6f, - 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x01, 0x2a, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, - 0x0c, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x0d, 0x0a, - 0x0b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x12, 0xc7, 0x01, 0x0a, - 0x0b, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x49, 0x64, 0x73, 0x12, 0x27, 0x2e, 0x67, + 0x2e, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x65, 0x61, + 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x48, 0x00, 0x52, 0x0f, + 0x72, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x12, + 0x22, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x0f, 0x6e, 0x65, 0x77, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x49, 0x64, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x65, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x65, 0xda, 0x41, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x6b, - 0x65, 0x79, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x22, 0x25, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x49, 0x64, 0x73, - 0x3a, 0x01, 0x2a, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x0c, 0x0a, 0x0a, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x0d, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x62, - 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x12, 0xc3, 0x01, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x49, 0x64, 0x73, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x49, 0x64, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0xda, 0x41, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x6b, 0x65, 0x79, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, - 0x22, 0x24, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x72, 0x65, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x49, 0x64, 0x73, 0x3a, 0x01, 0x2a, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, + 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0e, 0x6e, 0x65, 0x77, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, + 0x6d, 0x65, 0x22, 0x4d, 0x0a, 0x0f, 0x52, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, + 0x74, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x20, 0x0a, 0x1c, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x43, 0x4f, + 0x4e, 0x53, 0x49, 0x53, 0x54, 0x45, 0x4e, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x4f, 0x4e, + 0x47, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x55, 0x41, 0x4c, 0x10, + 0x02, 0x42, 0x12, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xc6, 0x02, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x52, 0x0a, 0x0a, + 0x72, 0x65, 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x57, 0x72, + 0x69, 0x74, 0x65, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x61, 0x64, 0x57, 0x72, 0x69, 0x74, 0x65, + 0x12, 0x4f, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x65, 0x61, + 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, + 0x79, 0x1a, 0x3e, 0x0a, 0x09, 0x52, 0x65, 0x61, 0x64, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x31, + 0x0a, 0x14, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x13, 0x70, 0x72, + 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x1a, 0x43, 0x0a, 0x08, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x37, 0x0a, + 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x72, 0x65, + 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x32, 0xe1, + 0x0d, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0xc0, 0x01, 0x0a, + 0x06, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x12, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, + 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x6d, 0xda, 0x41, 0x1c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, + 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x6b, 0x65, 0x79, + 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x22, 0x20, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, + 0x64, 0x7d, 0x3a, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x3a, 0x01, 0x2a, 0x8a, 0xd3, 0xe4, 0x93, + 0x02, 0x1d, 0x12, 0x0c, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, + 0x12, 0x0d, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x12, + 0xa9, 0x01, 0x0a, 0x08, 0x52, 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x24, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x50, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x27, 0x22, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x72, 0x75, 0x6e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x3a, 0x01, 0x2a, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x0c, + 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x0d, 0x0a, 0x0b, + 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x12, 0xd5, 0x01, 0x0a, 0x13, + 0x52, 0x75, 0x6e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x41, 0x67, 0x67, + 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x41, 0x67, + 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x22, 0x2d, + 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x72, 0x75, 0x6e, 0x41, 0x67, 0x67, + 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x3a, 0x01, 0x2a, + 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x0c, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x69, 0x64, 0x12, 0x0d, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, + 0x5f, 0x69, 0x64, 0x12, 0xd6, 0x01, 0x0a, 0x10, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, + 0x65, 0x67, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x65, 0x67, + 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0xda, 0x41, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x22, 0x2a, 0x2f, 0x76, 0x31, 0x2f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x01, 0x2a, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x0c, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x0d, 0x0a, - 0x0b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x1a, 0x76, 0xca, 0x41, - 0x18, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x58, 0x68, 0x74, 0x74, 0x70, - 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, - 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, - 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, - 0x74, 0x6f, 0x72, 0x65, 0x42, 0xc0, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, + 0x0b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x12, 0xe6, 0x01, 0x0a, + 0x06, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x92, 0x01, 0xda, 0x41, 0x25, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, + 0x2c, 0x6d, 0x6f, 0x64, 0x65, 0x2c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x2c, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xda, 0x41, 0x19, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x6d, 0x6f, 0x64, 0x65, 0x2c, 0x6d, 0x75, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x22, 0x20, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x3a, + 0x01, 0x2a, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x0c, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x0d, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, + 0x73, 0x65, 0x5f, 0x69, 0x64, 0x12, 0xc2, 0x01, 0x0a, 0x08, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, + 0x63, 0x6b, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, + 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x69, 0xda, 0x41, 0x16, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, + 0x22, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x72, 0x6f, 0x6c, 0x6c, + 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x01, 0x2a, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x0c, 0x0a, + 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x0d, 0x0a, 0x0b, 0x64, + 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x12, 0xc7, 0x01, 0x0a, 0x0b, 0x41, + 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x49, 0x64, 0x73, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, - 0x42, 0x0e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, - 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, - 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0xaa, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x19, 0x47, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x44, 0x61, 0x74, 0x61, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1c, 0x47, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, - 0x6f, 0x72, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x65, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0xda, + 0x41, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x6b, 0x65, 0x79, + 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x22, 0x25, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, + 0x64, 0x7d, 0x3a, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x49, 0x64, 0x73, 0x3a, 0x01, + 0x2a, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x0c, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x0d, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, + 0x65, 0x5f, 0x69, 0x64, 0x12, 0xc3, 0x01, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x49, 0x64, 0x73, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0xda, 0x41, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x69, 0x64, 0x2c, 0x6b, 0x65, 0x79, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x22, 0x24, + 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x49, 0x64, 0x73, 0x3a, 0x01, 0x2a, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x0c, 0x0a, + 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x0d, 0x0a, 0x0b, 0x64, + 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x1a, 0x76, 0xca, 0x41, 0x18, 0x64, + 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x58, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, + 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, + 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x42, 0xc0, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x0e, + 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, + 0x5a, 0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, + 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0xaa, 0x02, + 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x44, 0x61, + 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x19, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1c, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, + 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2513,7 +2632,7 @@ func file_google_datastore_v1_datastore_proto_rawDescGZIP() []byte { } var file_google_datastore_v1_datastore_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_google_datastore_v1_datastore_proto_msgTypes = make([]protoimpl.MessageInfo, 22) +var file_google_datastore_v1_datastore_proto_msgTypes = make([]protoimpl.MessageInfo, 23) var file_google_datastore_v1_datastore_proto_goTypes = []interface{}{ (CommitRequest_Mode)(0), // 0: google.datastore.v1.CommitRequest.Mode (ReadOptions_ReadConsistency)(0), // 1: google.datastore.v1.ReadOptions.ReadConsistency @@ -2535,90 +2654,94 @@ var file_google_datastore_v1_datastore_proto_goTypes = []interface{}{ (*ReserveIdsResponse)(nil), // 17: google.datastore.v1.ReserveIdsResponse (*Mutation)(nil), // 18: google.datastore.v1.Mutation (*MutationResult)(nil), // 19: google.datastore.v1.MutationResult - (*ReadOptions)(nil), // 20: google.datastore.v1.ReadOptions - (*TransactionOptions)(nil), // 21: google.datastore.v1.TransactionOptions - (*TransactionOptions_ReadWrite)(nil), // 22: google.datastore.v1.TransactionOptions.ReadWrite - (*TransactionOptions_ReadOnly)(nil), // 23: google.datastore.v1.TransactionOptions.ReadOnly - (*Key)(nil), // 24: google.datastore.v1.Key - (*EntityResult)(nil), // 25: google.datastore.v1.EntityResult - (*timestamppb.Timestamp)(nil), // 26: google.protobuf.Timestamp - (*PartitionId)(nil), // 27: google.datastore.v1.PartitionId - (*Query)(nil), // 28: google.datastore.v1.Query - (*GqlQuery)(nil), // 29: google.datastore.v1.GqlQuery - (*ExplainOptions)(nil), // 30: google.datastore.v1.ExplainOptions - (*QueryResultBatch)(nil), // 31: google.datastore.v1.QueryResultBatch - (*ExplainMetrics)(nil), // 32: google.datastore.v1.ExplainMetrics - (*AggregationQuery)(nil), // 33: google.datastore.v1.AggregationQuery - (*AggregationResultBatch)(nil), // 34: google.datastore.v1.AggregationResultBatch - (*Entity)(nil), // 35: google.datastore.v1.Entity + (*PropertyMask)(nil), // 20: google.datastore.v1.PropertyMask + (*ReadOptions)(nil), // 21: google.datastore.v1.ReadOptions + (*TransactionOptions)(nil), // 22: google.datastore.v1.TransactionOptions + (*TransactionOptions_ReadWrite)(nil), // 23: google.datastore.v1.TransactionOptions.ReadWrite + (*TransactionOptions_ReadOnly)(nil), // 24: google.datastore.v1.TransactionOptions.ReadOnly + (*Key)(nil), // 25: google.datastore.v1.Key + (*EntityResult)(nil), // 26: google.datastore.v1.EntityResult + (*timestamppb.Timestamp)(nil), // 27: google.protobuf.Timestamp + (*PartitionId)(nil), // 28: google.datastore.v1.PartitionId + (*Query)(nil), // 29: google.datastore.v1.Query + (*GqlQuery)(nil), // 30: google.datastore.v1.GqlQuery + (*ExplainOptions)(nil), // 31: google.datastore.v1.ExplainOptions + (*QueryResultBatch)(nil), // 32: google.datastore.v1.QueryResultBatch + (*ExplainMetrics)(nil), // 33: google.datastore.v1.ExplainMetrics + (*AggregationQuery)(nil), // 34: google.datastore.v1.AggregationQuery + (*AggregationResultBatch)(nil), // 35: google.datastore.v1.AggregationResultBatch + (*Entity)(nil), // 36: google.datastore.v1.Entity } var file_google_datastore_v1_datastore_proto_depIdxs = []int32{ - 20, // 0: google.datastore.v1.LookupRequest.read_options:type_name -> google.datastore.v1.ReadOptions - 24, // 1: google.datastore.v1.LookupRequest.keys:type_name -> google.datastore.v1.Key - 25, // 2: google.datastore.v1.LookupResponse.found:type_name -> google.datastore.v1.EntityResult - 25, // 3: google.datastore.v1.LookupResponse.missing:type_name -> google.datastore.v1.EntityResult - 24, // 4: google.datastore.v1.LookupResponse.deferred:type_name -> google.datastore.v1.Key - 26, // 5: google.datastore.v1.LookupResponse.read_time:type_name -> google.protobuf.Timestamp - 27, // 6: google.datastore.v1.RunQueryRequest.partition_id:type_name -> google.datastore.v1.PartitionId - 20, // 7: google.datastore.v1.RunQueryRequest.read_options:type_name -> google.datastore.v1.ReadOptions - 28, // 8: google.datastore.v1.RunQueryRequest.query:type_name -> google.datastore.v1.Query - 29, // 9: google.datastore.v1.RunQueryRequest.gql_query:type_name -> google.datastore.v1.GqlQuery - 30, // 10: google.datastore.v1.RunQueryRequest.explain_options:type_name -> google.datastore.v1.ExplainOptions - 31, // 11: google.datastore.v1.RunQueryResponse.batch:type_name -> google.datastore.v1.QueryResultBatch - 28, // 12: google.datastore.v1.RunQueryResponse.query:type_name -> google.datastore.v1.Query - 32, // 13: google.datastore.v1.RunQueryResponse.explain_metrics:type_name -> google.datastore.v1.ExplainMetrics - 27, // 14: google.datastore.v1.RunAggregationQueryRequest.partition_id:type_name -> google.datastore.v1.PartitionId - 20, // 15: google.datastore.v1.RunAggregationQueryRequest.read_options:type_name -> google.datastore.v1.ReadOptions - 33, // 16: google.datastore.v1.RunAggregationQueryRequest.aggregation_query:type_name -> google.datastore.v1.AggregationQuery - 29, // 17: google.datastore.v1.RunAggregationQueryRequest.gql_query:type_name -> google.datastore.v1.GqlQuery - 30, // 18: google.datastore.v1.RunAggregationQueryRequest.explain_options:type_name -> google.datastore.v1.ExplainOptions - 34, // 19: google.datastore.v1.RunAggregationQueryResponse.batch:type_name -> google.datastore.v1.AggregationResultBatch - 33, // 20: google.datastore.v1.RunAggregationQueryResponse.query:type_name -> google.datastore.v1.AggregationQuery - 32, // 21: google.datastore.v1.RunAggregationQueryResponse.explain_metrics:type_name -> google.datastore.v1.ExplainMetrics - 21, // 22: google.datastore.v1.BeginTransactionRequest.transaction_options:type_name -> google.datastore.v1.TransactionOptions - 0, // 23: google.datastore.v1.CommitRequest.mode:type_name -> google.datastore.v1.CommitRequest.Mode - 21, // 24: google.datastore.v1.CommitRequest.single_use_transaction:type_name -> google.datastore.v1.TransactionOptions - 18, // 25: google.datastore.v1.CommitRequest.mutations:type_name -> google.datastore.v1.Mutation - 19, // 26: google.datastore.v1.CommitResponse.mutation_results:type_name -> google.datastore.v1.MutationResult - 26, // 27: google.datastore.v1.CommitResponse.commit_time:type_name -> google.protobuf.Timestamp - 24, // 28: google.datastore.v1.AllocateIdsRequest.keys:type_name -> google.datastore.v1.Key - 24, // 29: google.datastore.v1.AllocateIdsResponse.keys:type_name -> google.datastore.v1.Key - 24, // 30: google.datastore.v1.ReserveIdsRequest.keys:type_name -> google.datastore.v1.Key - 35, // 31: google.datastore.v1.Mutation.insert:type_name -> google.datastore.v1.Entity - 35, // 32: google.datastore.v1.Mutation.update:type_name -> google.datastore.v1.Entity - 35, // 33: google.datastore.v1.Mutation.upsert:type_name -> google.datastore.v1.Entity - 24, // 34: google.datastore.v1.Mutation.delete:type_name -> google.datastore.v1.Key - 26, // 35: google.datastore.v1.Mutation.update_time:type_name -> google.protobuf.Timestamp - 24, // 36: google.datastore.v1.MutationResult.key:type_name -> google.datastore.v1.Key - 26, // 37: google.datastore.v1.MutationResult.create_time:type_name -> google.protobuf.Timestamp - 26, // 38: google.datastore.v1.MutationResult.update_time:type_name -> google.protobuf.Timestamp - 1, // 39: google.datastore.v1.ReadOptions.read_consistency:type_name -> google.datastore.v1.ReadOptions.ReadConsistency - 21, // 40: google.datastore.v1.ReadOptions.new_transaction:type_name -> google.datastore.v1.TransactionOptions - 26, // 41: google.datastore.v1.ReadOptions.read_time:type_name -> google.protobuf.Timestamp - 22, // 42: google.datastore.v1.TransactionOptions.read_write:type_name -> google.datastore.v1.TransactionOptions.ReadWrite - 23, // 43: google.datastore.v1.TransactionOptions.read_only:type_name -> google.datastore.v1.TransactionOptions.ReadOnly - 26, // 44: google.datastore.v1.TransactionOptions.ReadOnly.read_time:type_name -> google.protobuf.Timestamp - 2, // 45: google.datastore.v1.Datastore.Lookup:input_type -> google.datastore.v1.LookupRequest - 4, // 46: google.datastore.v1.Datastore.RunQuery:input_type -> google.datastore.v1.RunQueryRequest - 6, // 47: google.datastore.v1.Datastore.RunAggregationQuery:input_type -> google.datastore.v1.RunAggregationQueryRequest - 8, // 48: google.datastore.v1.Datastore.BeginTransaction:input_type -> google.datastore.v1.BeginTransactionRequest - 12, // 49: google.datastore.v1.Datastore.Commit:input_type -> google.datastore.v1.CommitRequest - 10, // 50: google.datastore.v1.Datastore.Rollback:input_type -> google.datastore.v1.RollbackRequest - 14, // 51: google.datastore.v1.Datastore.AllocateIds:input_type -> google.datastore.v1.AllocateIdsRequest - 16, // 52: google.datastore.v1.Datastore.ReserveIds:input_type -> google.datastore.v1.ReserveIdsRequest - 3, // 53: google.datastore.v1.Datastore.Lookup:output_type -> google.datastore.v1.LookupResponse - 5, // 54: google.datastore.v1.Datastore.RunQuery:output_type -> google.datastore.v1.RunQueryResponse - 7, // 55: google.datastore.v1.Datastore.RunAggregationQuery:output_type -> google.datastore.v1.RunAggregationQueryResponse - 9, // 56: google.datastore.v1.Datastore.BeginTransaction:output_type -> google.datastore.v1.BeginTransactionResponse - 13, // 57: google.datastore.v1.Datastore.Commit:output_type -> google.datastore.v1.CommitResponse - 11, // 58: google.datastore.v1.Datastore.Rollback:output_type -> google.datastore.v1.RollbackResponse - 15, // 59: google.datastore.v1.Datastore.AllocateIds:output_type -> google.datastore.v1.AllocateIdsResponse - 17, // 60: google.datastore.v1.Datastore.ReserveIds:output_type -> google.datastore.v1.ReserveIdsResponse - 53, // [53:61] is the sub-list for method output_type - 45, // [45:53] is the sub-list for method input_type - 45, // [45:45] is the sub-list for extension type_name - 45, // [45:45] is the sub-list for extension extendee - 0, // [0:45] is the sub-list for field type_name + 21, // 0: google.datastore.v1.LookupRequest.read_options:type_name -> google.datastore.v1.ReadOptions + 25, // 1: google.datastore.v1.LookupRequest.keys:type_name -> google.datastore.v1.Key + 20, // 2: google.datastore.v1.LookupRequest.property_mask:type_name -> google.datastore.v1.PropertyMask + 26, // 3: google.datastore.v1.LookupResponse.found:type_name -> google.datastore.v1.EntityResult + 26, // 4: google.datastore.v1.LookupResponse.missing:type_name -> google.datastore.v1.EntityResult + 25, // 5: google.datastore.v1.LookupResponse.deferred:type_name -> google.datastore.v1.Key + 27, // 6: google.datastore.v1.LookupResponse.read_time:type_name -> google.protobuf.Timestamp + 28, // 7: google.datastore.v1.RunQueryRequest.partition_id:type_name -> google.datastore.v1.PartitionId + 21, // 8: google.datastore.v1.RunQueryRequest.read_options:type_name -> google.datastore.v1.ReadOptions + 29, // 9: google.datastore.v1.RunQueryRequest.query:type_name -> google.datastore.v1.Query + 30, // 10: google.datastore.v1.RunQueryRequest.gql_query:type_name -> google.datastore.v1.GqlQuery + 20, // 11: google.datastore.v1.RunQueryRequest.property_mask:type_name -> google.datastore.v1.PropertyMask + 31, // 12: google.datastore.v1.RunQueryRequest.explain_options:type_name -> google.datastore.v1.ExplainOptions + 32, // 13: google.datastore.v1.RunQueryResponse.batch:type_name -> google.datastore.v1.QueryResultBatch + 29, // 14: google.datastore.v1.RunQueryResponse.query:type_name -> google.datastore.v1.Query + 33, // 15: google.datastore.v1.RunQueryResponse.explain_metrics:type_name -> google.datastore.v1.ExplainMetrics + 28, // 16: google.datastore.v1.RunAggregationQueryRequest.partition_id:type_name -> google.datastore.v1.PartitionId + 21, // 17: google.datastore.v1.RunAggregationQueryRequest.read_options:type_name -> google.datastore.v1.ReadOptions + 34, // 18: google.datastore.v1.RunAggregationQueryRequest.aggregation_query:type_name -> google.datastore.v1.AggregationQuery + 30, // 19: google.datastore.v1.RunAggregationQueryRequest.gql_query:type_name -> google.datastore.v1.GqlQuery + 31, // 20: google.datastore.v1.RunAggregationQueryRequest.explain_options:type_name -> google.datastore.v1.ExplainOptions + 35, // 21: google.datastore.v1.RunAggregationQueryResponse.batch:type_name -> google.datastore.v1.AggregationResultBatch + 34, // 22: google.datastore.v1.RunAggregationQueryResponse.query:type_name -> google.datastore.v1.AggregationQuery + 33, // 23: google.datastore.v1.RunAggregationQueryResponse.explain_metrics:type_name -> google.datastore.v1.ExplainMetrics + 22, // 24: google.datastore.v1.BeginTransactionRequest.transaction_options:type_name -> google.datastore.v1.TransactionOptions + 0, // 25: google.datastore.v1.CommitRequest.mode:type_name -> google.datastore.v1.CommitRequest.Mode + 22, // 26: google.datastore.v1.CommitRequest.single_use_transaction:type_name -> google.datastore.v1.TransactionOptions + 18, // 27: google.datastore.v1.CommitRequest.mutations:type_name -> google.datastore.v1.Mutation + 19, // 28: google.datastore.v1.CommitResponse.mutation_results:type_name -> google.datastore.v1.MutationResult + 27, // 29: google.datastore.v1.CommitResponse.commit_time:type_name -> google.protobuf.Timestamp + 25, // 30: google.datastore.v1.AllocateIdsRequest.keys:type_name -> google.datastore.v1.Key + 25, // 31: google.datastore.v1.AllocateIdsResponse.keys:type_name -> google.datastore.v1.Key + 25, // 32: google.datastore.v1.ReserveIdsRequest.keys:type_name -> google.datastore.v1.Key + 36, // 33: google.datastore.v1.Mutation.insert:type_name -> google.datastore.v1.Entity + 36, // 34: google.datastore.v1.Mutation.update:type_name -> google.datastore.v1.Entity + 36, // 35: google.datastore.v1.Mutation.upsert:type_name -> google.datastore.v1.Entity + 25, // 36: google.datastore.v1.Mutation.delete:type_name -> google.datastore.v1.Key + 27, // 37: google.datastore.v1.Mutation.update_time:type_name -> google.protobuf.Timestamp + 20, // 38: google.datastore.v1.Mutation.property_mask:type_name -> google.datastore.v1.PropertyMask + 25, // 39: google.datastore.v1.MutationResult.key:type_name -> google.datastore.v1.Key + 27, // 40: google.datastore.v1.MutationResult.create_time:type_name -> google.protobuf.Timestamp + 27, // 41: google.datastore.v1.MutationResult.update_time:type_name -> google.protobuf.Timestamp + 1, // 42: google.datastore.v1.ReadOptions.read_consistency:type_name -> google.datastore.v1.ReadOptions.ReadConsistency + 22, // 43: google.datastore.v1.ReadOptions.new_transaction:type_name -> google.datastore.v1.TransactionOptions + 27, // 44: google.datastore.v1.ReadOptions.read_time:type_name -> google.protobuf.Timestamp + 23, // 45: google.datastore.v1.TransactionOptions.read_write:type_name -> google.datastore.v1.TransactionOptions.ReadWrite + 24, // 46: google.datastore.v1.TransactionOptions.read_only:type_name -> google.datastore.v1.TransactionOptions.ReadOnly + 27, // 47: google.datastore.v1.TransactionOptions.ReadOnly.read_time:type_name -> google.protobuf.Timestamp + 2, // 48: google.datastore.v1.Datastore.Lookup:input_type -> google.datastore.v1.LookupRequest + 4, // 49: google.datastore.v1.Datastore.RunQuery:input_type -> google.datastore.v1.RunQueryRequest + 6, // 50: google.datastore.v1.Datastore.RunAggregationQuery:input_type -> google.datastore.v1.RunAggregationQueryRequest + 8, // 51: google.datastore.v1.Datastore.BeginTransaction:input_type -> google.datastore.v1.BeginTransactionRequest + 12, // 52: google.datastore.v1.Datastore.Commit:input_type -> google.datastore.v1.CommitRequest + 10, // 53: google.datastore.v1.Datastore.Rollback:input_type -> google.datastore.v1.RollbackRequest + 14, // 54: google.datastore.v1.Datastore.AllocateIds:input_type -> google.datastore.v1.AllocateIdsRequest + 16, // 55: google.datastore.v1.Datastore.ReserveIds:input_type -> google.datastore.v1.ReserveIdsRequest + 3, // 56: google.datastore.v1.Datastore.Lookup:output_type -> google.datastore.v1.LookupResponse + 5, // 57: google.datastore.v1.Datastore.RunQuery:output_type -> google.datastore.v1.RunQueryResponse + 7, // 58: google.datastore.v1.Datastore.RunAggregationQuery:output_type -> google.datastore.v1.RunAggregationQueryResponse + 9, // 59: google.datastore.v1.Datastore.BeginTransaction:output_type -> google.datastore.v1.BeginTransactionResponse + 13, // 60: google.datastore.v1.Datastore.Commit:output_type -> google.datastore.v1.CommitResponse + 11, // 61: google.datastore.v1.Datastore.Rollback:output_type -> google.datastore.v1.RollbackResponse + 15, // 62: google.datastore.v1.Datastore.AllocateIds:output_type -> google.datastore.v1.AllocateIdsResponse + 17, // 63: google.datastore.v1.Datastore.ReserveIds:output_type -> google.datastore.v1.ReserveIdsResponse + 56, // [56:64] is the sub-list for method output_type + 48, // [48:56] is the sub-list for method input_type + 48, // [48:48] is the sub-list for extension type_name + 48, // [48:48] is the sub-list for extension extendee + 0, // [0:48] is the sub-list for field type_name } func init() { file_google_datastore_v1_datastore_proto_init() } @@ -2848,7 +2971,7 @@ func file_google_datastore_v1_datastore_proto_init() { } } file_google_datastore_v1_datastore_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ReadOptions); i { + switch v := v.(*PropertyMask); i { case 0: return &v.state case 1: @@ -2860,7 +2983,7 @@ func file_google_datastore_v1_datastore_proto_init() { } } file_google_datastore_v1_datastore_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TransactionOptions); i { + switch v := v.(*ReadOptions); i { case 0: return &v.state case 1: @@ -2872,7 +2995,7 @@ func file_google_datastore_v1_datastore_proto_init() { } } file_google_datastore_v1_datastore_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TransactionOptions_ReadWrite); i { + switch v := v.(*TransactionOptions); i { case 0: return &v.state case 1: @@ -2884,6 +3007,18 @@ func file_google_datastore_v1_datastore_proto_init() { } } file_google_datastore_v1_datastore_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TransactionOptions_ReadWrite); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_datastore_v1_datastore_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TransactionOptions_ReadOnly); i { case 0: return &v.state @@ -2916,13 +3051,13 @@ func file_google_datastore_v1_datastore_proto_init() { (*Mutation_BaseVersion)(nil), (*Mutation_UpdateTime)(nil), } - file_google_datastore_v1_datastore_proto_msgTypes[18].OneofWrappers = []interface{}{ + file_google_datastore_v1_datastore_proto_msgTypes[19].OneofWrappers = []interface{}{ (*ReadOptions_ReadConsistency_)(nil), (*ReadOptions_Transaction)(nil), (*ReadOptions_NewTransaction)(nil), (*ReadOptions_ReadTime)(nil), } - file_google_datastore_v1_datastore_proto_msgTypes[19].OneofWrappers = []interface{}{ + file_google_datastore_v1_datastore_proto_msgTypes[20].OneofWrappers = []interface{}{ (*TransactionOptions_ReadWrite_)(nil), (*TransactionOptions_ReadOnly_)(nil), } @@ -2932,7 +3067,7 @@ func file_google_datastore_v1_datastore_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_datastore_v1_datastore_proto_rawDesc, NumEnums: 2, - NumMessages: 22, + NumMessages: 23, NumExtensions: 0, NumServices: 1, }, diff --git a/regen.txt b/regen.txt index 4ba018218..65a942851 100644 --- a/regen.txt +++ b/regen.txt @@ -1 +1 @@ -11ebe1fe2ef20bec96329a9f56a7210140048d10 \ No newline at end of file +0148e48ace3cf88a50a8c83b06aa7fca3a258762 \ No newline at end of file