| // Copyright 2022 Google LLC |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| // Code generated by protoc-gen-go. DO NOT EDIT. |
| // versions: |
| // protoc-gen-go v1.26.0 |
| // protoc v3.12.2 |
| // source: google/cloud/speech/v2/cloud_speech.proto |
| |
| package speech |
| |
| import ( |
| context "context" |
| reflect "reflect" |
| sync "sync" |
| |
| _ "google.golang.org/genproto/googleapis/api/annotations" |
| longrunning "google.golang.org/genproto/googleapis/longrunning" |
| status "google.golang.org/genproto/googleapis/rpc/status" |
| grpc "google.golang.org/grpc" |
| codes "google.golang.org/grpc/codes" |
| status1 "google.golang.org/grpc/status" |
| protoreflect "google.golang.org/protobuf/reflect/protoreflect" |
| protoimpl "google.golang.org/protobuf/runtime/protoimpl" |
| durationpb "google.golang.org/protobuf/types/known/durationpb" |
| fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" |
| timestamppb "google.golang.org/protobuf/types/known/timestamppb" |
| ) |
| |
| 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) |
| ) |
| |
| // Set of states that define the lifecycle of a Recognizer. |
| type Recognizer_State int32 |
| |
| const ( |
| // The default value. This value is used if the state is omitted. |
| Recognizer_STATE_UNSPECIFIED Recognizer_State = 0 |
| // The Recognizer is active and ready for use. |
| Recognizer_ACTIVE Recognizer_State = 2 |
| // This Recognizer has been deleted. |
| Recognizer_DELETED Recognizer_State = 4 |
| ) |
| |
| // Enum value maps for Recognizer_State. |
| var ( |
| Recognizer_State_name = map[int32]string{ |
| 0: "STATE_UNSPECIFIED", |
| 2: "ACTIVE", |
| 4: "DELETED", |
| } |
| Recognizer_State_value = map[string]int32{ |
| "STATE_UNSPECIFIED": 0, |
| "ACTIVE": 2, |
| "DELETED": 4, |
| } |
| ) |
| |
| func (x Recognizer_State) Enum() *Recognizer_State { |
| p := new(Recognizer_State) |
| *p = x |
| return p |
| } |
| |
| func (x Recognizer_State) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (Recognizer_State) Descriptor() protoreflect.EnumDescriptor { |
| return file_google_cloud_speech_v2_cloud_speech_proto_enumTypes[0].Descriptor() |
| } |
| |
| func (Recognizer_State) Type() protoreflect.EnumType { |
| return &file_google_cloud_speech_v2_cloud_speech_proto_enumTypes[0] |
| } |
| |
| func (x Recognizer_State) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use Recognizer_State.Descriptor instead. |
| func (Recognizer_State) EnumDescriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{8, 0} |
| } |
| |
| // Supported audio data encodings. |
| type ExplicitDecodingConfig_AudioEncoding int32 |
| |
| const ( |
| // Default value. This value is unused. |
| ExplicitDecodingConfig_AUDIO_ENCODING_UNSPECIFIED ExplicitDecodingConfig_AudioEncoding = 0 |
| // Headerless 16-bit signed little-endian PCM samples. |
| ExplicitDecodingConfig_LINEAR16 ExplicitDecodingConfig_AudioEncoding = 1 |
| // Headerless 8-bit companded mulaw samples. |
| ExplicitDecodingConfig_MULAW ExplicitDecodingConfig_AudioEncoding = 2 |
| // Headerless 8-bit companded alaw samples. |
| ExplicitDecodingConfig_ALAW ExplicitDecodingConfig_AudioEncoding = 3 |
| ) |
| |
| // Enum value maps for ExplicitDecodingConfig_AudioEncoding. |
| var ( |
| ExplicitDecodingConfig_AudioEncoding_name = map[int32]string{ |
| 0: "AUDIO_ENCODING_UNSPECIFIED", |
| 1: "LINEAR16", |
| 2: "MULAW", |
| 3: "ALAW", |
| } |
| ExplicitDecodingConfig_AudioEncoding_value = map[string]int32{ |
| "AUDIO_ENCODING_UNSPECIFIED": 0, |
| "LINEAR16": 1, |
| "MULAW": 2, |
| "ALAW": 3, |
| } |
| ) |
| |
| func (x ExplicitDecodingConfig_AudioEncoding) Enum() *ExplicitDecodingConfig_AudioEncoding { |
| p := new(ExplicitDecodingConfig_AudioEncoding) |
| *p = x |
| return p |
| } |
| |
| func (x ExplicitDecodingConfig_AudioEncoding) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (ExplicitDecodingConfig_AudioEncoding) Descriptor() protoreflect.EnumDescriptor { |
| return file_google_cloud_speech_v2_cloud_speech_proto_enumTypes[1].Descriptor() |
| } |
| |
| func (ExplicitDecodingConfig_AudioEncoding) Type() protoreflect.EnumType { |
| return &file_google_cloud_speech_v2_cloud_speech_proto_enumTypes[1] |
| } |
| |
| func (x ExplicitDecodingConfig_AudioEncoding) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use ExplicitDecodingConfig_AudioEncoding.Descriptor instead. |
| func (ExplicitDecodingConfig_AudioEncoding) EnumDescriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{10, 0} |
| } |
| |
| // Options for how to recognize multi-channel audio. |
| type RecognitionFeatures_MultiChannelMode int32 |
| |
| const ( |
| // Default value for the multi-channel mode. If the audio contains |
| // multiple channels, only the first channel will be transcribed; other |
| // channels will be ignored. |
| RecognitionFeatures_MULTI_CHANNEL_MODE_UNSPECIFIED RecognitionFeatures_MultiChannelMode = 0 |
| // If selected, each channel in the provided audio is transcribed |
| // independently. This cannot be selected if the selected |
| // [model][google.cloud.speech.v2.Recognizer.model] is `latest_short`. |
| RecognitionFeatures_SEPARATE_RECOGNITION_PER_CHANNEL RecognitionFeatures_MultiChannelMode = 1 |
| ) |
| |
| // Enum value maps for RecognitionFeatures_MultiChannelMode. |
| var ( |
| RecognitionFeatures_MultiChannelMode_name = map[int32]string{ |
| 0: "MULTI_CHANNEL_MODE_UNSPECIFIED", |
| 1: "SEPARATE_RECOGNITION_PER_CHANNEL", |
| } |
| RecognitionFeatures_MultiChannelMode_value = map[string]int32{ |
| "MULTI_CHANNEL_MODE_UNSPECIFIED": 0, |
| "SEPARATE_RECOGNITION_PER_CHANNEL": 1, |
| } |
| ) |
| |
| func (x RecognitionFeatures_MultiChannelMode) Enum() *RecognitionFeatures_MultiChannelMode { |
| p := new(RecognitionFeatures_MultiChannelMode) |
| *p = x |
| return p |
| } |
| |
| func (x RecognitionFeatures_MultiChannelMode) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (RecognitionFeatures_MultiChannelMode) Descriptor() protoreflect.EnumDescriptor { |
| return file_google_cloud_speech_v2_cloud_speech_proto_enumTypes[2].Descriptor() |
| } |
| |
| func (RecognitionFeatures_MultiChannelMode) Type() protoreflect.EnumType { |
| return &file_google_cloud_speech_v2_cloud_speech_proto_enumTypes[2] |
| } |
| |
| func (x RecognitionFeatures_MultiChannelMode) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use RecognitionFeatures_MultiChannelMode.Descriptor instead. |
| func (RecognitionFeatures_MultiChannelMode) EnumDescriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{12, 0} |
| } |
| |
| // Indicates the type of speech event. |
| type StreamingRecognizeResponse_SpeechEventType int32 |
| |
| const ( |
| // No speech event specified. |
| StreamingRecognizeResponse_SPEECH_EVENT_TYPE_UNSPECIFIED StreamingRecognizeResponse_SpeechEventType = 0 |
| // This event indicates that the server has detected the end of the user's |
| // speech utterance and expects no additional speech. Therefore, the server |
| // will not process additional audio and will close the gRPC bidirectional |
| // stream. This event is only sent if there was a force cutoff due to |
| // silence being detected early. This event is only available through the |
| // `latest_short` [model][google.cloud.speech.v2.Recognizer.model]. |
| StreamingRecognizeResponse_END_OF_SINGLE_UTTERANCE StreamingRecognizeResponse_SpeechEventType = 1 |
| // This event indicates that the server has detected the beginning of human |
| // voice activity in the stream. This event can be returned multiple times |
| // if speech starts and stops repeatedly throughout the stream. This event |
| // is only sent if `voice_activity_events` is set to true. |
| StreamingRecognizeResponse_SPEECH_ACTIVITY_BEGIN StreamingRecognizeResponse_SpeechEventType = 2 |
| // This event indicates that the server has detected the end of human voice |
| // activity in the stream. This event can be returned multiple times if |
| // speech starts and stops repeatedly throughout the stream. This event is |
| // only sent if `voice_activity_events` is set to true. |
| StreamingRecognizeResponse_SPEECH_ACTIVITY_END StreamingRecognizeResponse_SpeechEventType = 3 |
| ) |
| |
| // Enum value maps for StreamingRecognizeResponse_SpeechEventType. |
| var ( |
| StreamingRecognizeResponse_SpeechEventType_name = map[int32]string{ |
| 0: "SPEECH_EVENT_TYPE_UNSPECIFIED", |
| 1: "END_OF_SINGLE_UTTERANCE", |
| 2: "SPEECH_ACTIVITY_BEGIN", |
| 3: "SPEECH_ACTIVITY_END", |
| } |
| StreamingRecognizeResponse_SpeechEventType_value = map[string]int32{ |
| "SPEECH_EVENT_TYPE_UNSPECIFIED": 0, |
| "END_OF_SINGLE_UTTERANCE": 1, |
| "SPEECH_ACTIVITY_BEGIN": 2, |
| "SPEECH_ACTIVITY_END": 3, |
| } |
| ) |
| |
| func (x StreamingRecognizeResponse_SpeechEventType) Enum() *StreamingRecognizeResponse_SpeechEventType { |
| p := new(StreamingRecognizeResponse_SpeechEventType) |
| *p = x |
| return p |
| } |
| |
| func (x StreamingRecognizeResponse_SpeechEventType) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (StreamingRecognizeResponse_SpeechEventType) Descriptor() protoreflect.EnumDescriptor { |
| return file_google_cloud_speech_v2_cloud_speech_proto_enumTypes[3].Descriptor() |
| } |
| |
| func (StreamingRecognizeResponse_SpeechEventType) Type() protoreflect.EnumType { |
| return &file_google_cloud_speech_v2_cloud_speech_proto_enumTypes[3] |
| } |
| |
| func (x StreamingRecognizeResponse_SpeechEventType) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use StreamingRecognizeResponse_SpeechEventType.Descriptor instead. |
| func (StreamingRecognizeResponse_SpeechEventType) EnumDescriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{31, 0} |
| } |
| |
| // Set of states that define the lifecycle of a CustomClass. |
| type CustomClass_State int32 |
| |
| const ( |
| // Unspecified state. This is only used/useful for distinguishing |
| // unset values. |
| CustomClass_STATE_UNSPECIFIED CustomClass_State = 0 |
| // The normal and active state. |
| CustomClass_ACTIVE CustomClass_State = 2 |
| // This CustomClass has been deleted. |
| CustomClass_DELETED CustomClass_State = 4 |
| ) |
| |
| // Enum value maps for CustomClass_State. |
| var ( |
| CustomClass_State_name = map[int32]string{ |
| 0: "STATE_UNSPECIFIED", |
| 2: "ACTIVE", |
| 4: "DELETED", |
| } |
| CustomClass_State_value = map[string]int32{ |
| "STATE_UNSPECIFIED": 0, |
| "ACTIVE": 2, |
| "DELETED": 4, |
| } |
| ) |
| |
| func (x CustomClass_State) Enum() *CustomClass_State { |
| p := new(CustomClass_State) |
| *p = x |
| return p |
| } |
| |
| func (x CustomClass_State) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (CustomClass_State) Descriptor() protoreflect.EnumDescriptor { |
| return file_google_cloud_speech_v2_cloud_speech_proto_enumTypes[4].Descriptor() |
| } |
| |
| func (CustomClass_State) Type() protoreflect.EnumType { |
| return &file_google_cloud_speech_v2_cloud_speech_proto_enumTypes[4] |
| } |
| |
| func (x CustomClass_State) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use CustomClass_State.Descriptor instead. |
| func (CustomClass_State) EnumDescriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{35, 0} |
| } |
| |
| // Set of states that define the lifecycle of a PhraseSet. |
| type PhraseSet_State int32 |
| |
| const ( |
| // Unspecified state. This is only used/useful for distinguishing |
| // unset values. |
| PhraseSet_STATE_UNSPECIFIED PhraseSet_State = 0 |
| // The normal and active state. |
| PhraseSet_ACTIVE PhraseSet_State = 2 |
| // This PhraseSet has been deleted. |
| PhraseSet_DELETED PhraseSet_State = 4 |
| ) |
| |
| // Enum value maps for PhraseSet_State. |
| var ( |
| PhraseSet_State_name = map[int32]string{ |
| 0: "STATE_UNSPECIFIED", |
| 2: "ACTIVE", |
| 4: "DELETED", |
| } |
| PhraseSet_State_value = map[string]int32{ |
| "STATE_UNSPECIFIED": 0, |
| "ACTIVE": 2, |
| "DELETED": 4, |
| } |
| ) |
| |
| func (x PhraseSet_State) Enum() *PhraseSet_State { |
| p := new(PhraseSet_State) |
| *p = x |
| return p |
| } |
| |
| func (x PhraseSet_State) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (PhraseSet_State) Descriptor() protoreflect.EnumDescriptor { |
| return file_google_cloud_speech_v2_cloud_speech_proto_enumTypes[5].Descriptor() |
| } |
| |
| func (PhraseSet_State) Type() protoreflect.EnumType { |
| return &file_google_cloud_speech_v2_cloud_speech_proto_enumTypes[5] |
| } |
| |
| func (x PhraseSet_State) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use PhraseSet_State.Descriptor instead. |
| func (PhraseSet_State) EnumDescriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{36, 0} |
| } |
| |
| // Request message for the |
| // [CreateRecognizer][google.cloud.speech.v2.Speech.CreateRecognizer] method. |
| type CreateRecognizerRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The Recognizer to create. |
| Recognizer *Recognizer `protobuf:"bytes,1,opt,name=recognizer,proto3" json:"recognizer,omitempty"` |
| // If set, validate the request and preview the Recognizer, but do not |
| // actually create it. |
| ValidateOnly bool `protobuf:"varint,2,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` |
| // The ID to use for the Recognizer, which will become the final component of |
| // the Recognizer's resource name. |
| // |
| // This value should be 4-63 characters, and valid characters |
| // are /[a-z][0-9]-/. |
| RecognizerId string `protobuf:"bytes,3,opt,name=recognizer_id,json=recognizerId,proto3" json:"recognizer_id,omitempty"` |
| // Required. The project and location where this Recognizer will be created. |
| // The expected format is `projects/{project}/locations/{location}`. |
| Parent string `protobuf:"bytes,4,opt,name=parent,proto3" json:"parent,omitempty"` |
| } |
| |
| func (x *CreateRecognizerRequest) Reset() { |
| *x = CreateRecognizerRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[0] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *CreateRecognizerRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*CreateRecognizerRequest) ProtoMessage() {} |
| |
| func (x *CreateRecognizerRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_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 CreateRecognizerRequest.ProtoReflect.Descriptor instead. |
| func (*CreateRecognizerRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{0} |
| } |
| |
| func (x *CreateRecognizerRequest) GetRecognizer() *Recognizer { |
| if x != nil { |
| return x.Recognizer |
| } |
| return nil |
| } |
| |
| func (x *CreateRecognizerRequest) GetValidateOnly() bool { |
| if x != nil { |
| return x.ValidateOnly |
| } |
| return false |
| } |
| |
| func (x *CreateRecognizerRequest) GetRecognizerId() string { |
| if x != nil { |
| return x.RecognizerId |
| } |
| return "" |
| } |
| |
| func (x *CreateRecognizerRequest) GetParent() string { |
| if x != nil { |
| return x.Parent |
| } |
| return "" |
| } |
| |
| // Represents the metadata of a long-running operation. |
| type OperationMetadata struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The time the operation was created. |
| CreateTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` |
| // The time the operation was last updated. |
| UpdateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` |
| // The resource path for the target of the operation. |
| Resource string `protobuf:"bytes,3,opt,name=resource,proto3" json:"resource,omitempty"` |
| // The method that triggered the operation. |
| Method string `protobuf:"bytes,4,opt,name=method,proto3" json:"method,omitempty"` |
| // The [KMS key |
| // name](https://cloud.google.com/kms/docs/resource-hierarchy#keys) with which |
| // the content of the Operation is encrypted. The expected format is |
| // `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`. |
| KmsKeyName string `protobuf:"bytes,6,opt,name=kms_key_name,json=kmsKeyName,proto3" json:"kms_key_name,omitempty"` |
| // The [KMS key version |
| // name](https://cloud.google.com/kms/docs/resource-hierarchy#key_versions) |
| // with which content of the Operation is encrypted. The expected format is |
| // `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}`. |
| KmsKeyVersionName string `protobuf:"bytes,7,opt,name=kms_key_version_name,json=kmsKeyVersionName,proto3" json:"kms_key_version_name,omitempty"` |
| // The request that spawned the Operation. |
| // |
| // Types that are assignable to Request: |
| // |
| // *OperationMetadata_BatchRecognizeRequest |
| // *OperationMetadata_CreateRecognizerRequest |
| // *OperationMetadata_UpdateRecognizerRequest |
| // *OperationMetadata_DeleteRecognizerRequest |
| // *OperationMetadata_UndeleteRecognizerRequest |
| // *OperationMetadata_CreateCustomClassRequest |
| // *OperationMetadata_UpdateCustomClassRequest |
| // *OperationMetadata_DeleteCustomClassRequest |
| // *OperationMetadata_UndeleteCustomClassRequest |
| // *OperationMetadata_CreatePhraseSetRequest |
| // *OperationMetadata_UpdatePhraseSetRequest |
| // *OperationMetadata_DeletePhraseSetRequest |
| // *OperationMetadata_UndeletePhraseSetRequest |
| // *OperationMetadata_UpdateConfigRequest |
| Request isOperationMetadata_Request `protobuf_oneof:"request"` |
| // The percent progress of the Operation. Values can range from 0-100. If the |
| // value is 100, then the operation is finished. |
| ProgressPercent int32 `protobuf:"varint,22,opt,name=progress_percent,json=progressPercent,proto3" json:"progress_percent,omitempty"` |
| // Specific metadata per RPC |
| // |
| // Types that are assignable to Metadata: |
| // |
| // *OperationMetadata_BatchRecognizeMetadata |
| Metadata isOperationMetadata_Metadata `protobuf_oneof:"metadata"` |
| } |
| |
| func (x *OperationMetadata) Reset() { |
| *x = OperationMetadata{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[1] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *OperationMetadata) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*OperationMetadata) ProtoMessage() {} |
| |
| func (x *OperationMetadata) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_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 OperationMetadata.ProtoReflect.Descriptor instead. |
| func (*OperationMetadata) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{1} |
| } |
| |
| func (x *OperationMetadata) GetCreateTime() *timestamppb.Timestamp { |
| if x != nil { |
| return x.CreateTime |
| } |
| return nil |
| } |
| |
| func (x *OperationMetadata) GetUpdateTime() *timestamppb.Timestamp { |
| if x != nil { |
| return x.UpdateTime |
| } |
| return nil |
| } |
| |
| func (x *OperationMetadata) GetResource() string { |
| if x != nil { |
| return x.Resource |
| } |
| return "" |
| } |
| |
| func (x *OperationMetadata) GetMethod() string { |
| if x != nil { |
| return x.Method |
| } |
| return "" |
| } |
| |
| func (x *OperationMetadata) GetKmsKeyName() string { |
| if x != nil { |
| return x.KmsKeyName |
| } |
| return "" |
| } |
| |
| func (x *OperationMetadata) GetKmsKeyVersionName() string { |
| if x != nil { |
| return x.KmsKeyVersionName |
| } |
| return "" |
| } |
| |
| func (m *OperationMetadata) GetRequest() isOperationMetadata_Request { |
| if m != nil { |
| return m.Request |
| } |
| return nil |
| } |
| |
| func (x *OperationMetadata) GetBatchRecognizeRequest() *BatchRecognizeRequest { |
| if x, ok := x.GetRequest().(*OperationMetadata_BatchRecognizeRequest); ok { |
| return x.BatchRecognizeRequest |
| } |
| return nil |
| } |
| |
| func (x *OperationMetadata) GetCreateRecognizerRequest() *CreateRecognizerRequest { |
| if x, ok := x.GetRequest().(*OperationMetadata_CreateRecognizerRequest); ok { |
| return x.CreateRecognizerRequest |
| } |
| return nil |
| } |
| |
| func (x *OperationMetadata) GetUpdateRecognizerRequest() *UpdateRecognizerRequest { |
| if x, ok := x.GetRequest().(*OperationMetadata_UpdateRecognizerRequest); ok { |
| return x.UpdateRecognizerRequest |
| } |
| return nil |
| } |
| |
| func (x *OperationMetadata) GetDeleteRecognizerRequest() *DeleteRecognizerRequest { |
| if x, ok := x.GetRequest().(*OperationMetadata_DeleteRecognizerRequest); ok { |
| return x.DeleteRecognizerRequest |
| } |
| return nil |
| } |
| |
| func (x *OperationMetadata) GetUndeleteRecognizerRequest() *UndeleteRecognizerRequest { |
| if x, ok := x.GetRequest().(*OperationMetadata_UndeleteRecognizerRequest); ok { |
| return x.UndeleteRecognizerRequest |
| } |
| return nil |
| } |
| |
| func (x *OperationMetadata) GetCreateCustomClassRequest() *CreateCustomClassRequest { |
| if x, ok := x.GetRequest().(*OperationMetadata_CreateCustomClassRequest); ok { |
| return x.CreateCustomClassRequest |
| } |
| return nil |
| } |
| |
| func (x *OperationMetadata) GetUpdateCustomClassRequest() *UpdateCustomClassRequest { |
| if x, ok := x.GetRequest().(*OperationMetadata_UpdateCustomClassRequest); ok { |
| return x.UpdateCustomClassRequest |
| } |
| return nil |
| } |
| |
| func (x *OperationMetadata) GetDeleteCustomClassRequest() *DeleteCustomClassRequest { |
| if x, ok := x.GetRequest().(*OperationMetadata_DeleteCustomClassRequest); ok { |
| return x.DeleteCustomClassRequest |
| } |
| return nil |
| } |
| |
| func (x *OperationMetadata) GetUndeleteCustomClassRequest() *UndeleteCustomClassRequest { |
| if x, ok := x.GetRequest().(*OperationMetadata_UndeleteCustomClassRequest); ok { |
| return x.UndeleteCustomClassRequest |
| } |
| return nil |
| } |
| |
| func (x *OperationMetadata) GetCreatePhraseSetRequest() *CreatePhraseSetRequest { |
| if x, ok := x.GetRequest().(*OperationMetadata_CreatePhraseSetRequest); ok { |
| return x.CreatePhraseSetRequest |
| } |
| return nil |
| } |
| |
| func (x *OperationMetadata) GetUpdatePhraseSetRequest() *UpdatePhraseSetRequest { |
| if x, ok := x.GetRequest().(*OperationMetadata_UpdatePhraseSetRequest); ok { |
| return x.UpdatePhraseSetRequest |
| } |
| return nil |
| } |
| |
| func (x *OperationMetadata) GetDeletePhraseSetRequest() *DeletePhraseSetRequest { |
| if x, ok := x.GetRequest().(*OperationMetadata_DeletePhraseSetRequest); ok { |
| return x.DeletePhraseSetRequest |
| } |
| return nil |
| } |
| |
| func (x *OperationMetadata) GetUndeletePhraseSetRequest() *UndeletePhraseSetRequest { |
| if x, ok := x.GetRequest().(*OperationMetadata_UndeletePhraseSetRequest); ok { |
| return x.UndeletePhraseSetRequest |
| } |
| return nil |
| } |
| |
| func (x *OperationMetadata) GetUpdateConfigRequest() *UpdateConfigRequest { |
| if x, ok := x.GetRequest().(*OperationMetadata_UpdateConfigRequest); ok { |
| return x.UpdateConfigRequest |
| } |
| return nil |
| } |
| |
| func (x *OperationMetadata) GetProgressPercent() int32 { |
| if x != nil { |
| return x.ProgressPercent |
| } |
| return 0 |
| } |
| |
| func (m *OperationMetadata) GetMetadata() isOperationMetadata_Metadata { |
| if m != nil { |
| return m.Metadata |
| } |
| return nil |
| } |
| |
| func (x *OperationMetadata) GetBatchRecognizeMetadata() *BatchRecognizeMetadata { |
| if x, ok := x.GetMetadata().(*OperationMetadata_BatchRecognizeMetadata); ok { |
| return x.BatchRecognizeMetadata |
| } |
| return nil |
| } |
| |
| type isOperationMetadata_Request interface { |
| isOperationMetadata_Request() |
| } |
| |
| type OperationMetadata_BatchRecognizeRequest struct { |
| // The BatchRecognizeRequest that spawned the Operation. |
| BatchRecognizeRequest *BatchRecognizeRequest `protobuf:"bytes,8,opt,name=batch_recognize_request,json=batchRecognizeRequest,proto3,oneof"` |
| } |
| |
| type OperationMetadata_CreateRecognizerRequest struct { |
| // The CreateRecognizerRequest that spawned the Operation. |
| CreateRecognizerRequest *CreateRecognizerRequest `protobuf:"bytes,9,opt,name=create_recognizer_request,json=createRecognizerRequest,proto3,oneof"` |
| } |
| |
| type OperationMetadata_UpdateRecognizerRequest struct { |
| // The UpdateRecognizerRequest that spawned the Operation. |
| UpdateRecognizerRequest *UpdateRecognizerRequest `protobuf:"bytes,10,opt,name=update_recognizer_request,json=updateRecognizerRequest,proto3,oneof"` |
| } |
| |
| type OperationMetadata_DeleteRecognizerRequest struct { |
| // The DeleteRecognizerRequest that spawned the Operation. |
| DeleteRecognizerRequest *DeleteRecognizerRequest `protobuf:"bytes,11,opt,name=delete_recognizer_request,json=deleteRecognizerRequest,proto3,oneof"` |
| } |
| |
| type OperationMetadata_UndeleteRecognizerRequest struct { |
| // The UndeleteRecognizerRequest that spawned the Operation. |
| UndeleteRecognizerRequest *UndeleteRecognizerRequest `protobuf:"bytes,12,opt,name=undelete_recognizer_request,json=undeleteRecognizerRequest,proto3,oneof"` |
| } |
| |
| type OperationMetadata_CreateCustomClassRequest struct { |
| // The CreateCustomClassRequest that spawned the Operation. |
| CreateCustomClassRequest *CreateCustomClassRequest `protobuf:"bytes,13,opt,name=create_custom_class_request,json=createCustomClassRequest,proto3,oneof"` |
| } |
| |
| type OperationMetadata_UpdateCustomClassRequest struct { |
| // The UpdateCustomClassRequest that spawned the Operation. |
| UpdateCustomClassRequest *UpdateCustomClassRequest `protobuf:"bytes,14,opt,name=update_custom_class_request,json=updateCustomClassRequest,proto3,oneof"` |
| } |
| |
| type OperationMetadata_DeleteCustomClassRequest struct { |
| // The DeleteCustomClassRequest that spawned the Operation. |
| DeleteCustomClassRequest *DeleteCustomClassRequest `protobuf:"bytes,15,opt,name=delete_custom_class_request,json=deleteCustomClassRequest,proto3,oneof"` |
| } |
| |
| type OperationMetadata_UndeleteCustomClassRequest struct { |
| // The UndeleteCustomClassRequest that spawned the Operation. |
| UndeleteCustomClassRequest *UndeleteCustomClassRequest `protobuf:"bytes,16,opt,name=undelete_custom_class_request,json=undeleteCustomClassRequest,proto3,oneof"` |
| } |
| |
| type OperationMetadata_CreatePhraseSetRequest struct { |
| // The CreatePhraseSetRequest that spawned the Operation. |
| CreatePhraseSetRequest *CreatePhraseSetRequest `protobuf:"bytes,17,opt,name=create_phrase_set_request,json=createPhraseSetRequest,proto3,oneof"` |
| } |
| |
| type OperationMetadata_UpdatePhraseSetRequest struct { |
| // The UpdatePhraseSetRequest that spawned the Operation. |
| UpdatePhraseSetRequest *UpdatePhraseSetRequest `protobuf:"bytes,18,opt,name=update_phrase_set_request,json=updatePhraseSetRequest,proto3,oneof"` |
| } |
| |
| type OperationMetadata_DeletePhraseSetRequest struct { |
| // The DeletePhraseSetRequest that spawned the Operation. |
| DeletePhraseSetRequest *DeletePhraseSetRequest `protobuf:"bytes,19,opt,name=delete_phrase_set_request,json=deletePhraseSetRequest,proto3,oneof"` |
| } |
| |
| type OperationMetadata_UndeletePhraseSetRequest struct { |
| // The UndeletePhraseSetRequest that spawned the Operation. |
| UndeletePhraseSetRequest *UndeletePhraseSetRequest `protobuf:"bytes,20,opt,name=undelete_phrase_set_request,json=undeletePhraseSetRequest,proto3,oneof"` |
| } |
| |
| type OperationMetadata_UpdateConfigRequest struct { |
| // The UpdateConfigRequest that spawned the Operation. |
| UpdateConfigRequest *UpdateConfigRequest `protobuf:"bytes,21,opt,name=update_config_request,json=updateConfigRequest,proto3,oneof"` |
| } |
| |
| func (*OperationMetadata_BatchRecognizeRequest) isOperationMetadata_Request() {} |
| |
| func (*OperationMetadata_CreateRecognizerRequest) isOperationMetadata_Request() {} |
| |
| func (*OperationMetadata_UpdateRecognizerRequest) isOperationMetadata_Request() {} |
| |
| func (*OperationMetadata_DeleteRecognizerRequest) isOperationMetadata_Request() {} |
| |
| func (*OperationMetadata_UndeleteRecognizerRequest) isOperationMetadata_Request() {} |
| |
| func (*OperationMetadata_CreateCustomClassRequest) isOperationMetadata_Request() {} |
| |
| func (*OperationMetadata_UpdateCustomClassRequest) isOperationMetadata_Request() {} |
| |
| func (*OperationMetadata_DeleteCustomClassRequest) isOperationMetadata_Request() {} |
| |
| func (*OperationMetadata_UndeleteCustomClassRequest) isOperationMetadata_Request() {} |
| |
| func (*OperationMetadata_CreatePhraseSetRequest) isOperationMetadata_Request() {} |
| |
| func (*OperationMetadata_UpdatePhraseSetRequest) isOperationMetadata_Request() {} |
| |
| func (*OperationMetadata_DeletePhraseSetRequest) isOperationMetadata_Request() {} |
| |
| func (*OperationMetadata_UndeletePhraseSetRequest) isOperationMetadata_Request() {} |
| |
| func (*OperationMetadata_UpdateConfigRequest) isOperationMetadata_Request() {} |
| |
| type isOperationMetadata_Metadata interface { |
| isOperationMetadata_Metadata() |
| } |
| |
| type OperationMetadata_BatchRecognizeMetadata struct { |
| // Metadata specific to the BatchRecognize method. |
| BatchRecognizeMetadata *BatchRecognizeMetadata `protobuf:"bytes,23,opt,name=batch_recognize_metadata,json=batchRecognizeMetadata,proto3,oneof"` |
| } |
| |
| func (*OperationMetadata_BatchRecognizeMetadata) isOperationMetadata_Metadata() {} |
| |
| // Request message for the |
| // [ListRecognizers][google.cloud.speech.v2.Speech.ListRecognizers] method. |
| type ListRecognizersRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The project and location of Recognizers to list. The expected |
| // format is `projects/{project}/locations/{location}`. |
| Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` |
| // The maximum number of Recognizers to return. The service may return fewer |
| // than this value. If unspecified, at most 20 Recognizers will be returned. |
| // The maximum value is 20; values above 20 will be coerced to 20. |
| PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` |
| // A page token, received from a previous |
| // [ListRecognizers][google.cloud.speech.v2.Speech.ListRecognizers] call. |
| // Provide this to retrieve the subsequent page. |
| // |
| // When paginating, all other parameters provided to |
| // [ListRecognizers][google.cloud.speech.v2.Speech.ListRecognizers] must match |
| // the call that provided the page token. |
| PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` |
| // Whether, or not, to show resources that have been deleted. |
| ShowDeleted bool `protobuf:"varint,4,opt,name=show_deleted,json=showDeleted,proto3" json:"show_deleted,omitempty"` |
| } |
| |
| func (x *ListRecognizersRequest) Reset() { |
| *x = ListRecognizersRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[2] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ListRecognizersRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ListRecognizersRequest) ProtoMessage() {} |
| |
| func (x *ListRecognizersRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_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 ListRecognizersRequest.ProtoReflect.Descriptor instead. |
| func (*ListRecognizersRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{2} |
| } |
| |
| func (x *ListRecognizersRequest) GetParent() string { |
| if x != nil { |
| return x.Parent |
| } |
| return "" |
| } |
| |
| func (x *ListRecognizersRequest) GetPageSize() int32 { |
| if x != nil { |
| return x.PageSize |
| } |
| return 0 |
| } |
| |
| func (x *ListRecognizersRequest) GetPageToken() string { |
| if x != nil { |
| return x.PageToken |
| } |
| return "" |
| } |
| |
| func (x *ListRecognizersRequest) GetShowDeleted() bool { |
| if x != nil { |
| return x.ShowDeleted |
| } |
| return false |
| } |
| |
| // Response message for the |
| // [ListRecognizers][google.cloud.speech.v2.Speech.ListRecognizers] method. |
| type ListRecognizersResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The list of requested Recognizers. |
| Recognizers []*Recognizer `protobuf:"bytes,1,rep,name=recognizers,proto3" json:"recognizers,omitempty"` |
| // A token, which can be sent as |
| // [page_token][google.cloud.speech.v2.ListRecognizersRequest.page_token] to |
| // retrieve the next page. If this field is omitted, there are no subsequent |
| // pages. This token expires after 72 hours. |
| NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` |
| } |
| |
| func (x *ListRecognizersResponse) Reset() { |
| *x = ListRecognizersResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[3] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ListRecognizersResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ListRecognizersResponse) ProtoMessage() {} |
| |
| func (x *ListRecognizersResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_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 ListRecognizersResponse.ProtoReflect.Descriptor instead. |
| func (*ListRecognizersResponse) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{3} |
| } |
| |
| func (x *ListRecognizersResponse) GetRecognizers() []*Recognizer { |
| if x != nil { |
| return x.Recognizers |
| } |
| return nil |
| } |
| |
| func (x *ListRecognizersResponse) GetNextPageToken() string { |
| if x != nil { |
| return x.NextPageToken |
| } |
| return "" |
| } |
| |
| // Request message for the |
| // [GetRecognizer][google.cloud.speech.v2.Speech.GetRecognizer] method. |
| type GetRecognizerRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The name of the Recognizer to retrieve. The expected format is |
| // `projects/{project}/locations/{location}/recognizers/{recognizer}`. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| } |
| |
| func (x *GetRecognizerRequest) Reset() { |
| *x = GetRecognizerRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[4] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *GetRecognizerRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*GetRecognizerRequest) ProtoMessage() {} |
| |
| func (x *GetRecognizerRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[4] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use GetRecognizerRequest.ProtoReflect.Descriptor instead. |
| func (*GetRecognizerRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{4} |
| } |
| |
| func (x *GetRecognizerRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| // Request message for the |
| // [UpdateRecognizer][google.cloud.speech.v2.Speech.UpdateRecognizer] method. |
| type UpdateRecognizerRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The Recognizer to update. |
| // |
| // The Recognizer's `name` field is used to identify the Recognizer to update. |
| // Format: `projects/{project}/locations/{location}/recognizers/{recognizer}`. |
| Recognizer *Recognizer `protobuf:"bytes,1,opt,name=recognizer,proto3" json:"recognizer,omitempty"` |
| // The list of fields to update. If empty, all non-default valued fields are |
| // considered for update. Use `*` to update the entire Recognizer resource. |
| UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` |
| // If set, validate the request and preview the updated Recognizer, but do not |
| // actually update it. |
| ValidateOnly bool `protobuf:"varint,4,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` |
| } |
| |
| func (x *UpdateRecognizerRequest) Reset() { |
| *x = UpdateRecognizerRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[5] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *UpdateRecognizerRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*UpdateRecognizerRequest) ProtoMessage() {} |
| |
| func (x *UpdateRecognizerRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[5] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use UpdateRecognizerRequest.ProtoReflect.Descriptor instead. |
| func (*UpdateRecognizerRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{5} |
| } |
| |
| func (x *UpdateRecognizerRequest) GetRecognizer() *Recognizer { |
| if x != nil { |
| return x.Recognizer |
| } |
| return nil |
| } |
| |
| func (x *UpdateRecognizerRequest) GetUpdateMask() *fieldmaskpb.FieldMask { |
| if x != nil { |
| return x.UpdateMask |
| } |
| return nil |
| } |
| |
| func (x *UpdateRecognizerRequest) GetValidateOnly() bool { |
| if x != nil { |
| return x.ValidateOnly |
| } |
| return false |
| } |
| |
| // Request message for the |
| // [DeleteRecognizer][google.cloud.speech.v2.Speech.DeleteRecognizer] method. |
| type DeleteRecognizerRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The name of the Recognizer to delete. |
| // Format: `projects/{project}/locations/{location}/recognizers/{recognizer}` |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // If set, validate the request and preview the deleted Recognizer, but do not |
| // actually delete it. |
| ValidateOnly bool `protobuf:"varint,2,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` |
| // If set to true, and the Recognizer is not found, the request will succeed |
| // and be a no-op (no Operation is recorded in this case). |
| AllowMissing bool `protobuf:"varint,4,opt,name=allow_missing,json=allowMissing,proto3" json:"allow_missing,omitempty"` |
| // This checksum is computed by the server based on the value of other |
| // fields. This may be sent on update, undelete, and delete requests to ensure |
| // the client has an up-to-date value before proceeding. |
| Etag string `protobuf:"bytes,3,opt,name=etag,proto3" json:"etag,omitempty"` |
| } |
| |
| func (x *DeleteRecognizerRequest) Reset() { |
| *x = DeleteRecognizerRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[6] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DeleteRecognizerRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DeleteRecognizerRequest) ProtoMessage() {} |
| |
| func (x *DeleteRecognizerRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_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 DeleteRecognizerRequest.ProtoReflect.Descriptor instead. |
| func (*DeleteRecognizerRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{6} |
| } |
| |
| func (x *DeleteRecognizerRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *DeleteRecognizerRequest) GetValidateOnly() bool { |
| if x != nil { |
| return x.ValidateOnly |
| } |
| return false |
| } |
| |
| func (x *DeleteRecognizerRequest) GetAllowMissing() bool { |
| if x != nil { |
| return x.AllowMissing |
| } |
| return false |
| } |
| |
| func (x *DeleteRecognizerRequest) GetEtag() string { |
| if x != nil { |
| return x.Etag |
| } |
| return "" |
| } |
| |
| // Request message for the |
| // [UndeleteRecognizer][google.cloud.speech.v2.Speech.UndeleteRecognizer] |
| // method. |
| type UndeleteRecognizerRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The name of the Recognizer to undelete. |
| // Format: `projects/{project}/locations/{location}/recognizers/{recognizer}` |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // If set, validate the request and preview the undeleted Recognizer, but do |
| // not actually undelete it. |
| ValidateOnly bool `protobuf:"varint,3,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` |
| // This checksum is computed by the server based on the value of other |
| // fields. This may be sent on update, undelete, and delete requests to ensure |
| // the client has an up-to-date value before proceeding. |
| Etag string `protobuf:"bytes,4,opt,name=etag,proto3" json:"etag,omitempty"` |
| } |
| |
| func (x *UndeleteRecognizerRequest) Reset() { |
| *x = UndeleteRecognizerRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[7] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *UndeleteRecognizerRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*UndeleteRecognizerRequest) ProtoMessage() {} |
| |
| func (x *UndeleteRecognizerRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[7] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use UndeleteRecognizerRequest.ProtoReflect.Descriptor instead. |
| func (*UndeleteRecognizerRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{7} |
| } |
| |
| func (x *UndeleteRecognizerRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *UndeleteRecognizerRequest) GetValidateOnly() bool { |
| if x != nil { |
| return x.ValidateOnly |
| } |
| return false |
| } |
| |
| func (x *UndeleteRecognizerRequest) GetEtag() string { |
| if x != nil { |
| return x.Etag |
| } |
| return "" |
| } |
| |
| // A Recognizer message. Stores recognition configuration and metadata. |
| type Recognizer struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Output only. The resource name of the Recognizer. |
| // Format: `projects/{project}/locations/{location}/recognizers/{recognizer}`. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // Output only. System-assigned unique identifier for the Recognizer. |
| Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid,omitempty"` |
| // User-settable, human-readable name for the Recognizer. Must be 63 |
| // characters or less. |
| DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` |
| // Required. Which model to use for recognition requests. Select the model |
| // best suited to your domain to get best results. |
| // |
| // Supported models: |
| // |
| // - `latest_long` |
| // |
| // Best for long form content like media or conversation. |
| // |
| // - `latest_short` |
| // |
| // Best for short form content like commands or single shot directed speech. |
| // When using this model, the service will stop transcribing audio after the |
| // first utterance is detected and completed. |
| // |
| // When using this model, |
| // [SEPARATE_RECOGNITION_PER_CHANNEL][google.cloud.speech.v2.RecognitionFeatures.MultiChannelMode.SEPARATE_RECOGNITION_PER_CHANNEL] |
| // is not supported; multi-channel audio is accepted, but only the first |
| // channel will be processed and transcribed. |
| Model string `protobuf:"bytes,4,opt,name=model,proto3" json:"model,omitempty"` |
| // Required. The language of the supplied audio as a |
| // [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. |
| // |
| // Supported languages: |
| // |
| // - `en-US` |
| // |
| // - `en-GB` |
| // |
| // - `fr-FR` |
| // |
| // If additional languages are provided, recognition result will contain |
| // recognition in the most likely language detected. The recognition result |
| // will include the language tag of the language detected in the audio. |
| // When you create or update a Recognizer, these values are |
| // stored in normalized BCP-47 form. For example, "en-us" is stored as |
| // "en-US". |
| LanguageCodes []string `protobuf:"bytes,17,rep,name=language_codes,json=languageCodes,proto3" json:"language_codes,omitempty"` |
| // Default configuration to use for requests with this Recognizer. |
| // This can be overwritten by inline configuration in the |
| // [RecognizeRequest.config][google.cloud.speech.v2.RecognizeRequest.config] |
| // field. |
| DefaultRecognitionConfig *RecognitionConfig `protobuf:"bytes,6,opt,name=default_recognition_config,json=defaultRecognitionConfig,proto3" json:"default_recognition_config,omitempty"` |
| // Allows users to store small amounts of arbitrary data. |
| // Both the key and the value must be 63 characters or less each. |
| // At most 100 annotations. |
| Annotations map[string]string `protobuf:"bytes,7,rep,name=annotations,proto3" json:"annotations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` |
| // Output only. The Recognizer lifecycle state. |
| State Recognizer_State `protobuf:"varint,8,opt,name=state,proto3,enum=google.cloud.speech.v2.Recognizer_State" json:"state,omitempty"` |
| // Output only. Creation time. |
| CreateTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` |
| // Output only. The most recent time this Recognizer was modified. |
| UpdateTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` |
| // Output only. The time at which this Recognizer was requested for deletion. |
| DeleteTime *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=delete_time,json=deleteTime,proto3" json:"delete_time,omitempty"` |
| // Output only. The time at which this Recognizer will be purged. |
| ExpireTime *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=expire_time,json=expireTime,proto3" json:"expire_time,omitempty"` |
| // Output only. This checksum is computed by the server based on the value of |
| // other fields. This may be sent on update, undelete, and delete requests to |
| // ensure the client has an up-to-date value before proceeding. |
| Etag string `protobuf:"bytes,12,opt,name=etag,proto3" json:"etag,omitempty"` |
| // Output only. Whether or not this Recognizer is in the process of being |
| // updated. |
| Reconciling bool `protobuf:"varint,13,opt,name=reconciling,proto3" json:"reconciling,omitempty"` |
| // Output only. The [KMS key |
| // name](https://cloud.google.com/kms/docs/resource-hierarchy#keys) with which |
| // the Recognizer is encrypted. The expected format is |
| // `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`. |
| KmsKeyName string `protobuf:"bytes,15,opt,name=kms_key_name,json=kmsKeyName,proto3" json:"kms_key_name,omitempty"` |
| // Output only. The [KMS key version |
| // name](https://cloud.google.com/kms/docs/resource-hierarchy#key_versions) |
| // with which the Recognizer is encrypted. The expected format is |
| // `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}`. |
| KmsKeyVersionName string `protobuf:"bytes,16,opt,name=kms_key_version_name,json=kmsKeyVersionName,proto3" json:"kms_key_version_name,omitempty"` |
| } |
| |
| func (x *Recognizer) Reset() { |
| *x = Recognizer{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[8] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *Recognizer) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*Recognizer) ProtoMessage() {} |
| |
| func (x *Recognizer) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[8] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use Recognizer.ProtoReflect.Descriptor instead. |
| func (*Recognizer) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{8} |
| } |
| |
| func (x *Recognizer) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *Recognizer) GetUid() string { |
| if x != nil { |
| return x.Uid |
| } |
| return "" |
| } |
| |
| func (x *Recognizer) GetDisplayName() string { |
| if x != nil { |
| return x.DisplayName |
| } |
| return "" |
| } |
| |
| func (x *Recognizer) GetModel() string { |
| if x != nil { |
| return x.Model |
| } |
| return "" |
| } |
| |
| func (x *Recognizer) GetLanguageCodes() []string { |
| if x != nil { |
| return x.LanguageCodes |
| } |
| return nil |
| } |
| |
| func (x *Recognizer) GetDefaultRecognitionConfig() *RecognitionConfig { |
| if x != nil { |
| return x.DefaultRecognitionConfig |
| } |
| return nil |
| } |
| |
| func (x *Recognizer) GetAnnotations() map[string]string { |
| if x != nil { |
| return x.Annotations |
| } |
| return nil |
| } |
| |
| func (x *Recognizer) GetState() Recognizer_State { |
| if x != nil { |
| return x.State |
| } |
| return Recognizer_STATE_UNSPECIFIED |
| } |
| |
| func (x *Recognizer) GetCreateTime() *timestamppb.Timestamp { |
| if x != nil { |
| return x.CreateTime |
| } |
| return nil |
| } |
| |
| func (x *Recognizer) GetUpdateTime() *timestamppb.Timestamp { |
| if x != nil { |
| return x.UpdateTime |
| } |
| return nil |
| } |
| |
| func (x *Recognizer) GetDeleteTime() *timestamppb.Timestamp { |
| if x != nil { |
| return x.DeleteTime |
| } |
| return nil |
| } |
| |
| func (x *Recognizer) GetExpireTime() *timestamppb.Timestamp { |
| if x != nil { |
| return x.ExpireTime |
| } |
| return nil |
| } |
| |
| func (x *Recognizer) GetEtag() string { |
| if x != nil { |
| return x.Etag |
| } |
| return "" |
| } |
| |
| func (x *Recognizer) GetReconciling() bool { |
| if x != nil { |
| return x.Reconciling |
| } |
| return false |
| } |
| |
| func (x *Recognizer) GetKmsKeyName() string { |
| if x != nil { |
| return x.KmsKeyName |
| } |
| return "" |
| } |
| |
| func (x *Recognizer) GetKmsKeyVersionName() string { |
| if x != nil { |
| return x.KmsKeyVersionName |
| } |
| return "" |
| } |
| |
| // Automatically detected decoding parameters. |
| // Supported for the following encodings: |
| // * WAV_LINEAR16: 16-bit signed little-endian PCM samples in a WAV container. |
| // * WAV_MULAW: 8-bit companded mulaw samples in a WAV container. |
| // * WAV_ALAW: 8-bit companded alaw samples in a WAV container. |
| // * RFC4867_5_AMR: AMR frames with an rfc4867.5 header. |
| // * RFC4867_5_AMRWB: AMR-WB frames with an rfc4867.5 header. |
| // * FLAC: FLAC frames in the "native FLAC" container format. |
| // * MP3: MPEG audio frames with optional (ignored) ID3 metadata. |
| // * OGG_OPUS: Opus audio frames in an Ogg container. |
| // * WEBM_OPUS: Opus audio frames in a WebM container. |
| type AutoDetectDecodingConfig struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| } |
| |
| func (x *AutoDetectDecodingConfig) Reset() { |
| *x = AutoDetectDecodingConfig{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[9] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *AutoDetectDecodingConfig) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*AutoDetectDecodingConfig) ProtoMessage() {} |
| |
| func (x *AutoDetectDecodingConfig) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[9] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use AutoDetectDecodingConfig.ProtoReflect.Descriptor instead. |
| func (*AutoDetectDecodingConfig) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{9} |
| } |
| |
| // Explicitly specified decoding parameters. |
| type ExplicitDecodingConfig struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. Encoding of the audio data sent for recognition. |
| Encoding ExplicitDecodingConfig_AudioEncoding `protobuf:"varint,1,opt,name=encoding,proto3,enum=google.cloud.speech.v2.ExplicitDecodingConfig_AudioEncoding" json:"encoding,omitempty"` |
| // Sample rate in Hertz of the audio data sent for recognition. Valid |
| // values are: 8000-48000. 16000 is optimal. For best results, set the |
| // sampling rate of the audio source to 16000 Hz. If that's not possible, use |
| // the native sample rate of the audio source (instead of re-sampling). |
| // Supported for the following encodings: |
| // * LINEAR16: Headerless 16-bit signed little-endian PCM samples. |
| // * MULAW: Headerless 8-bit companded mulaw samples. |
| // * ALAW: Headerless 8-bit companded alaw samples. |
| SampleRateHertz int32 `protobuf:"varint,2,opt,name=sample_rate_hertz,json=sampleRateHertz,proto3" json:"sample_rate_hertz,omitempty"` |
| // Number of channels present in the audio data sent for recognition. |
| // Supported for the following encodings: |
| // * LINEAR16: Headerless 16-bit signed little-endian PCM samples. |
| // * MULAW: Headerless 8-bit companded mulaw samples. |
| // * ALAW: Headerless 8-bit companded alaw samples. |
| AudioChannelCount int32 `protobuf:"varint,3,opt,name=audio_channel_count,json=audioChannelCount,proto3" json:"audio_channel_count,omitempty"` |
| } |
| |
| func (x *ExplicitDecodingConfig) Reset() { |
| *x = ExplicitDecodingConfig{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[10] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ExplicitDecodingConfig) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ExplicitDecodingConfig) ProtoMessage() {} |
| |
| func (x *ExplicitDecodingConfig) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[10] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ExplicitDecodingConfig.ProtoReflect.Descriptor instead. |
| func (*ExplicitDecodingConfig) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{10} |
| } |
| |
| func (x *ExplicitDecodingConfig) GetEncoding() ExplicitDecodingConfig_AudioEncoding { |
| if x != nil { |
| return x.Encoding |
| } |
| return ExplicitDecodingConfig_AUDIO_ENCODING_UNSPECIFIED |
| } |
| |
| func (x *ExplicitDecodingConfig) GetSampleRateHertz() int32 { |
| if x != nil { |
| return x.SampleRateHertz |
| } |
| return 0 |
| } |
| |
| func (x *ExplicitDecodingConfig) GetAudioChannelCount() int32 { |
| if x != nil { |
| return x.AudioChannelCount |
| } |
| return 0 |
| } |
| |
| // Configuration to enable speaker diarization. |
| type SpeakerDiarizationConfig struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. Minimum number of speakers in the conversation. This range gives |
| // you more flexibility by allowing the system to automatically determine the |
| // correct number of speakers. If not set, the default value is 2. |
| // |
| // To fix the number of speakers detected in the audio, set |
| // `min_speaker_count` = `max_speaker_count`. |
| MinSpeakerCount int32 `protobuf:"varint,2,opt,name=min_speaker_count,json=minSpeakerCount,proto3" json:"min_speaker_count,omitempty"` |
| // Required. Maximum number of speakers in the conversation. Valid values are: |
| // 1-6. Must be >= `min_speaker_count`. This range gives you more flexibility |
| // by allowing the system to automatically determine the correct number of |
| // speakers. |
| MaxSpeakerCount int32 `protobuf:"varint,3,opt,name=max_speaker_count,json=maxSpeakerCount,proto3" json:"max_speaker_count,omitempty"` |
| } |
| |
| func (x *SpeakerDiarizationConfig) Reset() { |
| *x = SpeakerDiarizationConfig{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[11] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *SpeakerDiarizationConfig) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*SpeakerDiarizationConfig) ProtoMessage() {} |
| |
| func (x *SpeakerDiarizationConfig) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[11] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use SpeakerDiarizationConfig.ProtoReflect.Descriptor instead. |
| func (*SpeakerDiarizationConfig) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{11} |
| } |
| |
| func (x *SpeakerDiarizationConfig) GetMinSpeakerCount() int32 { |
| if x != nil { |
| return x.MinSpeakerCount |
| } |
| return 0 |
| } |
| |
| func (x *SpeakerDiarizationConfig) GetMaxSpeakerCount() int32 { |
| if x != nil { |
| return x.MaxSpeakerCount |
| } |
| return 0 |
| } |
| |
| // Available recognition features. |
| type RecognitionFeatures struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // If set to `true`, the server will attempt to filter out profanities, |
| // replacing all but the initial character in each filtered word with |
| // asterisks, for instance, "f***". If set to `false` or omitted, profanities |
| // won't be filtered out. |
| ProfanityFilter bool `protobuf:"varint,1,opt,name=profanity_filter,json=profanityFilter,proto3" json:"profanity_filter,omitempty"` |
| // If `true`, the top result includes a list of words and the start and end |
| // time offsets (timestamps) for those words. If `false`, no word-level time |
| // offset information is returned. The default is `false`. |
| EnableWordTimeOffsets bool `protobuf:"varint,2,opt,name=enable_word_time_offsets,json=enableWordTimeOffsets,proto3" json:"enable_word_time_offsets,omitempty"` |
| // If `true`, the top result includes a list of words and the confidence for |
| // those words. If `false`, no word-level confidence information is returned. |
| // The default is `false`. |
| EnableWordConfidence bool `protobuf:"varint,3,opt,name=enable_word_confidence,json=enableWordConfidence,proto3" json:"enable_word_confidence,omitempty"` |
| // If `true`, adds punctuation to recognition result hypotheses. This feature |
| // is only available in select languages. The default `false` value does not |
| // add punctuation to result hypotheses. |
| EnableAutomaticPunctuation bool `protobuf:"varint,4,opt,name=enable_automatic_punctuation,json=enableAutomaticPunctuation,proto3" json:"enable_automatic_punctuation,omitempty"` |
| // The spoken punctuation behavior for the call. If `true`, replaces spoken |
| // punctuation with the corresponding symbols in the request. For example, |
| // "how are you question mark" becomes "how are you?". See |
| // https://cloud.google.com/speech-to-text/docs/spoken-punctuation for |
| // support. If `false`, spoken punctuation is not replaced. |
| EnableSpokenPunctuation bool `protobuf:"varint,14,opt,name=enable_spoken_punctuation,json=enableSpokenPunctuation,proto3" json:"enable_spoken_punctuation,omitempty"` |
| // The spoken emoji behavior for the call. If `true`, adds spoken emoji |
| // formatting for the request. This will replace spoken emojis with the |
| // corresponding Unicode symbols in the final transcript. If `false`, spoken |
| // emojis are not replaced. |
| EnableSpokenEmojis bool `protobuf:"varint,15,opt,name=enable_spoken_emojis,json=enableSpokenEmojis,proto3" json:"enable_spoken_emojis,omitempty"` |
| // Mode for recognizing multi-channel audio. |
| MultiChannelMode RecognitionFeatures_MultiChannelMode `protobuf:"varint,17,opt,name=multi_channel_mode,json=multiChannelMode,proto3,enum=google.cloud.speech.v2.RecognitionFeatures_MultiChannelMode" json:"multi_channel_mode,omitempty"` |
| // Configuration to enable speaker diarization and set additional |
| // parameters to make diarization better suited for your application. |
| // When this is enabled, we send all the words from the beginning of the |
| // audio for the top alternative in every consecutive STREAMING responses. |
| // This is done in order to improve our speaker tags as our models learn to |
| // identify the speakers in the conversation over time. |
| // For non-streaming requests, the diarization results will be provided only |
| // in the top alternative of the FINAL SpeechRecognitionResult. |
| DiarizationConfig *SpeakerDiarizationConfig `protobuf:"bytes,9,opt,name=diarization_config,json=diarizationConfig,proto3" json:"diarization_config,omitempty"` |
| // Maximum number of recognition hypotheses to be returned. |
| // The server may return fewer than `max_alternatives`. |
| // Valid values are `0`-`30`. A value of `0` or `1` will return a maximum of |
| // one. If omitted, will return a maximum of one. |
| MaxAlternatives int32 `protobuf:"varint,16,opt,name=max_alternatives,json=maxAlternatives,proto3" json:"max_alternatives,omitempty"` |
| } |
| |
| func (x *RecognitionFeatures) Reset() { |
| *x = RecognitionFeatures{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[12] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *RecognitionFeatures) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*RecognitionFeatures) ProtoMessage() {} |
| |
| func (x *RecognitionFeatures) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[12] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use RecognitionFeatures.ProtoReflect.Descriptor instead. |
| func (*RecognitionFeatures) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{12} |
| } |
| |
| func (x *RecognitionFeatures) GetProfanityFilter() bool { |
| if x != nil { |
| return x.ProfanityFilter |
| } |
| return false |
| } |
| |
| func (x *RecognitionFeatures) GetEnableWordTimeOffsets() bool { |
| if x != nil { |
| return x.EnableWordTimeOffsets |
| } |
| return false |
| } |
| |
| func (x *RecognitionFeatures) GetEnableWordConfidence() bool { |
| if x != nil { |
| return x.EnableWordConfidence |
| } |
| return false |
| } |
| |
| func (x *RecognitionFeatures) GetEnableAutomaticPunctuation() bool { |
| if x != nil { |
| return x.EnableAutomaticPunctuation |
| } |
| return false |
| } |
| |
| func (x *RecognitionFeatures) GetEnableSpokenPunctuation() bool { |
| if x != nil { |
| return x.EnableSpokenPunctuation |
| } |
| return false |
| } |
| |
| func (x *RecognitionFeatures) GetEnableSpokenEmojis() bool { |
| if x != nil { |
| return x.EnableSpokenEmojis |
| } |
| return false |
| } |
| |
| func (x *RecognitionFeatures) GetMultiChannelMode() RecognitionFeatures_MultiChannelMode { |
| if x != nil { |
| return x.MultiChannelMode |
| } |
| return RecognitionFeatures_MULTI_CHANNEL_MODE_UNSPECIFIED |
| } |
| |
| func (x *RecognitionFeatures) GetDiarizationConfig() *SpeakerDiarizationConfig { |
| if x != nil { |
| return x.DiarizationConfig |
| } |
| return nil |
| } |
| |
| func (x *RecognitionFeatures) GetMaxAlternatives() int32 { |
| if x != nil { |
| return x.MaxAlternatives |
| } |
| return 0 |
| } |
| |
| // Provides "hints" to the speech recognizer to favor specific words and phrases |
| // in the results. Phrase sets can be specified as an inline resource, or a |
| // reference to an existing phrase set resource. |
| type SpeechAdaptation struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // A list of inline or referenced phrase sets. |
| PhraseSets []*SpeechAdaptation_AdaptationPhraseSet `protobuf:"bytes,1,rep,name=phrase_sets,json=phraseSets,proto3" json:"phrase_sets,omitempty"` |
| // A list of inline custom classes. Existing custom class resources can be |
| // referenced directly in a phrase set. |
| CustomClasses []*CustomClass `protobuf:"bytes,2,rep,name=custom_classes,json=customClasses,proto3" json:"custom_classes,omitempty"` |
| } |
| |
| func (x *SpeechAdaptation) Reset() { |
| *x = SpeechAdaptation{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[13] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *SpeechAdaptation) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*SpeechAdaptation) ProtoMessage() {} |
| |
| func (x *SpeechAdaptation) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[13] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use SpeechAdaptation.ProtoReflect.Descriptor instead. |
| func (*SpeechAdaptation) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{13} |
| } |
| |
| func (x *SpeechAdaptation) GetPhraseSets() []*SpeechAdaptation_AdaptationPhraseSet { |
| if x != nil { |
| return x.PhraseSets |
| } |
| return nil |
| } |
| |
| func (x *SpeechAdaptation) GetCustomClasses() []*CustomClass { |
| if x != nil { |
| return x.CustomClasses |
| } |
| return nil |
| } |
| |
| // Provides information to the Recognizer that specifies how to process the |
| // recognition request. |
| type RecognitionConfig struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Decoding parameters for audio being sent for recognition. |
| // |
| // Types that are assignable to DecodingConfig: |
| // |
| // *RecognitionConfig_AutoDecodingConfig |
| // *RecognitionConfig_ExplicitDecodingConfig |
| DecodingConfig isRecognitionConfig_DecodingConfig `protobuf_oneof:"decoding_config"` |
| // Speech recognition features to enable. |
| Features *RecognitionFeatures `protobuf:"bytes,2,opt,name=features,proto3" json:"features,omitempty"` |
| // Speech adaptation context that weights recognizer predictions for specific |
| // words and phrases. |
| Adaptation *SpeechAdaptation `protobuf:"bytes,6,opt,name=adaptation,proto3" json:"adaptation,omitempty"` |
| } |
| |
| func (x *RecognitionConfig) Reset() { |
| *x = RecognitionConfig{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[14] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *RecognitionConfig) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*RecognitionConfig) ProtoMessage() {} |
| |
| func (x *RecognitionConfig) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[14] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use RecognitionConfig.ProtoReflect.Descriptor instead. |
| func (*RecognitionConfig) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{14} |
| } |
| |
| func (m *RecognitionConfig) GetDecodingConfig() isRecognitionConfig_DecodingConfig { |
| if m != nil { |
| return m.DecodingConfig |
| } |
| return nil |
| } |
| |
| func (x *RecognitionConfig) GetAutoDecodingConfig() *AutoDetectDecodingConfig { |
| if x, ok := x.GetDecodingConfig().(*RecognitionConfig_AutoDecodingConfig); ok { |
| return x.AutoDecodingConfig |
| } |
| return nil |
| } |
| |
| func (x *RecognitionConfig) GetExplicitDecodingConfig() *ExplicitDecodingConfig { |
| if x, ok := x.GetDecodingConfig().(*RecognitionConfig_ExplicitDecodingConfig); ok { |
| return x.ExplicitDecodingConfig |
| } |
| return nil |
| } |
| |
| func (x *RecognitionConfig) GetFeatures() *RecognitionFeatures { |
| if x != nil { |
| return x.Features |
| } |
| return nil |
| } |
| |
| func (x *RecognitionConfig) GetAdaptation() *SpeechAdaptation { |
| if x != nil { |
| return x.Adaptation |
| } |
| return nil |
| } |
| |
| type isRecognitionConfig_DecodingConfig interface { |
| isRecognitionConfig_DecodingConfig() |
| } |
| |
| type RecognitionConfig_AutoDecodingConfig struct { |
| // Automatically detect decoding parameters. |
| // Preferred for supported formats. |
| AutoDecodingConfig *AutoDetectDecodingConfig `protobuf:"bytes,7,opt,name=auto_decoding_config,json=autoDecodingConfig,proto3,oneof"` |
| } |
| |
| type RecognitionConfig_ExplicitDecodingConfig struct { |
| // Explicitly specified decoding parameters. |
| // Required if using headerless PCM audio (linear16, mulaw, alaw). |
| ExplicitDecodingConfig *ExplicitDecodingConfig `protobuf:"bytes,8,opt,name=explicit_decoding_config,json=explicitDecodingConfig,proto3,oneof"` |
| } |
| |
| func (*RecognitionConfig_AutoDecodingConfig) isRecognitionConfig_DecodingConfig() {} |
| |
| func (*RecognitionConfig_ExplicitDecodingConfig) isRecognitionConfig_DecodingConfig() {} |
| |
| // Request message for the |
| // [Recognize][google.cloud.speech.v2.Speech.Recognize] method. Either |
| // `content` or `uri` must be supplied. Supplying both or neither returns |
| // [INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]. See [content |
| // limits](https://cloud.google.com/speech-to-text/quotas#content). |
| type RecognizeRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The name of the Recognizer to use during recognition. The |
| // expected format is |
| // `projects/{project}/locations/{location}/recognizers/{recognizer}`. |
| Recognizer string `protobuf:"bytes,3,opt,name=recognizer,proto3" json:"recognizer,omitempty"` |
| // Features and audio metadata to use for the Automatic Speech Recognition. |
| // This field in combination with the |
| // [config_mask][google.cloud.speech.v2.RecognizeRequest.config_mask] field |
| // can be used to override parts of the |
| // [default_recognition_config][google.cloud.speech.v2.Recognizer.default_recognition_config] |
| // of the Recognizer resource. |
| Config *RecognitionConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` |
| // The list of fields in |
| // [config][google.cloud.speech.v2.RecognizeRequest.config] that override the |
| // values in the |
| // [default_recognition_config][google.cloud.speech.v2.Recognizer.default_recognition_config] |
| // of the recognizer during this recognition request. If no mask is provided, |
| // all non-default valued fields in |
| // [config][google.cloud.speech.v2.RecognizeRequest.config] override the |
| // values in the recognizer for this recognition request. If a mask is |
| // provided, only the fields listed in the mask override the config in the |
| // recognizer for this recognition request. If a wildcard (`*`) is provided, |
| // [config][google.cloud.speech.v2.RecognizeRequest.config] completely |
| // overrides and replaces the config in the recognizer for this recognition |
| // request. |
| ConfigMask *fieldmaskpb.FieldMask `protobuf:"bytes,8,opt,name=config_mask,json=configMask,proto3" json:"config_mask,omitempty"` |
| // The audio source, which is either inline content or a Google Cloud |
| // Storage URI. |
| // |
| // Types that are assignable to AudioSource: |
| // |
| // *RecognizeRequest_Content |
| // *RecognizeRequest_Uri |
| AudioSource isRecognizeRequest_AudioSource `protobuf_oneof:"audio_source"` |
| } |
| |
| func (x *RecognizeRequest) Reset() { |
| *x = RecognizeRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[15] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *RecognizeRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*RecognizeRequest) ProtoMessage() {} |
| |
| func (x *RecognizeRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[15] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use RecognizeRequest.ProtoReflect.Descriptor instead. |
| func (*RecognizeRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{15} |
| } |
| |
| func (x *RecognizeRequest) GetRecognizer() string { |
| if x != nil { |
| return x.Recognizer |
| } |
| return "" |
| } |
| |
| func (x *RecognizeRequest) GetConfig() *RecognitionConfig { |
| if x != nil { |
| return x.Config |
| } |
| return nil |
| } |
| |
| func (x *RecognizeRequest) GetConfigMask() *fieldmaskpb.FieldMask { |
| if x != nil { |
| return x.ConfigMask |
| } |
| return nil |
| } |
| |
| func (m *RecognizeRequest) GetAudioSource() isRecognizeRequest_AudioSource { |
| if m != nil { |
| return m.AudioSource |
| } |
| return nil |
| } |
| |
| func (x *RecognizeRequest) GetContent() []byte { |
| if x, ok := x.GetAudioSource().(*RecognizeRequest_Content); ok { |
| return x.Content |
| } |
| return nil |
| } |
| |
| func (x *RecognizeRequest) GetUri() string { |
| if x, ok := x.GetAudioSource().(*RecognizeRequest_Uri); ok { |
| return x.Uri |
| } |
| return "" |
| } |
| |
| type isRecognizeRequest_AudioSource interface { |
| isRecognizeRequest_AudioSource() |
| } |
| |
| type RecognizeRequest_Content struct { |
| // The audio data bytes encoded as specified in |
| // [RecognitionConfig][google.cloud.speech.v2.RecognitionConfig]. As |
| // with all bytes fields, proto buffers use a pure binary representation, |
| // whereas JSON representations use base64. |
| Content []byte `protobuf:"bytes,5,opt,name=content,proto3,oneof"` |
| } |
| |
| type RecognizeRequest_Uri struct { |
| // URI that points to a file that contains audio data bytes as specified in |
| // [RecognitionConfig][google.cloud.speech.v2.RecognitionConfig]. The file |
| // must not be compressed (for example, gzip). Currently, only Google Cloud |
| // Storage URIs are supported, which must be specified in the following |
| // format: `gs://bucket_name/object_name` (other URI formats return |
| // [INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more |
| // information, see [Request |
| // URIs](https://cloud.google.com/storage/docs/reference-uris). |
| Uri string `protobuf:"bytes,6,opt,name=uri,proto3,oneof"` |
| } |
| |
| func (*RecognizeRequest_Content) isRecognizeRequest_AudioSource() {} |
| |
| func (*RecognizeRequest_Uri) isRecognizeRequest_AudioSource() {} |
| |
| // Metadata about the recognition request and response. |
| type RecognitionResponseMetadata struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // When available, billed audio seconds for the corresponding request. |
| TotalBilledDuration *durationpb.Duration `protobuf:"bytes,6,opt,name=total_billed_duration,json=totalBilledDuration,proto3" json:"total_billed_duration,omitempty"` |
| } |
| |
| func (x *RecognitionResponseMetadata) Reset() { |
| *x = RecognitionResponseMetadata{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[16] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *RecognitionResponseMetadata) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*RecognitionResponseMetadata) ProtoMessage() {} |
| |
| func (x *RecognitionResponseMetadata) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[16] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use RecognitionResponseMetadata.ProtoReflect.Descriptor instead. |
| func (*RecognitionResponseMetadata) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{16} |
| } |
| |
| func (x *RecognitionResponseMetadata) GetTotalBilledDuration() *durationpb.Duration { |
| if x != nil { |
| return x.TotalBilledDuration |
| } |
| return nil |
| } |
| |
| // Alternative hypotheses (a.k.a. n-best list). |
| type SpeechRecognitionAlternative struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Transcript text representing the words that the user spoke. |
| Transcript string `protobuf:"bytes,1,opt,name=transcript,proto3" json:"transcript,omitempty"` |
| // The confidence estimate between 0.0 and 1.0. A higher number |
| // indicates an estimated greater likelihood that the recognized words are |
| // correct. This field is set only for the top alternative of a non-streaming |
| // result or, of a streaming result where |
| // [is_final][google.cloud.speech.v2.StreamingRecognitionResult.is_final] is |
| // set to `true`. This field is not guaranteed to be accurate and users should |
| // not rely on it to be always provided. The default of 0.0 is a sentinel |
| // value indicating `confidence` was not set. |
| Confidence float32 `protobuf:"fixed32,2,opt,name=confidence,proto3" json:"confidence,omitempty"` |
| // A list of word-specific information for each recognized word. |
| // When |
| // [enable_speaker_diarization][google.cloud.speech.v2.SpeakerDiarizationConfig.enable_speaker_diarization] |
| // is true, you will see all the words from the beginning of the audio. |
| Words []*WordInfo `protobuf:"bytes,3,rep,name=words,proto3" json:"words,omitempty"` |
| } |
| |
| func (x *SpeechRecognitionAlternative) Reset() { |
| *x = SpeechRecognitionAlternative{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[17] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *SpeechRecognitionAlternative) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*SpeechRecognitionAlternative) ProtoMessage() {} |
| |
| func (x *SpeechRecognitionAlternative) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[17] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use SpeechRecognitionAlternative.ProtoReflect.Descriptor instead. |
| func (*SpeechRecognitionAlternative) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{17} |
| } |
| |
| func (x *SpeechRecognitionAlternative) GetTranscript() string { |
| if x != nil { |
| return x.Transcript |
| } |
| return "" |
| } |
| |
| func (x *SpeechRecognitionAlternative) GetConfidence() float32 { |
| if x != nil { |
| return x.Confidence |
| } |
| return 0 |
| } |
| |
| func (x *SpeechRecognitionAlternative) GetWords() []*WordInfo { |
| if x != nil { |
| return x.Words |
| } |
| return nil |
| } |
| |
| // Word-specific information for recognized words. |
| type WordInfo struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Time offset relative to the beginning of the audio, |
| // and corresponding to the start of the spoken word. |
| // This field is only set if |
| // [enable_word_time_offsets][google.cloud.speech.v2.RecognitionFeatures.enable_word_time_offsets] |
| // is `true` and only in the top hypothesis. This is an experimental feature |
| // and the accuracy of the time offset can vary. |
| StartOffset *durationpb.Duration `protobuf:"bytes,1,opt,name=start_offset,json=startOffset,proto3" json:"start_offset,omitempty"` |
| // Time offset relative to the beginning of the audio, |
| // and corresponding to the end of the spoken word. |
| // This field is only set if |
| // [enable_word_time_offsets][google.cloud.speech.v2.RecognitionFeatures.enable_word_time_offsets] |
| // is `true` and only in the top hypothesis. This is an experimental feature |
| // and the accuracy of the time offset can vary. |
| EndOffset *durationpb.Duration `protobuf:"bytes,2,opt,name=end_offset,json=endOffset,proto3" json:"end_offset,omitempty"` |
| // The word corresponding to this set of information. |
| Word string `protobuf:"bytes,3,opt,name=word,proto3" json:"word,omitempty"` |
| // The confidence estimate between 0.0 and 1.0. A higher number |
| // indicates an estimated greater likelihood that the recognized words are |
| // correct. This field is set only for the top alternative of a non-streaming |
| // result or, of a streaming result where |
| // [is_final][google.cloud.speech.v2.StreamingRecognitionResult.is_final] is |
| // set to `true`. This field is not guaranteed to be accurate and users should |
| // not rely on it to be always provided. The default of 0.0 is a sentinel |
| // value indicating `confidence` was not set. |
| Confidence float32 `protobuf:"fixed32,4,opt,name=confidence,proto3" json:"confidence,omitempty"` |
| // A distinct label is assigned for every speaker within the audio. This field |
| // specifies which one of those speakers was detected to have spoken this |
| // word. `speaker_label` is set if |
| // [enable_speaker_diarization][google.cloud.speech.v2.SpeakerDiarizationConfig.enable_speaker_diarization] |
| // is `true` and only in the top alternative. |
| SpeakerLabel string `protobuf:"bytes,6,opt,name=speaker_label,json=speakerLabel,proto3" json:"speaker_label,omitempty"` |
| } |
| |
| func (x *WordInfo) Reset() { |
| *x = WordInfo{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[18] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *WordInfo) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*WordInfo) ProtoMessage() {} |
| |
| func (x *WordInfo) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_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 WordInfo.ProtoReflect.Descriptor instead. |
| func (*WordInfo) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{18} |
| } |
| |
| func (x *WordInfo) GetStartOffset() *durationpb.Duration { |
| if x != nil { |
| return x.StartOffset |
| } |
| return nil |
| } |
| |
| func (x *WordInfo) GetEndOffset() *durationpb.Duration { |
| if x != nil { |
| return x.EndOffset |
| } |
| return nil |
| } |
| |
| func (x *WordInfo) GetWord() string { |
| if x != nil { |
| return x.Word |
| } |
| return "" |
| } |
| |
| func (x *WordInfo) GetConfidence() float32 { |
| if x != nil { |
| return x.Confidence |
| } |
| return 0 |
| } |
| |
| func (x *WordInfo) GetSpeakerLabel() string { |
| if x != nil { |
| return x.SpeakerLabel |
| } |
| return "" |
| } |
| |
| // A speech recognition result corresponding to a portion of the audio. |
| type SpeechRecognitionResult struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // May contain one or more recognition hypotheses. These alternatives are |
| // ordered in terms of accuracy, with the top (first) alternative being the |
| // most probable, as ranked by the recognizer. |
| Alternatives []*SpeechRecognitionAlternative `protobuf:"bytes,1,rep,name=alternatives,proto3" json:"alternatives,omitempty"` |
| // For multi-channel audio, this is the channel number corresponding to the |
| // recognized result for the audio from that channel. |
| // For `audio_channel_count` = `N`, its output values can range from `1` to |
| // `N`. |
| ChannelTag int32 `protobuf:"varint,2,opt,name=channel_tag,json=channelTag,proto3" json:"channel_tag,omitempty"` |
| // Time offset of the end of this result relative to the beginning of the |
| // audio. |
| ResultEndOffset *durationpb.Duration `protobuf:"bytes,4,opt,name=result_end_offset,json=resultEndOffset,proto3" json:"result_end_offset,omitempty"` |
| // Output only. The [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) |
| // language tag of the language in this result. This language code was |
| // detected to have the most likelihood of being spoken in the audio. |
| LanguageCode string `protobuf:"bytes,5,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"` |
| } |
| |
| func (x *SpeechRecognitionResult) Reset() { |
| *x = SpeechRecognitionResult{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[19] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *SpeechRecognitionResult) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*SpeechRecognitionResult) ProtoMessage() {} |
| |
| func (x *SpeechRecognitionResult) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[19] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use SpeechRecognitionResult.ProtoReflect.Descriptor instead. |
| func (*SpeechRecognitionResult) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{19} |
| } |
| |
| func (x *SpeechRecognitionResult) GetAlternatives() []*SpeechRecognitionAlternative { |
| if x != nil { |
| return x.Alternatives |
| } |
| return nil |
| } |
| |
| func (x *SpeechRecognitionResult) GetChannelTag() int32 { |
| if x != nil { |
| return x.ChannelTag |
| } |
| return 0 |
| } |
| |
| func (x *SpeechRecognitionResult) GetResultEndOffset() *durationpb.Duration { |
| if x != nil { |
| return x.ResultEndOffset |
| } |
| return nil |
| } |
| |
| func (x *SpeechRecognitionResult) GetLanguageCode() string { |
| if x != nil { |
| return x.LanguageCode |
| } |
| return "" |
| } |
| |
| // Response message for the |
| // [Recognize][google.cloud.speech.v2.Speech.Recognize] method. |
| type RecognizeResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Sequential list of transcription results corresponding to sequential |
| // portions of audio. |
| Results []*SpeechRecognitionResult `protobuf:"bytes,3,rep,name=results,proto3" json:"results,omitempty"` |
| // Metadata about the recognition. |
| Metadata *RecognitionResponseMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"` |
| } |
| |
| func (x *RecognizeResponse) Reset() { |
| *x = RecognizeResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[20] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *RecognizeResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*RecognizeResponse) ProtoMessage() {} |
| |
| func (x *RecognizeResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[20] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use RecognizeResponse.ProtoReflect.Descriptor instead. |
| func (*RecognizeResponse) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{20} |
| } |
| |
| func (x *RecognizeResponse) GetResults() []*SpeechRecognitionResult { |
| if x != nil { |
| return x.Results |
| } |
| return nil |
| } |
| |
| func (x *RecognizeResponse) GetMetadata() *RecognitionResponseMetadata { |
| if x != nil { |
| return x.Metadata |
| } |
| return nil |
| } |
| |
| // Available recognition features specific to streaming recognition requests. |
| type StreamingRecognitionFeatures struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // If `true`, responses with voice activity speech events will be returned as |
| // they are detected. |
| EnableVoiceActivityEvents bool `protobuf:"varint,1,opt,name=enable_voice_activity_events,json=enableVoiceActivityEvents,proto3" json:"enable_voice_activity_events,omitempty"` |
| // Whether or not to stream interim results to the client. If set to true, |
| // interim results will be streamed to the client. Otherwise, only the final |
| // response will be streamed back. |
| InterimResults bool `protobuf:"varint,2,opt,name=interim_results,json=interimResults,proto3" json:"interim_results,omitempty"` |
| // If set, the server will automatically close the stream after the specified |
| // duration has elapsed after the last VOICE_ACTIVITY speech event has been |
| // sent. The field `voice_activity_events` must also be set to true. |
| VoiceActivityTimeout *StreamingRecognitionFeatures_VoiceActivityTimeout `protobuf:"bytes,3,opt,name=voice_activity_timeout,json=voiceActivityTimeout,proto3" json:"voice_activity_timeout,omitempty"` |
| } |
| |
| func (x *StreamingRecognitionFeatures) Reset() { |
| *x = StreamingRecognitionFeatures{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[21] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *StreamingRecognitionFeatures) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*StreamingRecognitionFeatures) ProtoMessage() {} |
| |
| func (x *StreamingRecognitionFeatures) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[21] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use StreamingRecognitionFeatures.ProtoReflect.Descriptor instead. |
| func (*StreamingRecognitionFeatures) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{21} |
| } |
| |
| func (x *StreamingRecognitionFeatures) GetEnableVoiceActivityEvents() bool { |
| if x != nil { |
| return x.EnableVoiceActivityEvents |
| } |
| return false |
| } |
| |
| func (x *StreamingRecognitionFeatures) GetInterimResults() bool { |
| if x != nil { |
| return x.InterimResults |
| } |
| return false |
| } |
| |
| func (x *StreamingRecognitionFeatures) GetVoiceActivityTimeout() *StreamingRecognitionFeatures_VoiceActivityTimeout { |
| if x != nil { |
| return x.VoiceActivityTimeout |
| } |
| return nil |
| } |
| |
| // Provides configuration information for the StreamingRecognize request. |
| type StreamingRecognitionConfig struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. Features and audio metadata to use for the Automatic Speech |
| // Recognition. This field in combination with the |
| // [config_mask][google.cloud.speech.v2.StreamingRecognitionConfig.config_mask] |
| // field can be used to override parts of the |
| // [default_recognition_config][google.cloud.speech.v2.Recognizer.default_recognition_config] |
| // of the Recognizer resource. |
| Config *RecognitionConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` |
| // The list of fields in |
| // [config][google.cloud.speech.v2.StreamingRecognitionConfig.config] that |
| // override the values in the |
| // [default_recognition_config][google.cloud.speech.v2.Recognizer.default_recognition_config] |
| // of the recognizer during this recognition request. If no mask is provided, |
| // all non-default valued fields in |
| // [config][google.cloud.speech.v2.StreamingRecognitionConfig.config] override |
| // the values in the recognizer for this recognition request. If a mask is |
| // provided, only the fields listed in the mask override the config in the |
| // recognizer for this recognition request. If a wildcard (`*`) is provided, |
| // [config][google.cloud.speech.v2.StreamingRecognitionConfig.config] |
| // completely overrides and replaces the config in the recognizer for this |
| // recognition request. |
| ConfigMask *fieldmaskpb.FieldMask `protobuf:"bytes,3,opt,name=config_mask,json=configMask,proto3" json:"config_mask,omitempty"` |
| // Speech recognition features to enable specific to streaming audio |
| // recognition requests. |
| StreamingFeatures *StreamingRecognitionFeatures `protobuf:"bytes,2,opt,name=streaming_features,json=streamingFeatures,proto3" json:"streaming_features,omitempty"` |
| } |
| |
| func (x *StreamingRecognitionConfig) Reset() { |
| *x = StreamingRecognitionConfig{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[22] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *StreamingRecognitionConfig) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*StreamingRecognitionConfig) ProtoMessage() {} |
| |
| func (x *StreamingRecognitionConfig) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[22] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use StreamingRecognitionConfig.ProtoReflect.Descriptor instead. |
| func (*StreamingRecognitionConfig) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{22} |
| } |
| |
| func (x *StreamingRecognitionConfig) GetConfig() *RecognitionConfig { |
| if x != nil { |
| return x.Config |
| } |
| return nil |
| } |
| |
| func (x *StreamingRecognitionConfig) GetConfigMask() *fieldmaskpb.FieldMask { |
| if x != nil { |
| return x.ConfigMask |
| } |
| return nil |
| } |
| |
| func (x *StreamingRecognitionConfig) GetStreamingFeatures() *StreamingRecognitionFeatures { |
| if x != nil { |
| return x.StreamingFeatures |
| } |
| return nil |
| } |
| |
| // Request message for the |
| // [StreamingRecognize][google.cloud.speech.v2.Speech.StreamingRecognize] |
| // method. Multiple |
| // [StreamingRecognizeRequest][google.cloud.speech.v2.StreamingRecognizeRequest] |
| // messages are sent. The first message must contain a |
| // [recognizer][google.cloud.speech.v2.StreamingRecognizeRequest.recognizer] and |
| // optionally a |
| // [streaming_config][google.cloud.speech.v2.StreamingRecognizeRequest.streaming_config] |
| // message and must not contain |
| // [audio][google.cloud.speech.v2.StreamingRecognizeRequest.audio]. All |
| // subsequent messages must contain |
| // [audio][google.cloud.speech.v2.StreamingRecognizeRequest.audio] and must not |
| // contain a |
| // [streaming_config][google.cloud.speech.v2.StreamingRecognizeRequest.streaming_config] |
| // message. |
| type StreamingRecognizeRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. Streaming recognition should start with an initial request having |
| // a `recognizer`. Subsequent requests carry the audio data to be recognized. |
| // |
| // The initial request with configuration can be omitted if the Recognizer |
| // being used has a |
| // [default_recognition_config][google.cloud.speech.v2.Recognizer.default_recognition_config]. |
| Recognizer string `protobuf:"bytes,3,opt,name=recognizer,proto3" json:"recognizer,omitempty"` |
| // Types that are assignable to StreamingRequest: |
| // |
| // *StreamingRecognizeRequest_StreamingConfig |
| // *StreamingRecognizeRequest_Audio |
| StreamingRequest isStreamingRecognizeRequest_StreamingRequest `protobuf_oneof:"streaming_request"` |
| } |
| |
| func (x *StreamingRecognizeRequest) Reset() { |
| *x = StreamingRecognizeRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[23] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *StreamingRecognizeRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*StreamingRecognizeRequest) ProtoMessage() {} |
| |
| func (x *StreamingRecognizeRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[23] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use StreamingRecognizeRequest.ProtoReflect.Descriptor instead. |
| func (*StreamingRecognizeRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{23} |
| } |
| |
| func (x *StreamingRecognizeRequest) GetRecognizer() string { |
| if x != nil { |
| return x.Recognizer |
| } |
| return "" |
| } |
| |
| func (m *StreamingRecognizeRequest) GetStreamingRequest() isStreamingRecognizeRequest_StreamingRequest { |
| if m != nil { |
| return m.StreamingRequest |
| } |
| return nil |
| } |
| |
| func (x *StreamingRecognizeRequest) GetStreamingConfig() *StreamingRecognitionConfig { |
| if x, ok := x.GetStreamingRequest().(*StreamingRecognizeRequest_StreamingConfig); ok { |
| return x.StreamingConfig |
| } |
| return nil |
| } |
| |
| func (x *StreamingRecognizeRequest) GetAudio() []byte { |
| if x, ok := x.GetStreamingRequest().(*StreamingRecognizeRequest_Audio); ok { |
| return x.Audio |
| } |
| return nil |
| } |
| |
| type isStreamingRecognizeRequest_StreamingRequest interface { |
| isStreamingRecognizeRequest_StreamingRequest() |
| } |
| |
| type StreamingRecognizeRequest_StreamingConfig struct { |
| // StreamingRecognitionConfig to be used in this recognition attempt. |
| // If provided, it will override the default RecognitionConfig stored in the |
| // Recognizer. |
| StreamingConfig *StreamingRecognitionConfig `protobuf:"bytes,6,opt,name=streaming_config,json=streamingConfig,proto3,oneof"` |
| } |
| |
| type StreamingRecognizeRequest_Audio struct { |
| // Inline audio bytes to be Recognized. |
| Audio []byte `protobuf:"bytes,5,opt,name=audio,proto3,oneof"` |
| } |
| |
| func (*StreamingRecognizeRequest_StreamingConfig) isStreamingRecognizeRequest_StreamingRequest() {} |
| |
| func (*StreamingRecognizeRequest_Audio) isStreamingRecognizeRequest_StreamingRequest() {} |
| |
| // Request message for the |
| // [BatchRecognize][google.cloud.speech.v2.Speech.BatchRecognize] |
| // method. |
| type BatchRecognizeRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. Resource name of the recognizer to be used for ASR. |
| Recognizer string `protobuf:"bytes,1,opt,name=recognizer,proto3" json:"recognizer,omitempty"` |
| // Features and audio metadata to use for the Automatic Speech Recognition. |
| // This field in combination with the |
| // [config_mask][google.cloud.speech.v2.BatchRecognizeRequest.config_mask] |
| // field can be used to override parts of the |
| // [default_recognition_config][google.cloud.speech.v2.Recognizer.default_recognition_config] |
| // of the Recognizer resource. |
| Config *RecognitionConfig `protobuf:"bytes,4,opt,name=config,proto3" json:"config,omitempty"` |
| // The list of fields in |
| // [config][google.cloud.speech.v2.BatchRecognizeRequest.config] that override |
| // the values in the |
| // [default_recognition_config][google.cloud.speech.v2.Recognizer.default_recognition_config] |
| // of the recognizer during this recognition request. If no mask is provided, |
| // all given fields in |
| // [config][google.cloud.speech.v2.BatchRecognizeRequest.config] override the |
| // values in the recognizer for this recognition request. If a mask is |
| // provided, only the fields listed in the mask override the config in the |
| // recognizer for this recognition request. If a wildcard (`*`) is provided, |
| // [config][google.cloud.speech.v2.BatchRecognizeRequest.config] completely |
| // overrides and replaces the config in the recognizer for this recognition |
| // request. |
| ConfigMask *fieldmaskpb.FieldMask `protobuf:"bytes,5,opt,name=config_mask,json=configMask,proto3" json:"config_mask,omitempty"` |
| // Audio files with file metadata for ASR. |
| Files []*BatchRecognizeFileMetadata `protobuf:"bytes,3,rep,name=files,proto3" json:"files,omitempty"` |
| } |
| |
| func (x *BatchRecognizeRequest) Reset() { |
| *x = BatchRecognizeRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[24] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *BatchRecognizeRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*BatchRecognizeRequest) ProtoMessage() {} |
| |
| func (x *BatchRecognizeRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[24] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use BatchRecognizeRequest.ProtoReflect.Descriptor instead. |
| func (*BatchRecognizeRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{24} |
| } |
| |
| func (x *BatchRecognizeRequest) GetRecognizer() string { |
| if x != nil { |
| return x.Recognizer |
| } |
| return "" |
| } |
| |
| func (x *BatchRecognizeRequest) GetConfig() *RecognitionConfig { |
| if x != nil { |
| return x.Config |
| } |
| return nil |
| } |
| |
| func (x *BatchRecognizeRequest) GetConfigMask() *fieldmaskpb.FieldMask { |
| if x != nil { |
| return x.ConfigMask |
| } |
| return nil |
| } |
| |
| func (x *BatchRecognizeRequest) GetFiles() []*BatchRecognizeFileMetadata { |
| if x != nil { |
| return x.Files |
| } |
| return nil |
| } |
| |
| // Response message for |
| // [BatchRecognize][google.cloud.speech.v2.Speech.BatchRecognize] that is |
| // packaged into a longrunning [Operation][google.longrunning.Operation]. |
| type BatchRecognizeResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Map from filename to the final result for that file. |
| Results map[string]*BatchRecognizeFileResult `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` |
| } |
| |
| func (x *BatchRecognizeResponse) Reset() { |
| *x = BatchRecognizeResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[25] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *BatchRecognizeResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*BatchRecognizeResponse) ProtoMessage() {} |
| |
| func (x *BatchRecognizeResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[25] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use BatchRecognizeResponse.ProtoReflect.Descriptor instead. |
| func (*BatchRecognizeResponse) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{25} |
| } |
| |
| func (x *BatchRecognizeResponse) GetResults() map[string]*BatchRecognizeFileResult { |
| if x != nil { |
| return x.Results |
| } |
| return nil |
| } |
| |
| // Final results for a single file. |
| type BatchRecognizeFileResult struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The GCS URI to which recognition results were written. |
| Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"` |
| // Error if one was encountered. |
| Error *status.Status `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` |
| } |
| |
| func (x *BatchRecognizeFileResult) Reset() { |
| *x = BatchRecognizeFileResult{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[26] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *BatchRecognizeFileResult) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*BatchRecognizeFileResult) ProtoMessage() {} |
| |
| func (x *BatchRecognizeFileResult) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[26] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use BatchRecognizeFileResult.ProtoReflect.Descriptor instead. |
| func (*BatchRecognizeFileResult) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{26} |
| } |
| |
| func (x *BatchRecognizeFileResult) GetUri() string { |
| if x != nil { |
| return x.Uri |
| } |
| return "" |
| } |
| |
| func (x *BatchRecognizeFileResult) GetError() *status.Status { |
| if x != nil { |
| return x.Error |
| } |
| return nil |
| } |
| |
| // Metadata about transcription for a single file (for example, progress |
| // percent). |
| type BatchRecognizeTranscriptionMetadata struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // How much of the file has been transcribed so far. |
| ProgressPercent int32 `protobuf:"varint,1,opt,name=progress_percent,json=progressPercent,proto3" json:"progress_percent,omitempty"` |
| // Error if one was encountered. |
| Error *status.Status `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` |
| // The GCS URI to which recognition results will be written. |
| Uri string `protobuf:"bytes,3,opt,name=uri,proto3" json:"uri,omitempty"` |
| } |
| |
| func (x *BatchRecognizeTranscriptionMetadata) Reset() { |
| *x = BatchRecognizeTranscriptionMetadata{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[27] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *BatchRecognizeTranscriptionMetadata) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*BatchRecognizeTranscriptionMetadata) ProtoMessage() {} |
| |
| func (x *BatchRecognizeTranscriptionMetadata) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[27] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use BatchRecognizeTranscriptionMetadata.ProtoReflect.Descriptor instead. |
| func (*BatchRecognizeTranscriptionMetadata) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{27} |
| } |
| |
| func (x *BatchRecognizeTranscriptionMetadata) GetProgressPercent() int32 { |
| if x != nil { |
| return x.ProgressPercent |
| } |
| return 0 |
| } |
| |
| func (x *BatchRecognizeTranscriptionMetadata) GetError() *status.Status { |
| if x != nil { |
| return x.Error |
| } |
| return nil |
| } |
| |
| func (x *BatchRecognizeTranscriptionMetadata) GetUri() string { |
| if x != nil { |
| return x.Uri |
| } |
| return "" |
| } |
| |
| // Operation metadata for |
| // [BatchRecognize][google.cloud.speech.v2.Speech.BatchRecognize]. |
| type BatchRecognizeMetadata struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Map from provided filename to the transcription metadata for that file. |
| TranscriptionMetadata map[string]*BatchRecognizeTranscriptionMetadata `protobuf:"bytes,1,rep,name=transcription_metadata,json=transcriptionMetadata,proto3" json:"transcription_metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` |
| } |
| |
| func (x *BatchRecognizeMetadata) Reset() { |
| *x = BatchRecognizeMetadata{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[28] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *BatchRecognizeMetadata) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*BatchRecognizeMetadata) ProtoMessage() {} |
| |
| func (x *BatchRecognizeMetadata) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[28] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use BatchRecognizeMetadata.ProtoReflect.Descriptor instead. |
| func (*BatchRecognizeMetadata) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{28} |
| } |
| |
| func (x *BatchRecognizeMetadata) GetTranscriptionMetadata() map[string]*BatchRecognizeTranscriptionMetadata { |
| if x != nil { |
| return x.TranscriptionMetadata |
| } |
| return nil |
| } |
| |
| // Metadata about a single file in a batch for BatchRecognize. |
| type BatchRecognizeFileMetadata struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The audio source, which is a Google Cloud Storage URI. |
| // |
| // Types that are assignable to AudioSource: |
| // |
| // *BatchRecognizeFileMetadata_Uri |
| AudioSource isBatchRecognizeFileMetadata_AudioSource `protobuf_oneof:"audio_source"` |
| // Features and audio metadata to use for the Automatic Speech Recognition. |
| // This field in combination with the |
| // [config_mask][google.cloud.speech.v2.BatchRecognizeFileMetadata.config_mask] |
| // field can be used to override parts of the |
| // [default_recognition_config][google.cloud.speech.v2.Recognizer.default_recognition_config] |
| // of the Recognizer resource as well as the |
| // [config][google.cloud.speech.v2.BatchRecognizeRequest.config] at the |
| // request level. |
| Config *RecognitionConfig `protobuf:"bytes,4,opt,name=config,proto3" json:"config,omitempty"` |
| // The list of fields in |
| // [config][google.cloud.speech.v2.BatchRecognizeFileMetadata.config] that |
| // override the values in the |
| // [default_recognition_config][google.cloud.speech.v2.Recognizer.default_recognition_config] |
| // of the recognizer during this recognition request. If no mask is provided, |
| // all non-default valued fields in |
| // [config][google.cloud.speech.v2.BatchRecognizeFileMetadata.config] override |
| // the values in the recognizer for this recognition request. If a mask is |
| // provided, only the fields listed in the mask override the config in the |
| // recognizer for this recognition request. If a wildcard (`*`) is provided, |
| // [config][google.cloud.speech.v2.BatchRecognizeFileMetadata.config] |
| // completely overrides and replaces the config in the recognizer for this |
| // recognition request. |
| ConfigMask *fieldmaskpb.FieldMask `protobuf:"bytes,5,opt,name=config_mask,json=configMask,proto3" json:"config_mask,omitempty"` |
| } |
| |
| func (x *BatchRecognizeFileMetadata) Reset() { |
| *x = BatchRecognizeFileMetadata{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[29] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *BatchRecognizeFileMetadata) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*BatchRecognizeFileMetadata) ProtoMessage() {} |
| |
| func (x *BatchRecognizeFileMetadata) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[29] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use BatchRecognizeFileMetadata.ProtoReflect.Descriptor instead. |
| func (*BatchRecognizeFileMetadata) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{29} |
| } |
| |
| func (m *BatchRecognizeFileMetadata) GetAudioSource() isBatchRecognizeFileMetadata_AudioSource { |
| if m != nil { |
| return m.AudioSource |
| } |
| return nil |
| } |
| |
| func (x *BatchRecognizeFileMetadata) GetUri() string { |
| if x, ok := x.GetAudioSource().(*BatchRecognizeFileMetadata_Uri); ok { |
| return x.Uri |
| } |
| return "" |
| } |
| |
| func (x *BatchRecognizeFileMetadata) GetConfig() *RecognitionConfig { |
| if x != nil { |
| return x.Config |
| } |
| return nil |
| } |
| |
| func (x *BatchRecognizeFileMetadata) GetConfigMask() *fieldmaskpb.FieldMask { |
| if x != nil { |
| return x.ConfigMask |
| } |
| return nil |
| } |
| |
| type isBatchRecognizeFileMetadata_AudioSource interface { |
| isBatchRecognizeFileMetadata_AudioSource() |
| } |
| |
| type BatchRecognizeFileMetadata_Uri struct { |
| // Cloud Storage URI for the audio file. |
| Uri string `protobuf:"bytes,1,opt,name=uri,proto3,oneof"` |
| } |
| |
| func (*BatchRecognizeFileMetadata_Uri) isBatchRecognizeFileMetadata_AudioSource() {} |
| |
| // A streaming speech recognition result corresponding to a portion of the audio |
| // that is currently being processed. |
| type StreamingRecognitionResult struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // May contain one or more recognition hypotheses. These alternatives are |
| // ordered in terms of accuracy, with the top (first) alternative being the |
| // most probable, as ranked by the recognizer. |
| Alternatives []*SpeechRecognitionAlternative `protobuf:"bytes,1,rep,name=alternatives,proto3" json:"alternatives,omitempty"` |
| // If `false`, this |
| // [StreamingRecognitionResult][google.cloud.speech.v2.StreamingRecognitionResult] |
| // represents an interim result that may change. If `true`, this is the final |
| // time the speech service will return this particular |
| // [StreamingRecognitionResult][google.cloud.speech.v2.StreamingRecognitionResult], |
| // the recognizer will not return any further hypotheses for this portion of |
| // the transcript and corresponding audio. |
| IsFinal bool `protobuf:"varint,2,opt,name=is_final,json=isFinal,proto3" json:"is_final,omitempty"` |
| // An estimate of the likelihood that the recognizer will not change its guess |
| // about this interim result. Values range from 0.0 (completely unstable) |
| // to 1.0 (completely stable). This field is only provided for interim results |
| // ([is_final][google.cloud.speech.v2.StreamingRecognitionResult.is_final]=`false`). |
| // The default of 0.0 is a sentinel value indicating `stability` was not set. |
| Stability float32 `protobuf:"fixed32,3,opt,name=stability,proto3" json:"stability,omitempty"` |
| // Time offset of the end of this result relative to the beginning of the |
| // audio. |
| ResultEndOffset *durationpb.Duration `protobuf:"bytes,4,opt,name=result_end_offset,json=resultEndOffset,proto3" json:"result_end_offset,omitempty"` |
| // For multi-channel audio, this is the channel number corresponding to the |
| // recognized result for the audio from that channel. |
| // For |
| // `audio_channel_count` = `N`, its output values can range from `1` to `N`. |
| ChannelTag int32 `protobuf:"varint,5,opt,name=channel_tag,json=channelTag,proto3" json:"channel_tag,omitempty"` |
| // Output only. The [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) |
| // language tag of the language in this result. This language code was |
| // detected to have the most likelihood of being spoken in the audio. |
| LanguageCode string `protobuf:"bytes,6,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"` |
| } |
| |
| func (x *StreamingRecognitionResult) Reset() { |
| *x = StreamingRecognitionResult{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[30] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *StreamingRecognitionResult) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*StreamingRecognitionResult) ProtoMessage() {} |
| |
| func (x *StreamingRecognitionResult) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[30] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use StreamingRecognitionResult.ProtoReflect.Descriptor instead. |
| func (*StreamingRecognitionResult) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{30} |
| } |
| |
| func (x *StreamingRecognitionResult) GetAlternatives() []*SpeechRecognitionAlternative { |
| if x != nil { |
| return x.Alternatives |
| } |
| return nil |
| } |
| |
| func (x *StreamingRecognitionResult) GetIsFinal() bool { |
| if x != nil { |
| return x.IsFinal |
| } |
| return false |
| } |
| |
| func (x *StreamingRecognitionResult) GetStability() float32 { |
| if x != nil { |
| return x.Stability |
| } |
| return 0 |
| } |
| |
| func (x *StreamingRecognitionResult) GetResultEndOffset() *durationpb.Duration { |
| if x != nil { |
| return x.ResultEndOffset |
| } |
| return nil |
| } |
| |
| func (x *StreamingRecognitionResult) GetChannelTag() int32 { |
| if x != nil { |
| return x.ChannelTag |
| } |
| return 0 |
| } |
| |
| func (x *StreamingRecognitionResult) GetLanguageCode() string { |
| if x != nil { |
| return x.LanguageCode |
| } |
| return "" |
| } |
| |
| // `StreamingRecognizeResponse` is the only message returned to the client by |
| // `StreamingRecognize`. A series of zero or more `StreamingRecognizeResponse` |
| // messages are streamed back to the client. If there is no recognizable |
| // audio then no messages are streamed back to the client. |
| // |
| // Here are some examples of `StreamingRecognizeResponse`s that might |
| // be returned while processing audio: |
| // |
| // 1. results { alternatives { transcript: "tube" } stability: 0.01 } |
| // |
| // 2. results { alternatives { transcript: "to be a" } stability: 0.01 } |
| // |
| // 3. results { alternatives { transcript: "to be" } stability: 0.9 } |
| // results { alternatives { transcript: " or not to be" } stability: 0.01 } |
| // |
| // 4. results { alternatives { transcript: "to be or not to be" |
| // confidence: 0.92 } |
| // alternatives { transcript: "to bee or not to bee" } |
| // is_final: true } |
| // |
| // 5. results { alternatives { transcript: " that's" } stability: 0.01 } |
| // |
| // 6. results { alternatives { transcript: " that is" } stability: 0.9 } |
| // results { alternatives { transcript: " the question" } stability: 0.01 } |
| // |
| // 7. results { alternatives { transcript: " that is the question" |
| // confidence: 0.98 } |
| // alternatives { transcript: " that was the question" } |
| // is_final: true } |
| // |
| // Notes: |
| // |
| // - Only two of the above responses #4 and #7 contain final results; they are |
| // indicated by `is_final: true`. Concatenating these together generates the |
| // full transcript: "to be or not to be that is the question". |
| // |
| // - The others contain interim `results`. #3 and #6 contain two interim |
| // `results`: the first portion has a high stability and is less likely to |
| // change; the second portion has a low stability and is very likely to |
| // change. A UI designer might choose to show only high stability `results`. |
| // |
| // - The specific `stability` and `confidence` values shown above are only for |
| // illustrative purposes. Actual values may vary. |
| // |
| // - In each response, only one of these fields will be set: |
| // `error`, |
| // `speech_event_type`, or |
| // one or more (repeated) `results`. |
| type StreamingRecognizeResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // This repeated list contains zero or more results that |
| // correspond to consecutive portions of the audio currently being processed. |
| // It contains zero or one |
| // [is_final][google.cloud.speech.v2.StreamingRecognitionResult.is_final]=`true` |
| // result (the newly settled portion), followed by zero or more |
| // [is_final][google.cloud.speech.v2.StreamingRecognitionResult.is_final]=`false` |
| // results (the interim results). |
| Results []*StreamingRecognitionResult `protobuf:"bytes,6,rep,name=results,proto3" json:"results,omitempty"` |
| // Indicates the type of speech event. |
| SpeechEventType StreamingRecognizeResponse_SpeechEventType `protobuf:"varint,3,opt,name=speech_event_type,json=speechEventType,proto3,enum=google.cloud.speech.v2.StreamingRecognizeResponse_SpeechEventType" json:"speech_event_type,omitempty"` |
| // Time offset between the beginning of the audio and event emission. |
| SpeechEventOffset *durationpb.Duration `protobuf:"bytes,7,opt,name=speech_event_offset,json=speechEventOffset,proto3" json:"speech_event_offset,omitempty"` |
| // Metadata about the recognition. |
| Metadata *RecognitionResponseMetadata `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` |
| } |
| |
| func (x *StreamingRecognizeResponse) Reset() { |
| *x = StreamingRecognizeResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[31] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *StreamingRecognizeResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*StreamingRecognizeResponse) ProtoMessage() {} |
| |
| func (x *StreamingRecognizeResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[31] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use StreamingRecognizeResponse.ProtoReflect.Descriptor instead. |
| func (*StreamingRecognizeResponse) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{31} |
| } |
| |
| func (x *StreamingRecognizeResponse) GetResults() []*StreamingRecognitionResult { |
| if x != nil { |
| return x.Results |
| } |
| return nil |
| } |
| |
| func (x *StreamingRecognizeResponse) GetSpeechEventType() StreamingRecognizeResponse_SpeechEventType { |
| if x != nil { |
| return x.SpeechEventType |
| } |
| return StreamingRecognizeResponse_SPEECH_EVENT_TYPE_UNSPECIFIED |
| } |
| |
| func (x *StreamingRecognizeResponse) GetSpeechEventOffset() *durationpb.Duration { |
| if x != nil { |
| return x.SpeechEventOffset |
| } |
| return nil |
| } |
| |
| func (x *StreamingRecognizeResponse) GetMetadata() *RecognitionResponseMetadata { |
| if x != nil { |
| return x.Metadata |
| } |
| return nil |
| } |
| |
| // Message representing the config for the Speech-to-Text API. This includes an |
| // optional [KMS key](https://cloud.google.com/kms/docs/resource-hierarchy#keys) |
| // with which incoming data will be encrypted. |
| type Config struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Output only. The name of the config resource. There is exactly one config |
| // resource per project per location. The expected format is |
| // `projects/{project}/locations/{location}/config`. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // Optional. An optional [KMS key |
| // name](https://cloud.google.com/kms/docs/resource-hierarchy#keys) that if |
| // present, will be used to encrypt Speech-to-Text resources at-rest. Updating |
| // this key will not encrypt existing resources using this key; only new |
| // resources will be encrypted using this key. The expected format is |
| // `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`. |
| KmsKeyName string `protobuf:"bytes,2,opt,name=kms_key_name,json=kmsKeyName,proto3" json:"kms_key_name,omitempty"` |
| // Output only. The most recent time this resource was modified. |
| UpdateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` |
| } |
| |
| func (x *Config) Reset() { |
| *x = Config{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[32] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *Config) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*Config) ProtoMessage() {} |
| |
| func (x *Config) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[32] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use Config.ProtoReflect.Descriptor instead. |
| func (*Config) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{32} |
| } |
| |
| func (x *Config) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *Config) GetKmsKeyName() string { |
| if x != nil { |
| return x.KmsKeyName |
| } |
| return "" |
| } |
| |
| func (x *Config) GetUpdateTime() *timestamppb.Timestamp { |
| if x != nil { |
| return x.UpdateTime |
| } |
| return nil |
| } |
| |
| // Request message for the |
| // [GetConfig][google.cloud.speech.v2.Speech.GetConfig] method. |
| type GetConfigRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The name of the config to retrieve. There is exactly one config |
| // resource per project per location. The expected format is |
| // `projects/{project}/locations/{location}/config`. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| } |
| |
| func (x *GetConfigRequest) Reset() { |
| *x = GetConfigRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[33] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *GetConfigRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*GetConfigRequest) ProtoMessage() {} |
| |
| func (x *GetConfigRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[33] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use GetConfigRequest.ProtoReflect.Descriptor instead. |
| func (*GetConfigRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{33} |
| } |
| |
| func (x *GetConfigRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| // Request message for the |
| // [UpdateConfig][google.cloud.speech.v2.Speech.UpdateConfig] method. |
| type UpdateConfigRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The config to update. |
| // |
| // The config's `name` field is used to identify the config to be updated. |
| // The expected format is `projects/{project}/locations/{location}/config`. |
| Config *Config `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` |
| // The list of fields to be updated. |
| UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` |
| } |
| |
| func (x *UpdateConfigRequest) Reset() { |
| *x = UpdateConfigRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[34] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *UpdateConfigRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*UpdateConfigRequest) ProtoMessage() {} |
| |
| func (x *UpdateConfigRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[34] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use UpdateConfigRequest.ProtoReflect.Descriptor instead. |
| func (*UpdateConfigRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{34} |
| } |
| |
| func (x *UpdateConfigRequest) GetConfig() *Config { |
| if x != nil { |
| return x.Config |
| } |
| return nil |
| } |
| |
| func (x *UpdateConfigRequest) GetUpdateMask() *fieldmaskpb.FieldMask { |
| if x != nil { |
| return x.UpdateMask |
| } |
| return nil |
| } |
| |
| // CustomClass for biasing in speech recognition. Used to define a set of words |
| // or phrases that represents a common concept or theme likely to appear in your |
| // audio, for example a list of passenger ship names. |
| type CustomClass struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Output only. The resource name of the CustomClass. |
| // Format: |
| // `projects/{project}/locations/{location}/customClasses/{custom_class}`. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // Output only. System-assigned unique identifier for the CustomClass. |
| Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid,omitempty"` |
| // User-settable, human-readable name for the CustomClass. Must be 63 |
| // characters or less. |
| DisplayName string `protobuf:"bytes,4,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` |
| // A collection of class items. |
| Items []*CustomClass_ClassItem `protobuf:"bytes,5,rep,name=items,proto3" json:"items,omitempty"` |
| // Output only. The CustomClass lifecycle state. |
| State CustomClass_State `protobuf:"varint,15,opt,name=state,proto3,enum=google.cloud.speech.v2.CustomClass_State" json:"state,omitempty"` |
| // Output only. Creation time. |
| CreateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` |
| // Output only. The most recent time this resource was modified. |
| UpdateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` |
| // Output only. The time at which this resource was requested for deletion. |
| DeleteTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=delete_time,json=deleteTime,proto3" json:"delete_time,omitempty"` |
| // Output only. The time at which this resource will be purged. |
| ExpireTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=expire_time,json=expireTime,proto3" json:"expire_time,omitempty"` |
| // Allows users to store small amounts of arbitrary data. |
| // Both the key and the value must be 63 characters or less each. |
| // At most 100 annotations. |
| Annotations map[string]string `protobuf:"bytes,10,rep,name=annotations,proto3" json:"annotations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` |
| // Output only. This checksum is computed by the server based on the value of |
| // other fields. This may be sent on update, undelete, and delete requests to |
| // ensure the client has an up-to-date value before proceeding. |
| Etag string `protobuf:"bytes,11,opt,name=etag,proto3" json:"etag,omitempty"` |
| // Output only. Whether or not this CustomClass is in the process of being |
| // updated. |
| Reconciling bool `protobuf:"varint,12,opt,name=reconciling,proto3" json:"reconciling,omitempty"` |
| // Output only. The [KMS key |
| // name](https://cloud.google.com/kms/docs/resource-hierarchy#keys) with which |
| // the CustomClass is encrypted. The expected format is |
| // `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`. |
| KmsKeyName string `protobuf:"bytes,13,opt,name=kms_key_name,json=kmsKeyName,proto3" json:"kms_key_name,omitempty"` |
| // Output only. The [KMS key version |
| // name](https://cloud.google.com/kms/docs/resource-hierarchy#key_versions) |
| // with which the CustomClass is encrypted. The expected format is |
| // `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}`. |
| KmsKeyVersionName string `protobuf:"bytes,14,opt,name=kms_key_version_name,json=kmsKeyVersionName,proto3" json:"kms_key_version_name,omitempty"` |
| } |
| |
| func (x *CustomClass) Reset() { |
| *x = CustomClass{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[35] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *CustomClass) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*CustomClass) ProtoMessage() {} |
| |
| func (x *CustomClass) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[35] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use CustomClass.ProtoReflect.Descriptor instead. |
| func (*CustomClass) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{35} |
| } |
| |
| func (x *CustomClass) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *CustomClass) GetUid() string { |
| if x != nil { |
| return x.Uid |
| } |
| return "" |
| } |
| |
| func (x *CustomClass) GetDisplayName() string { |
| if x != nil { |
| return x.DisplayName |
| } |
| return "" |
| } |
| |
| func (x *CustomClass) GetItems() []*CustomClass_ClassItem { |
| if x != nil { |
| return x.Items |
| } |
| return nil |
| } |
| |
| func (x *CustomClass) GetState() CustomClass_State { |
| if x != nil { |
| return x.State |
| } |
| return CustomClass_STATE_UNSPECIFIED |
| } |
| |
| func (x *CustomClass) GetCreateTime() *timestamppb.Timestamp { |
| if x != nil { |
| return x.CreateTime |
| } |
| return nil |
| } |
| |
| func (x *CustomClass) GetUpdateTime() *timestamppb.Timestamp { |
| if x != nil { |
| return x.UpdateTime |
| } |
| return nil |
| } |
| |
| func (x *CustomClass) GetDeleteTime() *timestamppb.Timestamp { |
| if x != nil { |
| return x.DeleteTime |
| } |
| return nil |
| } |
| |
| func (x *CustomClass) GetExpireTime() *timestamppb.Timestamp { |
| if x != nil { |
| return x.ExpireTime |
| } |
| return nil |
| } |
| |
| func (x *CustomClass) GetAnnotations() map[string]string { |
| if x != nil { |
| return x.Annotations |
| } |
| return nil |
| } |
| |
| func (x *CustomClass) GetEtag() string { |
| if x != nil { |
| return x.Etag |
| } |
| return "" |
| } |
| |
| func (x *CustomClass) GetReconciling() bool { |
| if x != nil { |
| return x.Reconciling |
| } |
| return false |
| } |
| |
| func (x *CustomClass) GetKmsKeyName() string { |
| if x != nil { |
| return x.KmsKeyName |
| } |
| return "" |
| } |
| |
| func (x *CustomClass) GetKmsKeyVersionName() string { |
| if x != nil { |
| return x.KmsKeyVersionName |
| } |
| return "" |
| } |
| |
| // PhraseSet for biasing in speech recognition. A PhraseSet is used to provide |
| // "hints" to the speech recognizer to favor specific words and phrases in the |
| // results. |
| type PhraseSet struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Output only. The resource name of the PhraseSet. |
| // Format: `projects/{project}/locations/{location}/phraseSets/{phrase_set}`. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // Output only. System-assigned unique identifier for the PhraseSet. |
| Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid,omitempty"` |
| // A list of word and phrases. |
| Phrases []*PhraseSet_Phrase `protobuf:"bytes,3,rep,name=phrases,proto3" json:"phrases,omitempty"` |
| // Hint Boost. Positive value will increase the probability that a specific |
| // phrase will be recognized over other similar sounding phrases. The higher |
| // the boost, the higher the chance of false positive recognition as well. |
| // Valid `boost` values are between 0 (exclusive) and 20. We recommend using a |
| // binary search approach to finding the optimal value for your use case. |
| Boost float32 `protobuf:"fixed32,4,opt,name=boost,proto3" json:"boost,omitempty"` |
| // User-settable, human-readable name for the PhraseSet. Must be 63 |
| // characters or less. |
| DisplayName string `protobuf:"bytes,5,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` |
| // Output only. The PhraseSet lifecycle state. |
| State PhraseSet_State `protobuf:"varint,15,opt,name=state,proto3,enum=google.cloud.speech.v2.PhraseSet_State" json:"state,omitempty"` |
| // Output only. Creation time. |
| CreateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` |
| // Output only. The most recent time this resource was modified. |
| UpdateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` |
| // Output only. The time at which this resource was requested for deletion. |
| DeleteTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=delete_time,json=deleteTime,proto3" json:"delete_time,omitempty"` |
| // Output only. The time at which this resource will be purged. |
| ExpireTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=expire_time,json=expireTime,proto3" json:"expire_time,omitempty"` |
| // Allows users to store small amounts of arbitrary data. |
| // Both the key and the value must be 63 characters or less each. |
| // At most 100 annotations. |
| Annotations map[string]string `protobuf:"bytes,10,rep,name=annotations,proto3" json:"annotations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` |
| // Output only. This checksum is computed by the server based on the value of |
| // other fields. This may be sent on update, undelete, and delete requests to |
| // ensure the client has an up-to-date value before proceeding. |
| Etag string `protobuf:"bytes,11,opt,name=etag,proto3" json:"etag,omitempty"` |
| // Output only. Whether or not this PhraseSet is in the process of being |
| // updated. |
| Reconciling bool `protobuf:"varint,12,opt,name=reconciling,proto3" json:"reconciling,omitempty"` |
| // Output only. The [KMS key |
| // name](https://cloud.google.com/kms/docs/resource-hierarchy#keys) with which |
| // the PhraseSet is encrypted. The expected format is |
| // `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`. |
| KmsKeyName string `protobuf:"bytes,13,opt,name=kms_key_name,json=kmsKeyName,proto3" json:"kms_key_name,omitempty"` |
| // Output only. The [KMS key version |
| // name](https://cloud.google.com/kms/docs/resource-hierarchy#key_versions) |
| // with which the PhraseSet is encrypted. The expected format is |
| // `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}`. |
| KmsKeyVersionName string `protobuf:"bytes,14,opt,name=kms_key_version_name,json=kmsKeyVersionName,proto3" json:"kms_key_version_name,omitempty"` |
| } |
| |
| func (x *PhraseSet) Reset() { |
| *x = PhraseSet{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[36] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *PhraseSet) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*PhraseSet) ProtoMessage() {} |
| |
| func (x *PhraseSet) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[36] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use PhraseSet.ProtoReflect.Descriptor instead. |
| func (*PhraseSet) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{36} |
| } |
| |
| func (x *PhraseSet) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *PhraseSet) GetUid() string { |
| if x != nil { |
| return x.Uid |
| } |
| return "" |
| } |
| |
| func (x *PhraseSet) GetPhrases() []*PhraseSet_Phrase { |
| if x != nil { |
| return x.Phrases |
| } |
| return nil |
| } |
| |
| func (x *PhraseSet) GetBoost() float32 { |
| if x != nil { |
| return x.Boost |
| } |
| return 0 |
| } |
| |
| func (x *PhraseSet) GetDisplayName() string { |
| if x != nil { |
| return x.DisplayName |
| } |
| return "" |
| } |
| |
| func (x *PhraseSet) GetState() PhraseSet_State { |
| if x != nil { |
| return x.State |
| } |
| return PhraseSet_STATE_UNSPECIFIED |
| } |
| |
| func (x *PhraseSet) GetCreateTime() *timestamppb.Timestamp { |
| if x != nil { |
| return x.CreateTime |
| } |
| return nil |
| } |
| |
| func (x *PhraseSet) GetUpdateTime() *timestamppb.Timestamp { |
| if x != nil { |
| return x.UpdateTime |
| } |
| return nil |
| } |
| |
| func (x *PhraseSet) GetDeleteTime() *timestamppb.Timestamp { |
| if x != nil { |
| return x.DeleteTime |
| } |
| return nil |
| } |
| |
| func (x *PhraseSet) GetExpireTime() *timestamppb.Timestamp { |
| if x != nil { |
| return x.ExpireTime |
| } |
| return nil |
| } |
| |
| func (x *PhraseSet) GetAnnotations() map[string]string { |
| if x != nil { |
| return x.Annotations |
| } |
| return nil |
| } |
| |
| func (x *PhraseSet) GetEtag() string { |
| if x != nil { |
| return x.Etag |
| } |
| return "" |
| } |
| |
| func (x *PhraseSet) GetReconciling() bool { |
| if x != nil { |
| return x.Reconciling |
| } |
| return false |
| } |
| |
| func (x *PhraseSet) GetKmsKeyName() string { |
| if x != nil { |
| return x.KmsKeyName |
| } |
| return "" |
| } |
| |
| func (x *PhraseSet) GetKmsKeyVersionName() string { |
| if x != nil { |
| return x.KmsKeyVersionName |
| } |
| return "" |
| } |
| |
| // Request message for the |
| // [CreateCustomClass][google.cloud.speech.v2.Speech.CreateCustomClass] method. |
| type CreateCustomClassRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The CustomClass to create. |
| CustomClass *CustomClass `protobuf:"bytes,1,opt,name=custom_class,json=customClass,proto3" json:"custom_class,omitempty"` |
| // If set, validate the request and preview the CustomClass, but do not |
| // actually create it. |
| ValidateOnly bool `protobuf:"varint,2,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` |
| // The ID to use for the CustomClass, which will become the final component of |
| // the CustomClass's resource name. |
| // |
| // This value should be 4-63 characters, and valid characters |
| // are /[a-z][0-9]-/. |
| CustomClassId string `protobuf:"bytes,3,opt,name=custom_class_id,json=customClassId,proto3" json:"custom_class_id,omitempty"` |
| // Required. The project and location where this CustomClass will be created. |
| // The expected format is `projects/{project}/locations/{location}`. |
| Parent string `protobuf:"bytes,4,opt,name=parent,proto3" json:"parent,omitempty"` |
| } |
| |
| func (x *CreateCustomClassRequest) Reset() { |
| *x = CreateCustomClassRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[37] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *CreateCustomClassRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*CreateCustomClassRequest) ProtoMessage() {} |
| |
| func (x *CreateCustomClassRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[37] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use CreateCustomClassRequest.ProtoReflect.Descriptor instead. |
| func (*CreateCustomClassRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{37} |
| } |
| |
| func (x *CreateCustomClassRequest) GetCustomClass() *CustomClass { |
| if x != nil { |
| return x.CustomClass |
| } |
| return nil |
| } |
| |
| func (x *CreateCustomClassRequest) GetValidateOnly() bool { |
| if x != nil { |
| return x.ValidateOnly |
| } |
| return false |
| } |
| |
| func (x *CreateCustomClassRequest) GetCustomClassId() string { |
| if x != nil { |
| return x.CustomClassId |
| } |
| return "" |
| } |
| |
| func (x *CreateCustomClassRequest) GetParent() string { |
| if x != nil { |
| return x.Parent |
| } |
| return "" |
| } |
| |
| // Request message for the |
| // [ListCustomClasses][google.cloud.speech.v2.Speech.ListCustomClasses] method. |
| type ListCustomClassesRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The project and location of CustomClass resources to list. The |
| // expected format is `projects/{project}/locations/{location}`. |
| Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` |
| // Number of results per requests. A valid page_size ranges from 0 to 20 |
| // inclusive. If the page_size is zero or unspecified, a page size of 5 will |
| // be chosen. If the page size exceeds 20, it will be coerced down to 20. Note |
| // that a call might return fewer results than the requested page size. |
| PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` |
| // A page token, received from a previous |
| // [ListCustomClasses][google.cloud.speech.v2.Speech.ListCustomClasses] call. |
| // Provide this to retrieve the subsequent page. |
| // |
| // When paginating, all other parameters provided to |
| // [ListCustomClasses][google.cloud.speech.v2.Speech.ListCustomClasses] must |
| // match the call that provided the page token. |
| PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` |
| // Whether, or not, to show resources that have been deleted. |
| ShowDeleted bool `protobuf:"varint,4,opt,name=show_deleted,json=showDeleted,proto3" json:"show_deleted,omitempty"` |
| } |
| |
| func (x *ListCustomClassesRequest) Reset() { |
| *x = ListCustomClassesRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[38] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ListCustomClassesRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ListCustomClassesRequest) ProtoMessage() {} |
| |
| func (x *ListCustomClassesRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[38] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ListCustomClassesRequest.ProtoReflect.Descriptor instead. |
| func (*ListCustomClassesRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{38} |
| } |
| |
| func (x *ListCustomClassesRequest) GetParent() string { |
| if x != nil { |
| return x.Parent |
| } |
| return "" |
| } |
| |
| func (x *ListCustomClassesRequest) GetPageSize() int32 { |
| if x != nil { |
| return x.PageSize |
| } |
| return 0 |
| } |
| |
| func (x *ListCustomClassesRequest) GetPageToken() string { |
| if x != nil { |
| return x.PageToken |
| } |
| return "" |
| } |
| |
| func (x *ListCustomClassesRequest) GetShowDeleted() bool { |
| if x != nil { |
| return x.ShowDeleted |
| } |
| return false |
| } |
| |
| // Response message for the |
| // [ListCustomClasses][google.cloud.speech.v2.Speech.ListCustomClasses] method. |
| type ListCustomClassesResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The list of requested CustomClasses. |
| CustomClasses []*CustomClass `protobuf:"bytes,1,rep,name=custom_classes,json=customClasses,proto3" json:"custom_classes,omitempty"` |
| // A token, which can be sent as |
| // [page_token][google.cloud.speech.v2.ListCustomClassesRequest.page_token] to |
| // retrieve the next page. If this field is omitted, there are no subsequent |
| // pages. This token expires after 72 hours. |
| NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` |
| } |
| |
| func (x *ListCustomClassesResponse) Reset() { |
| *x = ListCustomClassesResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[39] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ListCustomClassesResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ListCustomClassesResponse) ProtoMessage() {} |
| |
| func (x *ListCustomClassesResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[39] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ListCustomClassesResponse.ProtoReflect.Descriptor instead. |
| func (*ListCustomClassesResponse) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{39} |
| } |
| |
| func (x *ListCustomClassesResponse) GetCustomClasses() []*CustomClass { |
| if x != nil { |
| return x.CustomClasses |
| } |
| return nil |
| } |
| |
| func (x *ListCustomClassesResponse) GetNextPageToken() string { |
| if x != nil { |
| return x.NextPageToken |
| } |
| return "" |
| } |
| |
| // Request message for the |
| // [GetCustomClass][google.cloud.speech.v2.Speech.GetCustomClass] method. |
| type GetCustomClassRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The name of the CustomClass to retrieve. The expected format is |
| // `projects/{project}/locations/{location}/customClasses/{custom_class}`. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| } |
| |
| func (x *GetCustomClassRequest) Reset() { |
| *x = GetCustomClassRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[40] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *GetCustomClassRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*GetCustomClassRequest) ProtoMessage() {} |
| |
| func (x *GetCustomClassRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[40] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use GetCustomClassRequest.ProtoReflect.Descriptor instead. |
| func (*GetCustomClassRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{40} |
| } |
| |
| func (x *GetCustomClassRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| // Request message for the |
| // [UpdateCustomClass][google.cloud.speech.v2.Speech.UpdateCustomClass] method. |
| type UpdateCustomClassRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The CustomClass to update. |
| // |
| // The CustomClass's `name` field is used to identify the CustomClass to |
| // update. Format: |
| // `projects/{project}/locations/{location}/customClasses/{custom_class}`. |
| CustomClass *CustomClass `protobuf:"bytes,1,opt,name=custom_class,json=customClass,proto3" json:"custom_class,omitempty"` |
| // The list of fields to be updated. If empty, all fields are considered for |
| // update. |
| UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` |
| // If set, validate the request and preview the updated CustomClass, but do |
| // not actually update it. |
| ValidateOnly bool `protobuf:"varint,4,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` |
| } |
| |
| func (x *UpdateCustomClassRequest) Reset() { |
| *x = UpdateCustomClassRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[41] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *UpdateCustomClassRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*UpdateCustomClassRequest) ProtoMessage() {} |
| |
| func (x *UpdateCustomClassRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[41] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use UpdateCustomClassRequest.ProtoReflect.Descriptor instead. |
| func (*UpdateCustomClassRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{41} |
| } |
| |
| func (x *UpdateCustomClassRequest) GetCustomClass() *CustomClass { |
| if x != nil { |
| return x.CustomClass |
| } |
| return nil |
| } |
| |
| func (x *UpdateCustomClassRequest) GetUpdateMask() *fieldmaskpb.FieldMask { |
| if x != nil { |
| return x.UpdateMask |
| } |
| return nil |
| } |
| |
| func (x *UpdateCustomClassRequest) GetValidateOnly() bool { |
| if x != nil { |
| return x.ValidateOnly |
| } |
| return false |
| } |
| |
| // Request message for the |
| // [DeleteCustomClass][google.cloud.speech.v2.Speech.DeleteCustomClass] method. |
| type DeleteCustomClassRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The name of the CustomClass to delete. |
| // Format: |
| // `projects/{project}/locations/{location}/customClasses/{custom_class}` |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // If set, validate the request and preview the deleted CustomClass, but do |
| // not actually delete it. |
| ValidateOnly bool `protobuf:"varint,2,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` |
| // If set to true, and the CustomClass is not found, the request will succeed |
| // and be a no-op (no Operation is recorded in this case). |
| AllowMissing bool `protobuf:"varint,4,opt,name=allow_missing,json=allowMissing,proto3" json:"allow_missing,omitempty"` |
| // This checksum is computed by the server based on the value of other |
| // fields. This may be sent on update, undelete, and delete requests to ensure |
| // the client has an up-to-date value before proceeding. |
| Etag string `protobuf:"bytes,3,opt,name=etag,proto3" json:"etag,omitempty"` |
| } |
| |
| func (x *DeleteCustomClassRequest) Reset() { |
| *x = DeleteCustomClassRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[42] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DeleteCustomClassRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DeleteCustomClassRequest) ProtoMessage() {} |
| |
| func (x *DeleteCustomClassRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[42] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use DeleteCustomClassRequest.ProtoReflect.Descriptor instead. |
| func (*DeleteCustomClassRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{42} |
| } |
| |
| func (x *DeleteCustomClassRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *DeleteCustomClassRequest) GetValidateOnly() bool { |
| if x != nil { |
| return x.ValidateOnly |
| } |
| return false |
| } |
| |
| func (x *DeleteCustomClassRequest) GetAllowMissing() bool { |
| if x != nil { |
| return x.AllowMissing |
| } |
| return false |
| } |
| |
| func (x *DeleteCustomClassRequest) GetEtag() string { |
| if x != nil { |
| return x.Etag |
| } |
| return "" |
| } |
| |
| // Request message for the |
| // [UndeleteCustomClass][google.cloud.speech.v2.Speech.UndeleteCustomClass] |
| // method. |
| type UndeleteCustomClassRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The name of the CustomClass to undelete. |
| // Format: |
| // `projects/{project}/locations/{location}/customClasses/{custom_class}` |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // If set, validate the request and preview the undeleted CustomClass, but do |
| // not actually undelete it. |
| ValidateOnly bool `protobuf:"varint,3,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` |
| // This checksum is computed by the server based on the value of other |
| // fields. This may be sent on update, undelete, and delete requests to ensure |
| // the client has an up-to-date value before proceeding. |
| Etag string `protobuf:"bytes,4,opt,name=etag,proto3" json:"etag,omitempty"` |
| } |
| |
| func (x *UndeleteCustomClassRequest) Reset() { |
| *x = UndeleteCustomClassRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[43] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *UndeleteCustomClassRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*UndeleteCustomClassRequest) ProtoMessage() {} |
| |
| func (x *UndeleteCustomClassRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[43] |
| 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 UndeleteCustomClassRequest.ProtoReflect.Descriptor instead. |
| func (*UndeleteCustomClassRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{43} |
| } |
| |
| func (x *UndeleteCustomClassRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *UndeleteCustomClassRequest) GetValidateOnly() bool { |
| if x != nil { |
| return x.ValidateOnly |
| } |
| return false |
| } |
| |
| func (x *UndeleteCustomClassRequest) GetEtag() string { |
| if x != nil { |
| return x.Etag |
| } |
| return "" |
| } |
| |
| // Request message for the |
| // [CreatePhraseSet][google.cloud.speech.v2.Speech.CreatePhraseSet] method. |
| type CreatePhraseSetRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The PhraseSet to create. |
| PhraseSet *PhraseSet `protobuf:"bytes,1,opt,name=phrase_set,json=phraseSet,proto3" json:"phrase_set,omitempty"` |
| // If set, validate the request and preview the PhraseSet, but do not |
| // actually create it. |
| ValidateOnly bool `protobuf:"varint,2,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` |
| // The ID to use for the PhraseSet, which will become the final component of |
| // the PhraseSet's resource name. |
| // |
| // This value should be 4-63 characters, and valid characters |
| // are /[a-z][0-9]-/. |
| PhraseSetId string `protobuf:"bytes,3,opt,name=phrase_set_id,json=phraseSetId,proto3" json:"phrase_set_id,omitempty"` |
| // Required. The project and location where this PhraseSet will be created. |
| // The expected format is `projects/{project}/locations/{location}`. |
| Parent string `protobuf:"bytes,4,opt,name=parent,proto3" json:"parent,omitempty"` |
| } |
| |
| func (x *CreatePhraseSetRequest) Reset() { |
| *x = CreatePhraseSetRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[44] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *CreatePhraseSetRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*CreatePhraseSetRequest) ProtoMessage() {} |
| |
| func (x *CreatePhraseSetRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[44] |
| 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 CreatePhraseSetRequest.ProtoReflect.Descriptor instead. |
| func (*CreatePhraseSetRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{44} |
| } |
| |
| func (x *CreatePhraseSetRequest) GetPhraseSet() *PhraseSet { |
| if x != nil { |
| return x.PhraseSet |
| } |
| return nil |
| } |
| |
| func (x *CreatePhraseSetRequest) GetValidateOnly() bool { |
| if x != nil { |
| return x.ValidateOnly |
| } |
| return false |
| } |
| |
| func (x *CreatePhraseSetRequest) GetPhraseSetId() string { |
| if x != nil { |
| return x.PhraseSetId |
| } |
| return "" |
| } |
| |
| func (x *CreatePhraseSetRequest) GetParent() string { |
| if x != nil { |
| return x.Parent |
| } |
| return "" |
| } |
| |
| // Request message for the |
| // [ListPhraseSets][google.cloud.speech.v2.Speech.ListPhraseSets] method. |
| type ListPhraseSetsRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The project and location of PhraseSet resources to list. The |
| // expected format is `projects/{project}/locations/{location}`. |
| Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` |
| // The maximum number of PhraseSets to return. The service may return fewer |
| // than this value. If unspecified, at most 20 PhraseSets will be returned. |
| // The maximum value is 20; values above 20 will be coerced to 20. |
| PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` |
| // A page token, received from a previous |
| // [ListPhraseSets][google.cloud.speech.v2.Speech.ListPhraseSets] call. |
| // Provide this to retrieve the subsequent page. |
| // |
| // When paginating, all other parameters provided to |
| // [ListPhraseSets][google.cloud.speech.v2.Speech.ListPhraseSets] must match |
| // the call that provided the page token. |
| PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` |
| // Whether, or not, to show resources that have been deleted. |
| ShowDeleted bool `protobuf:"varint,4,opt,name=show_deleted,json=showDeleted,proto3" json:"show_deleted,omitempty"` |
| } |
| |
| func (x *ListPhraseSetsRequest) Reset() { |
| *x = ListPhraseSetsRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[45] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ListPhraseSetsRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ListPhraseSetsRequest) ProtoMessage() {} |
| |
| func (x *ListPhraseSetsRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[45] |
| 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 ListPhraseSetsRequest.ProtoReflect.Descriptor instead. |
| func (*ListPhraseSetsRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{45} |
| } |
| |
| func (x *ListPhraseSetsRequest) GetParent() string { |
| if x != nil { |
| return x.Parent |
| } |
| return "" |
| } |
| |
| func (x *ListPhraseSetsRequest) GetPageSize() int32 { |
| if x != nil { |
| return x.PageSize |
| } |
| return 0 |
| } |
| |
| func (x *ListPhraseSetsRequest) GetPageToken() string { |
| if x != nil { |
| return x.PageToken |
| } |
| return "" |
| } |
| |
| func (x *ListPhraseSetsRequest) GetShowDeleted() bool { |
| if x != nil { |
| return x.ShowDeleted |
| } |
| return false |
| } |
| |
| // Response message for the |
| // [ListPhraseSets][google.cloud.speech.v2.Speech.ListPhraseSets] method. |
| type ListPhraseSetsResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The list of requested PhraseSets. |
| PhraseSets []*PhraseSet `protobuf:"bytes,1,rep,name=phrase_sets,json=phraseSets,proto3" json:"phrase_sets,omitempty"` |
| // A token, which can be sent as |
| // [page_token][google.cloud.speech.v2.ListPhraseSetsRequest.page_token] to |
| // retrieve the next page. If this field is omitted, there are no subsequent |
| // pages. This token expires after 72 hours. |
| NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` |
| } |
| |
| func (x *ListPhraseSetsResponse) Reset() { |
| *x = ListPhraseSetsResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[46] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ListPhraseSetsResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ListPhraseSetsResponse) ProtoMessage() {} |
| |
| func (x *ListPhraseSetsResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[46] |
| 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 ListPhraseSetsResponse.ProtoReflect.Descriptor instead. |
| func (*ListPhraseSetsResponse) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{46} |
| } |
| |
| func (x *ListPhraseSetsResponse) GetPhraseSets() []*PhraseSet { |
| if x != nil { |
| return x.PhraseSets |
| } |
| return nil |
| } |
| |
| func (x *ListPhraseSetsResponse) GetNextPageToken() string { |
| if x != nil { |
| return x.NextPageToken |
| } |
| return "" |
| } |
| |
| // Request message for the |
| // [GetPhraseSet][google.cloud.speech.v2.Speech.GetPhraseSet] method. |
| type GetPhraseSetRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The name of the PhraseSet to retrieve. The expected format is |
| // `projects/{project}/locations/{location}/phraseSets/{phrase_set}`. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| } |
| |
| func (x *GetPhraseSetRequest) Reset() { |
| *x = GetPhraseSetRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[47] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *GetPhraseSetRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*GetPhraseSetRequest) ProtoMessage() {} |
| |
| func (x *GetPhraseSetRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[47] |
| 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 GetPhraseSetRequest.ProtoReflect.Descriptor instead. |
| func (*GetPhraseSetRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{47} |
| } |
| |
| func (x *GetPhraseSetRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| // Request message for the |
| // [UpdatePhraseSet][google.cloud.speech.v2.Speech.UpdatePhraseSet] method. |
| type UpdatePhraseSetRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The PhraseSet to update. |
| // |
| // The PhraseSet's `name` field is used to identify the PhraseSet to update. |
| // Format: `projects/{project}/locations/{location}/phraseSets/{phrase_set}`. |
| PhraseSet *PhraseSet `protobuf:"bytes,1,opt,name=phrase_set,json=phraseSet,proto3" json:"phrase_set,omitempty"` |
| // The list of fields to update. If empty, all non-default valued fields are |
| // considered for update. Use `*` to update the entire PhraseSet resource. |
| UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` |
| // If set, validate the request and preview the updated PhraseSet, but do not |
| // actually update it. |
| ValidateOnly bool `protobuf:"varint,4,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` |
| } |
| |
| func (x *UpdatePhraseSetRequest) Reset() { |
| *x = UpdatePhraseSetRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[48] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *UpdatePhraseSetRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*UpdatePhraseSetRequest) ProtoMessage() {} |
| |
| func (x *UpdatePhraseSetRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[48] |
| 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 UpdatePhraseSetRequest.ProtoReflect.Descriptor instead. |
| func (*UpdatePhraseSetRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{48} |
| } |
| |
| func (x *UpdatePhraseSetRequest) GetPhraseSet() *PhraseSet { |
| if x != nil { |
| return x.PhraseSet |
| } |
| return nil |
| } |
| |
| func (x *UpdatePhraseSetRequest) GetUpdateMask() *fieldmaskpb.FieldMask { |
| if x != nil { |
| return x.UpdateMask |
| } |
| return nil |
| } |
| |
| func (x *UpdatePhraseSetRequest) GetValidateOnly() bool { |
| if x != nil { |
| return x.ValidateOnly |
| } |
| return false |
| } |
| |
| // Request message for the |
| // [DeletePhraseSet][google.cloud.speech.v2.Speech.DeletePhraseSet] method. |
| type DeletePhraseSetRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The name of the PhraseSet to delete. |
| // Format: `projects/{project}/locations/{location}/phraseSets/{phrase_set}` |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // If set, validate the request and preview the deleted PhraseSet, but do not |
| // actually delete it. |
| ValidateOnly bool `protobuf:"varint,2,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` |
| // If set to true, and the PhraseSet is not found, the request will succeed |
| // and be a no-op (no Operation is recorded in this case). |
| AllowMissing bool `protobuf:"varint,4,opt,name=allow_missing,json=allowMissing,proto3" json:"allow_missing,omitempty"` |
| // This checksum is computed by the server based on the value of other |
| // fields. This may be sent on update, undelete, and delete requests to ensure |
| // the client has an up-to-date value before proceeding. |
| Etag string `protobuf:"bytes,3,opt,name=etag,proto3" json:"etag,omitempty"` |
| } |
| |
| func (x *DeletePhraseSetRequest) Reset() { |
| *x = DeletePhraseSetRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[49] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DeletePhraseSetRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DeletePhraseSetRequest) ProtoMessage() {} |
| |
| func (x *DeletePhraseSetRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[49] |
| 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 DeletePhraseSetRequest.ProtoReflect.Descriptor instead. |
| func (*DeletePhraseSetRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{49} |
| } |
| |
| func (x *DeletePhraseSetRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *DeletePhraseSetRequest) GetValidateOnly() bool { |
| if x != nil { |
| return x.ValidateOnly |
| } |
| return false |
| } |
| |
| func (x *DeletePhraseSetRequest) GetAllowMissing() bool { |
| if x != nil { |
| return x.AllowMissing |
| } |
| return false |
| } |
| |
| func (x *DeletePhraseSetRequest) GetEtag() string { |
| if x != nil { |
| return x.Etag |
| } |
| return "" |
| } |
| |
| // Request message for the |
| // [UndeletePhraseSet][google.cloud.speech.v2.Speech.UndeletePhraseSet] |
| // method. |
| type UndeletePhraseSetRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The name of the PhraseSet to undelete. |
| // Format: `projects/{project}/locations/{location}/phraseSets/{phrase_set}` |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // If set, validate the request and preview the undeleted PhraseSet, but do |
| // not actually undelete it. |
| ValidateOnly bool `protobuf:"varint,3,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` |
| // This checksum is computed by the server based on the value of other |
| // fields. This may be sent on update, undelete, and delete requests to ensure |
| // the client has an up-to-date value before proceeding. |
| Etag string `protobuf:"bytes,4,opt,name=etag,proto3" json:"etag,omitempty"` |
| } |
| |
| func (x *UndeletePhraseSetRequest) Reset() { |
| *x = UndeletePhraseSetRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[50] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *UndeletePhraseSetRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*UndeletePhraseSetRequest) ProtoMessage() {} |
| |
| func (x *UndeletePhraseSetRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[50] |
| 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 UndeletePhraseSetRequest.ProtoReflect.Descriptor instead. |
| func (*UndeletePhraseSetRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{50} |
| } |
| |
| func (x *UndeletePhraseSetRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *UndeletePhraseSetRequest) GetValidateOnly() bool { |
| if x != nil { |
| return x.ValidateOnly |
| } |
| return false |
| } |
| |
| func (x *UndeletePhraseSetRequest) GetEtag() string { |
| if x != nil { |
| return x.Etag |
| } |
| return "" |
| } |
| |
| // A biasing phrase set, which can be either a string referencing the name of |
| // an existing phrase set resource, or an inline definition of a phrase set. |
| type SpeechAdaptation_AdaptationPhraseSet struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Types that are assignable to Value: |
| // |
| // *SpeechAdaptation_AdaptationPhraseSet_PhraseSet |
| // *SpeechAdaptation_AdaptationPhraseSet_InlinePhraseSet |
| Value isSpeechAdaptation_AdaptationPhraseSet_Value `protobuf_oneof:"value"` |
| } |
| |
| func (x *SpeechAdaptation_AdaptationPhraseSet) Reset() { |
| *x = SpeechAdaptation_AdaptationPhraseSet{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[52] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *SpeechAdaptation_AdaptationPhraseSet) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*SpeechAdaptation_AdaptationPhraseSet) ProtoMessage() {} |
| |
| func (x *SpeechAdaptation_AdaptationPhraseSet) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[52] |
| 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 SpeechAdaptation_AdaptationPhraseSet.ProtoReflect.Descriptor instead. |
| func (*SpeechAdaptation_AdaptationPhraseSet) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{13, 0} |
| } |
| |
| func (m *SpeechAdaptation_AdaptationPhraseSet) GetValue() isSpeechAdaptation_AdaptationPhraseSet_Value { |
| if m != nil { |
| return m.Value |
| } |
| return nil |
| } |
| |
| func (x *SpeechAdaptation_AdaptationPhraseSet) GetPhraseSet() string { |
| if x, ok := x.GetValue().(*SpeechAdaptation_AdaptationPhraseSet_PhraseSet); ok { |
| return x.PhraseSet |
| } |
| return "" |
| } |
| |
| func (x *SpeechAdaptation_AdaptationPhraseSet) GetInlinePhraseSet() *PhraseSet { |
| if x, ok := x.GetValue().(*SpeechAdaptation_AdaptationPhraseSet_InlinePhraseSet); ok { |
| return x.InlinePhraseSet |
| } |
| return nil |
| } |
| |
| type isSpeechAdaptation_AdaptationPhraseSet_Value interface { |
| isSpeechAdaptation_AdaptationPhraseSet_Value() |
| } |
| |
| type SpeechAdaptation_AdaptationPhraseSet_PhraseSet struct { |
| // The name of an existing phrase set resource. The user must have read |
| // access to the resource and it must not be deleted. |
| PhraseSet string `protobuf:"bytes,1,opt,name=phrase_set,json=phraseSet,proto3,oneof"` |
| } |
| |
| type SpeechAdaptation_AdaptationPhraseSet_InlinePhraseSet struct { |
| // An inline defined phrase set. |
| InlinePhraseSet *PhraseSet `protobuf:"bytes,2,opt,name=inline_phrase_set,json=inlinePhraseSet,proto3,oneof"` |
| } |
| |
| func (*SpeechAdaptation_AdaptationPhraseSet_PhraseSet) isSpeechAdaptation_AdaptationPhraseSet_Value() { |
| } |
| |
| func (*SpeechAdaptation_AdaptationPhraseSet_InlinePhraseSet) isSpeechAdaptation_AdaptationPhraseSet_Value() { |
| } |
| |
| // Events that a timeout can be set on for voice activity. |
| type StreamingRecognitionFeatures_VoiceActivityTimeout struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Duration to timeout the stream if no speech begins. If this is set and |
| // no speech is detected in this duration at the start of the stream, the |
| // server will close the stream. |
| SpeechStartTimeout *durationpb.Duration `protobuf:"bytes,1,opt,name=speech_start_timeout,json=speechStartTimeout,proto3" json:"speech_start_timeout,omitempty"` |
| // Duration to timeout the stream after speech ends. If this is set and no |
| // speech is detected in this duration after speech was detected, the server |
| // will close the stream. |
| SpeechEndTimeout *durationpb.Duration `protobuf:"bytes,2,opt,name=speech_end_timeout,json=speechEndTimeout,proto3" json:"speech_end_timeout,omitempty"` |
| } |
| |
| func (x *StreamingRecognitionFeatures_VoiceActivityTimeout) Reset() { |
| *x = StreamingRecognitionFeatures_VoiceActivityTimeout{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[53] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *StreamingRecognitionFeatures_VoiceActivityTimeout) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*StreamingRecognitionFeatures_VoiceActivityTimeout) ProtoMessage() {} |
| |
| func (x *StreamingRecognitionFeatures_VoiceActivityTimeout) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[53] |
| 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 StreamingRecognitionFeatures_VoiceActivityTimeout.ProtoReflect.Descriptor instead. |
| func (*StreamingRecognitionFeatures_VoiceActivityTimeout) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{21, 0} |
| } |
| |
| func (x *StreamingRecognitionFeatures_VoiceActivityTimeout) GetSpeechStartTimeout() *durationpb.Duration { |
| if x != nil { |
| return x.SpeechStartTimeout |
| } |
| return nil |
| } |
| |
| func (x *StreamingRecognitionFeatures_VoiceActivityTimeout) GetSpeechEndTimeout() *durationpb.Duration { |
| if x != nil { |
| return x.SpeechEndTimeout |
| } |
| return nil |
| } |
| |
| // An item of the class. |
| type CustomClass_ClassItem struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The class item's value. |
| Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` |
| } |
| |
| func (x *CustomClass_ClassItem) Reset() { |
| *x = CustomClass_ClassItem{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[56] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *CustomClass_ClassItem) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*CustomClass_ClassItem) ProtoMessage() {} |
| |
| func (x *CustomClass_ClassItem) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[56] |
| 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 CustomClass_ClassItem.ProtoReflect.Descriptor instead. |
| func (*CustomClass_ClassItem) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{35, 0} |
| } |
| |
| func (x *CustomClass_ClassItem) GetValue() string { |
| if x != nil { |
| return x.Value |
| } |
| return "" |
| } |
| |
| // A Phrase contains words and phrase "hints" so that the speech recognition |
| // is more likely to recognize them. This can be used to improve the accuracy |
| // for specific words and phrases, for example, if specific commands are |
| // typically spoken by the user. This can also be used to add additional words |
| // to the vocabulary of the recognizer. |
| // |
| // List items can also include CustomClass references containing groups of |
| // words that represent common concepts that occur in natural language. |
| type PhraseSet_Phrase struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The phrase itself. |
| Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` |
| // Hint Boost. Overrides the boost set at the phrase set level. |
| // Positive value will increase the probability that a specific phrase will |
| // be recognized over other similar sounding phrases. The higher the boost, |
| // the higher the chance of false positive recognition as well. Negative |
| // boost values would correspond to anti-biasing. Anti-biasing is not |
| // enabled, so negative boost will simply be ignored. Though `boost` can |
| // accept a wide range of positive values, most use cases are best served |
| // with values between 0 and 20. We recommend using a binary search approach |
| // to finding the optimal value for your use case. Speech recognition |
| // will skip PhraseSets with a boost value of 0. |
| Boost float32 `protobuf:"fixed32,2,opt,name=boost,proto3" json:"boost,omitempty"` |
| } |
| |
| func (x *PhraseSet_Phrase) Reset() { |
| *x = PhraseSet_Phrase{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[58] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *PhraseSet_Phrase) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*PhraseSet_Phrase) ProtoMessage() {} |
| |
| func (x *PhraseSet_Phrase) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[58] |
| 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 PhraseSet_Phrase.ProtoReflect.Descriptor instead. |
| func (*PhraseSet_Phrase) Descriptor() ([]byte, []int) { |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP(), []int{36, 0} |
| } |
| |
| func (x *PhraseSet_Phrase) GetValue() string { |
| if x != nil { |
| return x.Value |
| } |
| return "" |
| } |
| |
| func (x *PhraseSet_Phrase) GetBoost() float32 { |
| if x != nil { |
| return x.Boost |
| } |
| return 0 |
| } |
| |
| var File_google_cloud_speech_v2_cloud_speech_proto protoreflect.FileDescriptor |
| |
| var file_google_cloud_speech_v2_cloud_speech_proto_rawDesc = []byte{ |
| 0x0a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x73, |
| 0x70, 0x65, 0x65, 0x63, 0x68, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x73, |
| 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, |
| 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, |
| 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, |
| 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, |
| 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, |
| 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, |
| 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, |
| 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, |
| 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, |
| 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, |
| 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x1a, 0x17, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, |
| 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xee, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, |
| 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, |
| 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, |
| 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, |
| 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, |
| 0x52, 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, |
| 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, |
| 0x01, 0x28, 0x08, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, |
| 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x5f, |
| 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, |
| 0x69, 0x7a, 0x65, 0x72, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, |
| 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x22, 0x12, 0x20, |
| 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, |
| 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, |
| 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x22, 0xb3, 0x10, 0x0a, 0x11, 0x4f, 0x70, 0x65, |
| 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3b, |
| 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 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, |
| 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, 0x02, 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, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, |
| 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, |
| 0x75, 0x72, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x04, |
| 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x48, 0x0a, 0x0c, |
| 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, |
| 0x28, 0x09, 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, |
| 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, |
| 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x0a, 0x6b, 0x6d, 0x73, 0x4b, |
| 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x5e, 0x0a, 0x14, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, |
| 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, |
| 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x63, 0x6c, 0x6f, 0x75, 0x64, |
| 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, |
| 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, |
| 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x6b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, |
| 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x67, 0x0a, 0x17, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, |
| 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, |
| 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, |
| 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x52, |
| 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x15, 0x62, 0x61, 0x74, 0x63, 0x68, 0x52, |
| 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, |
| 0x6d, 0x0a, 0x19, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, |
| 0x69, 0x7a, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, |
| 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, |
| 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, |
| 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, |
| 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x17, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, |
| 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6d, |
| 0x0a, 0x19, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, |
| 0x7a, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, |
| 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, |
| 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, |
| 0x65, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, |
| 0x73, 0x74, 0x48, 0x00, 0x52, 0x17, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, |
| 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6d, 0x0a, |
| 0x19, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, |
| 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, |
| 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, |
| 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, |
| 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, |
| 0x74, 0x48, 0x00, 0x52, 0x17, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x67, |
| 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x73, 0x0a, 0x1b, |
| 0x75, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, |
| 0x7a, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, |
| 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, |
| 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x6e, 0x64, 0x65, 0x6c, |
| 0x65, 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x52, 0x65, 0x71, |
| 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x19, 0x75, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, |
| 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, |
| 0x74, 0x12, 0x71, 0x0a, 0x1b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x75, 0x73, 0x74, |
| 0x6f, 0x6d, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, |
| 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, |
| 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, |
| 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, |
| 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x18, 0x63, 0x72, 0x65, 0x61, |
| 0x74, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, |
| 0x75, 0x65, 0x73, 0x74, 0x12, 0x71, 0x0a, 0x1b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x63, |
| 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, |
| 0x65, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, |
| 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, |
| 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x18, 0x75, |
| 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, |
| 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x71, 0x0a, 0x1b, 0x64, 0x65, 0x6c, 0x65, 0x74, |
| 0x65, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x72, |
| 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, |
| 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x75, 0x73, 0x74, |
| 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, |
| 0x52, 0x18, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, |
| 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x77, 0x0a, 0x1d, 0x75, 0x6e, |
| 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x6c, |
| 0x61, 0x73, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, |
| 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, |
| 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x6e, 0x64, 0x65, 0x6c, |
| 0x65, 0x74, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, |
| 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x1a, 0x75, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, |
| 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, |
| 0x65, 0x73, 0x74, 0x12, 0x6b, 0x0a, 0x19, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x68, |
| 0x72, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, |
| 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, |
| 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, |
| 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x52, |
| 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x16, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, |
| 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, |
| 0x12, 0x6b, 0x0a, 0x19, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x68, 0x72, 0x61, 0x73, |
| 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x12, 0x20, |
| 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, |
| 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, |
| 0x61, 0x74, 0x65, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, |
| 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x68, 0x72, |
| 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6b, 0x0a, |
| 0x19, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x5f, 0x73, |
| 0x65, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, |
| 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, |
| 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, |
| 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, |
| 0x48, 0x00, 0x52, 0x16, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, |
| 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x71, 0x0a, 0x1b, 0x75, 0x6e, |
| 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, |
| 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, |
| 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, |
| 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, |
| 0x65, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, |
| 0x74, 0x48, 0x00, 0x52, 0x18, 0x75, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x68, 0x72, |
| 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x61, 0x0a, |
| 0x15, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x72, |
| 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, |
| 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, |
| 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x13, 0x75, 0x70, 0x64, |
| 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, |
| 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x65, 0x72, |
| 0x63, 0x65, 0x6e, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x67, |
| 0x72, 0x65, 0x73, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x6a, 0x0a, 0x18, 0x62, |
| 0x61, 0x74, 0x63, 0x68, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x5f, 0x6d, |
| 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, |
| 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x63, 0x6f, |
| 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x01, 0x52, |
| 0x16, 0x62, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x4d, |
| 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x09, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, |
| 0x73, 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xba, |
| 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, |
| 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, |
| 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, |
| 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, |
| 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, |
| 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, |
| 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, |
| 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, |
| 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x77, |
| 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, |
| 0x73, 0x68, 0x6f, 0x77, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x87, 0x01, 0x0a, 0x17, |
| 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x52, |
| 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x67, |
| 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, |
| 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, |
| 0x52, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x12, 0x26, 0x0a, |
| 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, |
| 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, |
| 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x54, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, |
| 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, |
| 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, 0xe0, 0x41, 0x02, |
| 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65, 0x63, 0x6f, 0x67, |
| 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xc4, 0x01, 0x0a, 0x17, |
| 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, |
| 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x67, |
| 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, |
| 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x42, |
| 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, |
| 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, |
| 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, |
| 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, |
| 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x23, 0x0a, |
| 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x04, |
| 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, |
| 0x6c, 0x79, 0x22, 0xb5, 0x01, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x63, |
| 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, |
| 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, 0xe0, 0x41, |
| 0x02, 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65, 0x63, 0x6f, |
| 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, |
| 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, |
| 0x01, 0x28, 0x08, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, |
| 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, |
| 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, |
| 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x03, |
| 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x22, 0x92, 0x01, 0x0a, 0x19, 0x55, |
| 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, |
| 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, |
| 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x22, 0x0a, 0x20, |
| 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, |
| 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, |
| 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, |
| 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x76, |
| 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x65, |
| 0x74, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x22, |
| 0x88, 0x09, 0x0a, 0x0a, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x12, 0x17, |
| 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, |
| 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, |
| 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x21, |
| 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, |
| 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, |
| 0x65, 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, |
| 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x2a, 0x0a, 0x0e, |
| 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x11, |
| 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, |
| 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x67, 0x0a, 0x1a, 0x64, 0x65, 0x66, 0x61, |
| 0x75, 0x6c, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, |
| 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, |
| 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, |
| 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x18, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, |
| 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, |
| 0x67, 0x12, 0x55, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, |
| 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, |
| 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, |
| 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, |
| 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, |
| 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x43, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, |
| 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, |
| 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x61, 0x74, |
| 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x40, 0x0a, |
| 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 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, 0x42, 0x03, |
| 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, |
| 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, |
| 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, |
| 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, |
| 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, |
| 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, |
| 0x6d, 0x65, 0x18, 0x0e, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, |
| 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x0c, 0x20, |
| 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x25, |
| 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x0d, 0x20, |
| 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x63, |
| 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x4b, 0x0a, 0x0c, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, |
| 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x03, |
| 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, |
| 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x0a, 0x6b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x4e, 0x61, |
| 0x6d, 0x65, 0x12, 0x61, 0x0a, 0x14, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x65, |
| 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, |
| 0x42, 0x30, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, |
| 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, |
| 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, |
| 0x6f, 0x6e, 0x52, 0x11, 0x6b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, |
| 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, |
| 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, |
| 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, |
| 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, |
| 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x37, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, |
| 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, |
| 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, |
| 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x04, 0x3a, 0x6a, |
| 0xea, 0x41, 0x67, 0x0a, 0x20, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65, 0x63, 0x6f, 0x67, |
| 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x12, 0x40, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, |
| 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, |
| 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x72, |
| 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x63, 0x6f, |
| 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x7d, 0x52, 0x01, 0x01, 0x22, 0x1a, 0x0a, 0x18, 0x41, 0x75, |
| 0x74, 0x6f, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, |
| 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xa7, 0x02, 0x0a, 0x16, 0x45, 0x78, 0x70, 0x6c, 0x69, |
| 0x63, 0x69, 0x74, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, |
| 0x67, 0x12, 0x5d, 0x0a, 0x08, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, |
| 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, |
| 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x70, |
| 0x6c, 0x69, 0x63, 0x69, 0x74, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, |
| 0x66, 0x69, 0x67, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, |
| 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, |
| 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, |
| 0x68, 0x65, 0x72, 0x74, 0x7a, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x73, 0x61, 0x6d, |
| 0x70, 0x6c, 0x65, 0x52, 0x61, 0x74, 0x65, 0x48, 0x65, 0x72, 0x74, 0x7a, 0x12, 0x2e, 0x0a, 0x13, |
| 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6f, |
| 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x61, 0x75, 0x64, 0x69, 0x6f, |
| 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x52, 0x0a, 0x0d, |
| 0x41, 0x75, 0x64, 0x69, 0x6f, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x1e, 0x0a, |
| 0x1a, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x5f, 0x45, 0x4e, 0x43, 0x4f, 0x44, 0x49, 0x4e, 0x47, 0x5f, |
| 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, |
| 0x08, 0x4c, 0x49, 0x4e, 0x45, 0x41, 0x52, 0x31, 0x36, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x4d, |
| 0x55, 0x4c, 0x41, 0x57, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x4c, 0x41, 0x57, 0x10, 0x03, |
| 0x22, 0x7c, 0x0a, 0x18, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x44, 0x69, 0x61, 0x72, 0x69, |
| 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2f, 0x0a, 0x11, |
| 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, |
| 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x6d, 0x69, |
| 0x6e, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2f, 0x0a, |
| 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, |
| 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x6d, |
| 0x61, 0x78, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xb5, |
| 0x05, 0x0a, 0x13, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, |
| 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x66, 0x61, 0x6e, |
| 0x69, 0x74, 0x79, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, |
| 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x66, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, |
| 0x72, 0x12, 0x37, 0x0a, 0x18, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x77, 0x6f, 0x72, 0x64, |
| 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, |
| 0x01, 0x28, 0x08, 0x52, 0x15, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x54, |
| 0x69, 0x6d, 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x65, 0x6e, |
| 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, |
| 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x65, 0x6e, 0x61, 0x62, |
| 0x6c, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, |
| 0x12, 0x40, 0x0a, 0x1c, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x6d, |
| 0x61, 0x74, 0x69, 0x63, 0x5f, 0x70, 0x75, 0x6e, 0x63, 0x74, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, |
| 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x75, |
| 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x50, 0x75, 0x6e, 0x63, 0x74, 0x75, 0x61, 0x74, 0x69, |
| 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x19, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x70, 0x6f, |
| 0x6b, 0x65, 0x6e, 0x5f, 0x70, 0x75, 0x6e, 0x63, 0x74, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, |
| 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x6f, |
| 0x6b, 0x65, 0x6e, 0x50, 0x75, 0x6e, 0x63, 0x74, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, |
| 0x0a, 0x14, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, |
| 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x65, 0x6e, |
| 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x6f, 0x6b, 0x65, 0x6e, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x73, |
| 0x12, 0x6a, 0x0a, 0x12, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, |
| 0x6c, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, |
| 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, |
| 0x6e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x43, |
| 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x10, 0x6d, 0x75, 0x6c, 0x74, |
| 0x69, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x5f, 0x0a, 0x12, |
| 0x64, 0x69, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, |
| 0x69, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, |
| 0x32, 0x2e, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x44, 0x69, 0x61, 0x72, 0x69, 0x7a, 0x61, |
| 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x64, 0x69, 0x61, 0x72, |
| 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x29, 0x0a, |
| 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, |
| 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x41, 0x6c, 0x74, 0x65, |
| 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x73, 0x22, 0x5c, 0x0a, 0x10, 0x4d, 0x75, 0x6c, 0x74, |
| 0x69, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x1e, |
| 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x4f, |
| 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, |
| 0x12, 0x24, 0x0a, 0x20, 0x53, 0x45, 0x50, 0x41, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x43, |
| 0x4f, 0x47, 0x4e, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x43, 0x48, 0x41, |
| 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x01, 0x22, 0xf6, 0x02, 0x0a, 0x10, 0x53, 0x70, 0x65, 0x65, 0x63, |
| 0x68, 0x41, 0x64, 0x61, 0x70, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5d, 0x0a, 0x0b, 0x70, |
| 0x68, 0x72, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, |
| 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, |
| 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, |
| 0x41, 0x64, 0x61, 0x70, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x61, 0x70, 0x74, |
| 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x52, 0x0a, |
| 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x73, 0x12, 0x4a, 0x0a, 0x0e, 0x63, 0x75, |
| 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, |
| 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, |
| 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x75, 0x73, 0x74, |
| 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, |
| 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x1a, 0xb6, 0x01, 0x0a, 0x13, 0x41, 0x64, 0x61, 0x70, 0x74, |
| 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x12, 0x45, |
| 0x0a, 0x0a, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, |
| 0x28, 0x09, 0x42, 0x24, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, |
| 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x09, 0x70, 0x68, 0x72, 0x61, |
| 0x73, 0x65, 0x53, 0x65, 0x74, 0x12, 0x4f, 0x0a, 0x11, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, |
| 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, |
| 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, |
| 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, |
| 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x68, 0x72, |
| 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, |
| 0x8b, 0x03, 0x0a, 0x11, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, |
| 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x64, 0x0a, 0x14, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x64, 0x65, |
| 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, |
| 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, |
| 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x75, 0x74, |
| 0x6f, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x43, |
| 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x12, 0x61, 0x75, 0x74, 0x6f, 0x44, 0x65, 0x63, |
| 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6a, 0x0a, 0x18, 0x65, |
| 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x5f, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, |
| 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, |
| 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x44, |
| 0x65, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, |
| 0x16, 0x65, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x69, 0x6e, |
| 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x47, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, |
| 0x72, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, |
| 0x76, 0x32, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, |
| 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, |
| 0x12, 0x48, 0x0a, 0x0a, 0x61, 0x64, 0x61, 0x70, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, |
| 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, |
| 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x70, |
| 0x65, 0x65, 0x63, 0x68, 0x41, 0x64, 0x61, 0x70, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, |
| 0x61, 0x64, 0x61, 0x70, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x11, 0x0a, 0x0f, 0x64, 0x65, |
| 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x9c, 0x02, |
| 0x0a, 0x10, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, |
| 0x73, 0x74, 0x12, 0x48, 0x0a, 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, |
| 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x22, 0x0a, 0x20, |
| 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, |
| 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, |
| 0x52, 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x06, |
| 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, |
| 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, |
| 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, |
| 0x3b, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x08, |
| 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, |
| 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, |
| 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x1a, 0x0a, 0x07, |
| 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, |
| 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, |
| 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x75, 0x72, 0x69, 0x42, 0x0e, 0x0a, 0x0c, |
| 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x6c, 0x0a, 0x1b, |
| 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, |
| 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x4d, 0x0a, 0x15, 0x74, |
| 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x64, 0x75, 0x72, 0x61, |
| 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, |
| 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x69, 0x6c, 0x6c, |
| 0x65, 0x64, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x96, 0x01, 0x0a, 0x1c, 0x53, |
| 0x70, 0x65, 0x65, 0x63, 0x68, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, |
| 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x74, |
| 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, |
| 0x0a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x63, |
| 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, |
| 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x36, 0x0a, 0x05, 0x77, |
| 0x6f, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, |
| 0x2e, 0x76, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x77, 0x6f, |
| 0x72, 0x64, 0x73, 0x22, 0xdb, 0x01, 0x0a, 0x08, 0x57, 0x6f, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, |
| 0x12, 0x3c, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, |
| 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, |
| 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, |
| 0x6e, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x38, |
| 0x0a, 0x0a, 0x65, 0x6e, 0x64, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, |
| 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, |
| 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x65, |
| 0x6e, 0x64, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x6f, 0x72, 0x64, |
| 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1e, 0x0a, 0x0a, |
| 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, |
| 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, |
| 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x06, 0x20, |
| 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, |
| 0x6c, 0x22, 0x85, 0x02, 0x0a, 0x17, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x52, 0x65, 0x63, 0x6f, |
| 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x58, 0x0a, |
| 0x0c, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x73, 0x18, 0x01, 0x20, |
| 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, |
| 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x70, 0x65, |
| 0x65, 0x63, 0x68, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, |
| 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x52, 0x0c, 0x61, 0x6c, 0x74, 0x65, 0x72, |
| 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, |
| 0x65, 0x6c, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x68, |
| 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x61, 0x67, 0x12, 0x45, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x75, |
| 0x6c, 0x74, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, |
| 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, |
| 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, |
| 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x45, 0x6e, 0x64, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, |
| 0x28, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, |
| 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x6c, 0x61, 0x6e, |
| 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x22, 0xaf, 0x01, 0x0a, 0x11, 0x52, 0x65, |
| 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, |
| 0x49, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, |
| 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, |
| 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, |
| 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, |
| 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x4f, 0x0a, 0x08, 0x6d, 0x65, |
| 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, |
| 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, |
| 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, |
| 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xb8, 0x03, 0x0a, 0x1c, |
| 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, |
| 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x1c, |
| 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x74, |
| 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, |
| 0x28, 0x08, 0x52, 0x19, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x41, |
| 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x27, 0x0a, |
| 0x0f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6d, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, |
| 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6d, 0x52, |
| 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x7f, 0x0a, 0x16, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, |
| 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, |
| 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, |
| 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, |
| 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, |
| 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x56, 0x6f, 0x69, |
| 0x63, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, |
| 0x74, 0x52, 0x14, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, |
| 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x1a, 0xac, 0x01, 0x0a, 0x14, 0x56, 0x6f, 0x69, 0x63, |
| 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, |
| 0x12, 0x4b, 0x0a, 0x14, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, |
| 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, |
| 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, |
| 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x73, 0x70, 0x65, 0x65, 0x63, |
| 0x68, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x47, 0x0a, |
| 0x12, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, |
| 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, |
| 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x45, 0x6e, 0x64, 0x54, |
| 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0x86, 0x02, 0x0a, 0x1a, 0x53, 0x74, 0x72, 0x65, 0x61, |
| 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, |
| 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x46, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, |
| 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, |
| 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x52, |
| 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, |
| 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3b, 0x0a, |
| 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, |
| 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, |
| 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, |
| 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x63, 0x0a, 0x12, 0x73, 0x74, |
| 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, |
| 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, |
| 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, |
| 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, |
| 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x11, 0x73, 0x74, |
| 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, |
| 0xf3, 0x01, 0x0a, 0x19, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, |
| 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, |
| 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, |
| 0x09, 0x42, 0x28, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x73, 0x70, 0x65, 0x65, 0x63, |
| 0x68, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, |
| 0x2f, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x52, 0x0a, 0x72, 0x65, 0x63, |
| 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x12, 0x5f, 0x0a, 0x10, 0x73, 0x74, 0x72, 0x65, 0x61, |
| 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, |
| 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, |
| 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, |
| 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, |
| 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, |
| 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x05, 0x61, 0x75, 0x64, 0x69, |
| 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, |
| 0x42, 0x13, 0x0a, 0x11, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, |
| 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xab, 0x02, 0x0a, 0x15, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, |
| 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, |
| 0x48, 0x0a, 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x18, 0x01, 0x20, |
| 0x01, 0x28, 0x09, 0x42, 0x28, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x73, 0x70, 0x65, |
| 0x65, 0x63, 0x68, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, |
| 0x6f, 0x6d, 0x2f, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x52, 0x0a, 0x72, |
| 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x06, 0x63, 0x6f, 0x6e, |
| 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, |
| 0x76, 0x32, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, |
| 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3b, 0x0a, 0x0b, |
| 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, |
| 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, |
| 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x63, |
| 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x48, 0x0a, 0x05, 0x66, 0x69, 0x6c, |
| 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, |
| 0x32, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, |
| 0x46, 0x69, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x05, 0x66, 0x69, |
| 0x6c, 0x65, 0x73, 0x22, 0xdd, 0x01, 0x0a, 0x16, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x63, |
| 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, |
| 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, |
| 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, |
| 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, |
| 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, |
| 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x72, 0x65, |
| 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, 0x6c, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, |
| 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, |
| 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x46, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, |
| 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, |
| 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, |
| 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x46, 0x69, |
| 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, |
| 0x02, 0x38, 0x01, 0x22, 0x56, 0x0a, 0x18, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x63, 0x6f, |
| 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, |
| 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, |
| 0x69, 0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, |
| 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, |
| 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x8c, 0x01, 0x0a, 0x23, |
| 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x54, 0x72, |
| 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, |
| 0x61, 0x74, 0x61, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, |
| 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x70, |
| 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x28, |
| 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, |
| 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, |
| 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x22, 0xa3, 0x02, 0x0a, 0x16, 0x42, |
| 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x4d, 0x65, 0x74, |
| 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x80, 0x01, 0x0a, 0x16, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, |
| 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, |
| 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, |
| 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, |
| 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x4d, 0x65, |
| 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, |
| 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, |
| 0x79, 0x52, 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, |
| 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x85, 0x01, 0x0a, 0x1a, 0x54, 0x72, 0x61, |
| 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, |
| 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, |
| 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x51, 0x0a, 0x05, 0x76, 0x61, 0x6c, |
| 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, |
| 0x32, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, |
| 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, |
| 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, |
| 0x22, 0xc0, 0x01, 0x0a, 0x1a, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, |
| 0x69, 0x7a, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, |
| 0x12, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, |
| 0x75, 0x72, 0x69, 0x12, 0x41, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, |
| 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, |
| 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x63, |
| 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, |
| 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, |
| 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, |
| 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4d, |
| 0x61, 0x73, 0x6b, 0x42, 0x0e, 0x0a, 0x0c, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x73, 0x6f, 0x75, |
| 0x72, 0x63, 0x65, 0x22, 0xc1, 0x02, 0x0a, 0x1a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, |
| 0x67, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, |
| 0x6c, 0x74, 0x12, 0x58, 0x0a, 0x0c, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, |
| 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, |
| 0x32, 0x2e, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, |
| 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x52, 0x0c, |
| 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, |
| 0x69, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, |
| 0x69, 0x73, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x62, 0x69, |
| 0x6c, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x73, 0x74, 0x61, 0x62, |
| 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x45, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, |
| 0x65, 0x6e, 0x64, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, |
| 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, |
| 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x72, 0x65, 0x73, |
| 0x75, 0x6c, 0x74, 0x45, 0x6e, 0x64, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x1f, 0x0a, 0x0b, |
| 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, |
| 0x05, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x61, 0x67, 0x12, 0x28, 0x0a, |
| 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, |
| 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, |
| 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x22, 0xfe, 0x03, 0x0a, 0x1a, 0x53, 0x74, 0x72, 0x65, |
| 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x52, 0x65, |
| 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, |
| 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, |
| 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, |
| 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, |
| 0x75, 0x6c, 0x74, 0x73, 0x12, 0x6e, 0x0a, 0x11, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x5f, 0x65, |
| 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, |
| 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, |
| 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, |
| 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, |
| 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, |
| 0x79, 0x70, 0x65, 0x52, 0x0f, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x45, 0x76, 0x65, 0x6e, 0x74, |
| 0x54, 0x79, 0x70, 0x65, 0x12, 0x49, 0x0a, 0x13, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x5f, 0x65, |
| 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, |
| 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, |
| 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x73, 0x70, |
| 0x65, 0x65, 0x63, 0x68, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, |
| 0x4f, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, |
| 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, |
| 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x67, |
| 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, |
| 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, |
| 0x22, 0x85, 0x01, 0x0a, 0x0f, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x45, 0x76, 0x65, 0x6e, 0x74, |
| 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x50, 0x45, 0x45, 0x43, 0x48, 0x5f, 0x45, |
| 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, |
| 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x4e, 0x44, 0x5f, 0x4f, |
| 0x46, 0x5f, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x55, 0x54, 0x54, 0x45, 0x52, 0x41, 0x4e, |
| 0x43, 0x45, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x50, 0x45, 0x45, 0x43, 0x48, 0x5f, 0x41, |
| 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x5f, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x10, 0x02, 0x12, |
| 0x17, 0x0a, 0x13, 0x53, 0x50, 0x45, 0x45, 0x43, 0x48, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, |
| 0x54, 0x59, 0x5f, 0x45, 0x4e, 0x44, 0x10, 0x03, 0x22, 0x83, 0x02, 0x0a, 0x06, 0x43, 0x6f, 0x6e, |
| 0x66, 0x69, 0x67, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, |
| 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x0c, |
| 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, |
| 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, |
| 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, |
| 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x0a, 0x6b, |
| 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, |
| 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, |
| 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x3a, 0x51, 0xea, 0x41, 0x4e, |
| 0x0a, 0x1c, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, |
| 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2e, |
| 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, |
| 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, |
| 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x4c, |
| 0x0a, 0x10, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, |
| 0x73, 0x74, 0x12, 0x38, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, |
| 0x42, 0x24, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1e, 0x0a, 0x1c, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, |
| 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, |
| 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x8f, 0x01, 0x0a, |
| 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, |
| 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, |
| 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, |
| 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, |
| 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, |
| 0x67, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, |
| 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, |
| 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, |
| 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xc8, |
| 0x08, 0x0a, 0x0b, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x17, |
| 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, |
| 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, |
| 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x21, |
| 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, |
| 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, |
| 0x65, 0x12, 0x43, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, |
| 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, |
| 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, |
| 0x43, 0x6c, 0x61, 0x73, 0x73, 0x2e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x52, |
| 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x44, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, |
| 0x0f, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, |
| 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x43, |
| 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, |
| 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x40, 0x0a, 0x0b, |
| 0x63, 0x72, 0x65, 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, 0x42, 0x03, 0xe0, |
| 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, |
| 0x0a, 0x0b, 0x75, 0x70, 0x64, 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, 0x42, |
| 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, |
| 0x12, 0x40, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, |
| 0x08, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, |
| 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, |
| 0x65, 0x18, 0x09, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, |
| 0x54, 0x69, 0x6d, 0x65, 0x12, 0x56, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, |
| 0x6f, 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, |
| 0x76, 0x32, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x2e, 0x41, |
| 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, |
| 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x17, 0x0a, 0x04, |
| 0x65, 0x74, 0x61, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, |
| 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x25, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, |
| 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, |
| 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x4b, 0x0a, 0x0c, |
| 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, |
| 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, |
| 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, |
| 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x0a, 0x6b, |
| 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x61, 0x0a, 0x14, 0x6b, 0x6d, 0x73, |
| 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, |
| 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x2a, 0x0a, |
| 0x28, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, |
| 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x6b, 0x6d, 0x73, 0x4b, 0x65, |
| 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x21, 0x0a, 0x09, |
| 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, |
| 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, |
| 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, |
| 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, |
| 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, |
| 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, |
| 0x37, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, |
| 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, |
| 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x44, |
| 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x04, 0x3a, 0x6f, 0xea, 0x41, 0x6c, 0x0a, 0x21, 0x73, |
| 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, |
| 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, |
| 0x12, 0x44, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, |
| 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, |
| 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, |
| 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, |
| 0x63, 0x6c, 0x61, 0x73, 0x73, 0x7d, 0x52, 0x01, 0x01, 0x22, 0xe3, 0x08, 0x0a, 0x09, 0x50, 0x68, |
| 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, |
| 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, |
| 0x12, 0x15, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, |
| 0x41, 0x03, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x42, 0x0a, 0x07, 0x70, 0x68, 0x72, 0x61, 0x73, |
| 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, |
| 0x32, 0x2e, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x2e, 0x50, 0x68, 0x72, 0x61, |
| 0x73, 0x65, 0x52, 0x07, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, |
| 0x6f, 0x6f, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x62, 0x6f, 0x6f, 0x73, |
| 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, |
| 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, |
| 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0f, 0x20, |
| 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, |
| 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x68, 0x72, |
| 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, |
| 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, |
| 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, |
| 0x64, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, |
| 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, |
| 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 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, 0x42, 0x03, 0xe0, |
| 0x41, 0x03, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, |
| 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 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, 0x42, |
| 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, |
| 0x12, 0x54, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, |
| 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, |
| 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x50, |
| 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, |
| 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, |
| 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x0b, |
| 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, |
| 0x25, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x0c, |
| 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x6e, |
| 0x63, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x4b, 0x0a, 0x0c, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, |
| 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, |
| 0x03, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, |
| 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x0a, 0x6b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x4e, |
| 0x61, 0x6d, 0x65, 0x12, 0x61, 0x0a, 0x14, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, |
| 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, |
| 0x09, 0x42, 0x30, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x63, 0x6c, 0x6f, 0x75, 0x64, |
| 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, |
| 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, |
| 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x6b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, |
| 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x34, 0x0a, 0x06, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, |
| 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, |
| 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x18, |
| 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x1a, 0x3e, 0x0a, 0x10, |
| 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, |
| 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, |
| 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, |
| 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x37, 0x0a, 0x05, |
| 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, |
| 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, |
| 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x4c, 0x45, |
| 0x54, 0x45, 0x44, 0x10, 0x04, 0x3a, 0x68, 0xea, 0x41, 0x65, 0x0a, 0x1f, 0x73, 0x70, 0x65, 0x65, |
| 0x63, 0x68, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, |
| 0x6d, 0x2f, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x12, 0x3f, 0x70, 0x72, 0x6f, |
| 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, |
| 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, |
| 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x73, 0x2f, |
| 0x7b, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x7d, 0x52, 0x01, 0x01, 0x22, |
| 0xf7, 0x01, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, |
| 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x0c, |
| 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, |
| 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, |
| 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x75, 0x73, 0x74, |
| 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x63, 0x75, |
| 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x6c, |
| 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, |
| 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x26, |
| 0x0a, 0x0f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, |
| 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, |
| 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, |
| 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x12, 0x21, |
| 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, |
| 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, |
| 0x73, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x22, 0xbc, 0x01, 0x0a, 0x18, 0x4c, 0x69, |
| 0x73, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x52, |
| 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, |
| 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, |
| 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, |
| 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, |
| 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, |
| 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, |
| 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, |
| 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x64, 0x65, |
| 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x68, 0x6f, |
| 0x77, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x8f, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, |
| 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, |
| 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, |
| 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, |
| 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, |
| 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, |
| 0x61, 0x73, 0x73, 0x52, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, |
| 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, |
| 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, |
| 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x56, 0x0a, 0x15, 0x47, 0x65, |
| 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, |
| 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, |
| 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x73, 0x70, 0x65, 0x65, 0x63, |
| 0x68, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, |
| 0x2f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x04, 0x6e, 0x61, |
| 0x6d, 0x65, 0x22, 0xc9, 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x75, 0x73, |
| 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, |
| 0x4b, 0x0a, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, |
| 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, |
| 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x43, |
| 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, |
| 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x3b, 0x0a, 0x0b, |
| 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, |
| 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, |
| 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, |
| 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x6c, |
| 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, |
| 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0xb7, |
| 0x01, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, |
| 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, |
| 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, |
| 0x23, 0x0a, 0x21, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, |
| 0x6c, 0x61, 0x73, 0x73, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, |
| 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, |
| 0x08, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, |
| 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, |
| 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x73, |
| 0x73, 0x69, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, |
| 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x22, 0x94, 0x01, 0x0a, 0x1a, 0x55, 0x6e, 0x64, |
| 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, |
| 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, |
| 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x73, |
| 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, |
| 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, |
| 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, |
| 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x76, |
| 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x65, |
| 0x74, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x22, |
| 0xe9, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, |
| 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0a, 0x70, 0x68, |
| 0x72, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, |
| 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, |
| 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, |
| 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, |
| 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, |
| 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, |
| 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, |
| 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, |
| 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x06, 0x70, 0x61, |
| 0x72, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, |
| 0x41, 0x21, 0x12, 0x1f, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, |
| 0x53, 0x65, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x22, 0xb9, 0x01, 0x0a, 0x15, |
| 0x4c, 0x69, 0x73, 0x74, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, |
| 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, |
| 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, |
| 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, |
| 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, |
| 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, |
| 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, |
| 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, |
| 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, |
| 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x64, 0x65, 0x6c, |
| 0x65, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x68, 0x6f, 0x77, |
| 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x84, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, |
| 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, |
| 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0b, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x74, |
| 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, |
| 0x2e, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x52, 0x0a, 0x70, 0x68, 0x72, 0x61, |
| 0x73, 0x65, 0x53, 0x65, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, |
| 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, |
| 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x52, |
| 0x0a, 0x13, 0x47, 0x65, 0x74, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, |
| 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, |
| 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x73, 0x70, 0x65, |
| 0x65, 0x63, 0x68, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, |
| 0x6f, 0x6d, 0x2f, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x52, 0x04, 0x6e, 0x61, |
| 0x6d, 0x65, 0x22, 0xc1, 0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x68, 0x72, |
| 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, |
| 0x0a, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, |
| 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, |
| 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x68, 0x72, 0x61, 0x73, |
| 0x65, 0x53, 0x65, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x68, 0x72, 0x61, 0x73, |
| 0x65, 0x53, 0x65, 0x74, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, |
| 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, |
| 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, |
| 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, |
| 0x6c, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, |
| 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0xb3, 0x01, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, |
| 0x65, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, |
| 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, |
| 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, |
| 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, |
| 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, |
| 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, |
| 0x6e, 0x6c, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, |
| 0x73, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, |
| 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, |
| 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x22, 0x90, 0x01, 0x0a, |
| 0x18, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, |
| 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, |
| 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, |
| 0x1f, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, |
| 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, |
| 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, |
| 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x76, |
| 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x65, |
| 0x74, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x32, |
| 0xbf, 0x25, 0x0a, 0x06, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x12, 0xec, 0x01, 0x0a, 0x10, 0x43, |
| 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x12, |
| 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, |
| 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, |
| 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, |
| 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, |
| 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, |
| 0x87, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x22, 0x2f, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, |
| 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, |
| 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x72, 0x65, |
| 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x3a, 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x67, |
| 0x6e, 0x69, 0x7a, 0x65, 0x72, 0xda, 0x41, 0x1f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x72, |
| 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x2c, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, |
| 0x69, 0x7a, 0x65, 0x72, 0x5f, 0x69, 0x64, 0xca, 0x41, 0x1f, 0x0a, 0x0a, 0x52, 0x65, 0x63, 0x6f, |
| 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, |
| 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xb4, 0x01, 0x0a, 0x0f, 0x4c, 0x69, |
| 0x73, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x12, 0x2e, 0x2e, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, |
| 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x67, |
| 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, |
| 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x67, |
| 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, |
| 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, |
| 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, |
| 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x72, 0x65, 0x63, 0x6f, |
| 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, |
| 0x12, 0xa1, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, |
| 0x65, 0x72, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, |
| 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x52, |
| 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, |
| 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, |
| 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, |
| 0x69, 0x7a, 0x65, 0x72, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x76, |
| 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, |
| 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x72, |
| 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, |
| 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xee, 0x01, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, |
| 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, |
| 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, |
| 0x7a, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, |
| 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x89, 0x01, 0x82, 0xd3, 0xe4, 0x93, |
| 0x02, 0x48, 0x32, 0x3a, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, |
| 0x7a, 0x65, 0x72, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, |
| 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, |
| 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x0a, |
| 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0xda, 0x41, 0x16, 0x72, 0x65, 0x63, |
| 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, |
| 0x61, 0x73, 0x6b, 0xca, 0x41, 0x1f, 0x0a, 0x0a, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, |
| 0x65, 0x72, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, |
| 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xc4, 0x01, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, |
| 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, |
| 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, |
| 0x69, 0x7a, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, |
| 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x60, 0x82, 0xd3, 0xe4, 0x93, |
| 0x02, 0x31, 0x2a, 0x2f, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, |
| 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, |
| 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x73, |
| 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x1f, 0x0a, 0x0a, 0x52, |
| 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, |
| 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xd4, 0x01, 0x0a, |
| 0x12, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, |
| 0x7a, 0x65, 0x72, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, |
| 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x6e, 0x64, |
| 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x52, |
| 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, |
| 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, |
| 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x22, 0x38, 0x2f, |
| 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, |
| 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, |
| 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x75, |
| 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, |
| 0x65, 0xca, 0x41, 0x1f, 0x0a, 0x0a, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, |
| 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, |
| 0x61, 0x74, 0x61, 0x12, 0xf9, 0x01, 0x0a, 0x09, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, |
| 0x65, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, |
| 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x67, |
| 0x6e, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, |
| 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x52, 0x65, |
| 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x96, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x22, |
| 0x3f, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, |
| 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, |
| 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, |
| 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, |
| 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x25, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, |
| 0x2c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6d, |
| 0x61, 0x73, 0x6b, 0x2c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0xda, 0x41, 0x21, 0x72, 0x65, |
| 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x2c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2c, |
| 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x75, 0x72, 0x69, 0x12, |
| 0x81, 0x01, 0x0a, 0x12, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, |
| 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, |
| 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, |
| 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, |
| 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, |
| 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, |
| 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, |
| 0x01, 0x30, 0x01, 0x12, 0x84, 0x02, 0x0a, 0x0e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x63, |
| 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, |
| 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, |
| 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x52, 0x65, |
| 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, |
| 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, |
| 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa3, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x22, 0x44, 0x2f, |
| 0x76, 0x32, 0x2f, 0x7b, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x3d, 0x70, |
| 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, |
| 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, |
| 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, |
| 0x69, 0x7a, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x23, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, |
| 0x7a, 0x65, 0x72, 0x2c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2c, 0x63, 0x6f, 0x6e, 0x66, 0x69, |
| 0x67, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x66, 0x69, 0x6c, 0x65, 0x73, 0xca, 0x41, 0x2b, 0x0a, |
| 0x16, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x52, |
| 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, |
| 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x8e, 0x01, 0x0a, 0x09, 0x47, |
| 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, |
| 0x32, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, |
| 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, |
| 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x66, |
| 0x69, 0x67, 0x22, 0x37, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28, 0x2f, 0x76, 0x32, 0x2f, |
| 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, |
| 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6e, |
| 0x66, 0x69, 0x67, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xb1, 0x01, 0x0a, 0x0c, |
| 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2b, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, |
| 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, |
| 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, |
| 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x54, 0x82, 0xd3, 0xe4, 0x93, 0x02, |
| 0x39, 0x32, 0x2f, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6e, |
| 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, |
| 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, |
| 0x67, 0x7d, 0x3a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0xda, 0x41, 0x12, 0x63, 0x6f, 0x6e, |
| 0x66, 0x69, 0x67, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, |
| 0xf7, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, |
| 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, |
| 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x43, |
| 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, |
| 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, |
| 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x90, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x22, |
| 0x31, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, |
| 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, |
| 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, |
| 0x65, 0x73, 0x3a, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, |
| 0xda, 0x41, 0x23, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, |
| 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x6c, |
| 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0xca, 0x41, 0x20, 0x0a, 0x0b, 0x43, 0x75, 0x73, 0x74, 0x6f, |
| 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, |
| 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xbc, 0x01, 0x0a, 0x11, 0x4c, 0x69, |
| 0x73, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, |
| 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, |
| 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x75, 0x73, |
| 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, |
| 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, |
| 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, |
| 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, |
| 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12, 0x31, 0x2f, 0x76, |
| 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, |
| 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, |
| 0x7d, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0xda, |
| 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xa6, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, |
| 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x2d, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, |
| 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, |
| 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, |
| 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x22, |
| 0x40, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12, 0x31, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, |
| 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, |
| 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, |
| 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, |
| 0x65, 0x12, 0xf9, 0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x75, 0x73, 0x74, |
| 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, |
| 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x61, |
| 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, |
| 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x92, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, |
| 0x4e, 0x32, 0x3e, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, |
| 0x6c, 0x61, 0x73, 0x73, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, |
| 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, |
| 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2f, 0x2a, |
| 0x7d, 0x3a, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0xda, |
| 0x41, 0x18, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2c, 0x75, |
| 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0xca, 0x41, 0x20, 0x0a, 0x0b, 0x43, |
| 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, |
| 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xc9, 0x01, |
| 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, |
| 0x61, 0x73, 0x73, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, |
| 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, |
| 0x65, 0x74, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, |
| 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, |
| 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, |
| 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x2a, 0x31, 0x2f, 0x76, |
| 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, |
| 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, |
| 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, |
| 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x20, 0x0a, 0x0b, 0x43, 0x75, 0x73, 0x74, 0x6f, |
| 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, |
| 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xd9, 0x01, 0x0a, 0x13, 0x55, 0x6e, |
| 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, |
| 0x73, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, |
| 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x6e, 0x64, 0x65, 0x6c, |
| 0x65, 0x74, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, |
| 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, |
| 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, |
| 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x22, 0x3a, 0x2f, 0x76, |
| 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, |
| 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, |
| 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, |
| 0x75, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, |
| 0x6d, 0x65, 0xca, 0x41, 0x20, 0x0a, 0x0b, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x61, |
| 0x73, 0x73, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, |
| 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xe8, 0x01, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, |
| 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, |
| 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, |
| 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, |
| 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x85, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, |
| 0x3c, 0x22, 0x2e, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, |
| 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, |
| 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, |
| 0x73, 0x3a, 0x0a, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x74, 0xda, 0x41, 0x1f, |
| 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, |
| 0x74, 0x2c, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0xca, |
| 0x41, 0x1e, 0x0a, 0x09, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x12, 0x11, 0x4f, |
| 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, |
| 0x12, 0xb0, 0x01, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, |
| 0x65, 0x74, 0x73, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, |
| 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, |
| 0x74, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, |
| 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, |
| 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, |
| 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, |
| 0x73, 0x65, 0x22, 0x3f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x12, 0x2e, 0x2f, 0x76, 0x32, 0x2f, |
| 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, |
| 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, |
| 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, |
| 0x65, 0x6e, 0x74, 0x12, 0x9d, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x50, 0x68, 0x72, 0x61, 0x73, |
| 0x65, 0x53, 0x65, 0x74, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, |
| 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, |
| 0x74, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, |
| 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, |
| 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x68, 0x72, 0x61, 0x73, |
| 0x65, 0x53, 0x65, 0x74, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x12, 0x2e, 0x2f, 0x76, |
| 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, |
| 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, |
| 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, |
| 0x61, 0x6d, 0x65, 0x12, 0xea, 0x01, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x68, |
| 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, |
| 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, |
| 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, |
| 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x87, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x32, |
| 0x39, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x74, |
| 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, |
| 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x68, 0x72, |
| 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x0a, 0x70, 0x68, 0x72, 0x61, |
| 0x73, 0x65, 0x5f, 0x73, 0x65, 0x74, 0xda, 0x41, 0x16, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x5f, |
| 0x73, 0x65, 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0xca, |
| 0x41, 0x1e, 0x0a, 0x09, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x12, 0x11, 0x4f, |
| 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, |
| 0x12, 0xc0, 0x01, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x68, 0x72, 0x61, 0x73, |
| 0x65, 0x53, 0x65, 0x74, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, |
| 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, |
| 0x6c, 0x65, 0x74, 0x65, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, |
| 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, |
| 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, |
| 0x69, 0x6f, 0x6e, 0x22, 0x5e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x2a, 0x2e, 0x2f, 0x76, 0x32, |
| 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, |
| 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x68, |
| 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, |
| 0x6d, 0x65, 0xca, 0x41, 0x1e, 0x0a, 0x09, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, |
| 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, |
| 0x61, 0x74, 0x61, 0x12, 0xd0, 0x01, 0x0a, 0x11, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, |
| 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, |
| 0x76, 0x32, 0x2e, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x68, 0x72, 0x61, 0x73, |
| 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, |
| 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6a, 0x82, 0xd3, 0xe4, 0x93, |
| 0x02, 0x3c, 0x22, 0x37, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, |
| 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, |
| 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x73, 0x2f, |
| 0x2a, 0x7d, 0x3a, 0x75, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, |
| 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x1e, 0x0a, 0x09, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, |
| 0x53, 0x65, 0x74, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, |
| 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x49, 0xca, 0x41, 0x15, 0x73, 0x70, 0x65, 0x65, 0x63, |
| 0x68, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, |
| 0xd2, 0x41, 0x2e, 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, 0x42, 0x93, 0x03, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x76, 0x32, |
| 0x42, 0x10, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 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, 0x63, 0x6c, 0x6f, 0x75, |
| 0x64, 0x2f, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2f, 0x76, 0x32, 0x3b, 0x73, 0x70, 0x65, 0x65, |
| 0x63, 0x68, 0xea, 0x41, 0x78, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, |
| 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x53, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, |
| 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, |
| 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, |
| 0x7d, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x7b, 0x6b, 0x65, 0x79, 0x5f, |
| 0x72, 0x69, 0x6e, 0x67, 0x7d, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, |
| 0x2f, 0x7b, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x7d, 0xea, 0x41, 0xa6, |
| 0x01, 0x0a, 0x28, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, |
| 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x7a, 0x70, 0x72, 0x6f, |
| 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, |
| 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, |
| 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x7b, 0x6b, |
| 0x65, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x7d, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, |
| 0x65, 0x79, 0x73, 0x2f, 0x7b, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x7d, |
| 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, |
| 0x6e, 0x73, 0x2f, 0x7b, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, |
| 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x7d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, |
| } |
| |
| var ( |
| file_google_cloud_speech_v2_cloud_speech_proto_rawDescOnce sync.Once |
| file_google_cloud_speech_v2_cloud_speech_proto_rawDescData = file_google_cloud_speech_v2_cloud_speech_proto_rawDesc |
| ) |
| |
| func file_google_cloud_speech_v2_cloud_speech_proto_rawDescGZIP() []byte { |
| file_google_cloud_speech_v2_cloud_speech_proto_rawDescOnce.Do(func() { |
| file_google_cloud_speech_v2_cloud_speech_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_speech_v2_cloud_speech_proto_rawDescData) |
| }) |
| return file_google_cloud_speech_v2_cloud_speech_proto_rawDescData |
| } |
| |
| var file_google_cloud_speech_v2_cloud_speech_proto_enumTypes = make([]protoimpl.EnumInfo, 6) |
| var file_google_cloud_speech_v2_cloud_speech_proto_msgTypes = make([]protoimpl.MessageInfo, 60) |
| var file_google_cloud_speech_v2_cloud_speech_proto_goTypes = []interface{}{ |
| (Recognizer_State)(0), // 0: google.cloud.speech.v2.Recognizer.State |
| (ExplicitDecodingConfig_AudioEncoding)(0), // 1: google.cloud.speech.v2.ExplicitDecodingConfig.AudioEncoding |
| (RecognitionFeatures_MultiChannelMode)(0), // 2: google.cloud.speech.v2.RecognitionFeatures.MultiChannelMode |
| (StreamingRecognizeResponse_SpeechEventType)(0), // 3: google.cloud.speech.v2.StreamingRecognizeResponse.SpeechEventType |
| (CustomClass_State)(0), // 4: google.cloud.speech.v2.CustomClass.State |
| (PhraseSet_State)(0), // 5: google.cloud.speech.v2.PhraseSet.State |
| (*CreateRecognizerRequest)(nil), // 6: google.cloud.speech.v2.CreateRecognizerRequest |
| (*OperationMetadata)(nil), // 7: google.cloud.speech.v2.OperationMetadata |
| (*ListRecognizersRequest)(nil), // 8: google.cloud.speech.v2.ListRecognizersRequest |
| (*ListRecognizersResponse)(nil), // 9: google.cloud.speech.v2.ListRecognizersResponse |
| (*GetRecognizerRequest)(nil), // 10: google.cloud.speech.v2.GetRecognizerRequest |
| (*UpdateRecognizerRequest)(nil), // 11: google.cloud.speech.v2.UpdateRecognizerRequest |
| (*DeleteRecognizerRequest)(nil), // 12: google.cloud.speech.v2.DeleteRecognizerRequest |
| (*UndeleteRecognizerRequest)(nil), // 13: google.cloud.speech.v2.UndeleteRecognizerRequest |
| (*Recognizer)(nil), // 14: google.cloud.speech.v2.Recognizer |
| (*AutoDetectDecodingConfig)(nil), // 15: google.cloud.speech.v2.AutoDetectDecodingConfig |
| (*ExplicitDecodingConfig)(nil), // 16: google.cloud.speech.v2.ExplicitDecodingConfig |
| (*SpeakerDiarizationConfig)(nil), // 17: google.cloud.speech.v2.SpeakerDiarizationConfig |
| (*RecognitionFeatures)(nil), // 18: google.cloud.speech.v2.RecognitionFeatures |
| (*SpeechAdaptation)(nil), // 19: google.cloud.speech.v2.SpeechAdaptation |
| (*RecognitionConfig)(nil), // 20: google.cloud.speech.v2.RecognitionConfig |
| (*RecognizeRequest)(nil), // 21: google.cloud.speech.v2.RecognizeRequest |
| (*RecognitionResponseMetadata)(nil), // 22: google.cloud.speech.v2.RecognitionResponseMetadata |
| (*SpeechRecognitionAlternative)(nil), // 23: google.cloud.speech.v2.SpeechRecognitionAlternative |
| (*WordInfo)(nil), // 24: google.cloud.speech.v2.WordInfo |
| (*SpeechRecognitionResult)(nil), // 25: google.cloud.speech.v2.SpeechRecognitionResult |
| (*RecognizeResponse)(nil), // 26: google.cloud.speech.v2.RecognizeResponse |
| (*StreamingRecognitionFeatures)(nil), // 27: google.cloud.speech.v2.StreamingRecognitionFeatures |
| (*StreamingRecognitionConfig)(nil), // 28: google.cloud.speech.v2.StreamingRecognitionConfig |
| (*StreamingRecognizeRequest)(nil), // 29: google.cloud.speech.v2.StreamingRecognizeRequest |
| (*BatchRecognizeRequest)(nil), // 30: google.cloud.speech.v2.BatchRecognizeRequest |
| (*BatchRecognizeResponse)(nil), // 31: google.cloud.speech.v2.BatchRecognizeResponse |
| (*BatchRecognizeFileResult)(nil), // 32: google.cloud.speech.v2.BatchRecognizeFileResult |
| (*BatchRecognizeTranscriptionMetadata)(nil), // 33: google.cloud.speech.v2.BatchRecognizeTranscriptionMetadata |
| (*BatchRecognizeMetadata)(nil), // 34: google.cloud.speech.v2.BatchRecognizeMetadata |
| (*BatchRecognizeFileMetadata)(nil), // 35: google.cloud.speech.v2.BatchRecognizeFileMetadata |
| (*StreamingRecognitionResult)(nil), // 36: google.cloud.speech.v2.StreamingRecognitionResult |
| (*StreamingRecognizeResponse)(nil), // 37: google.cloud.speech.v2.StreamingRecognizeResponse |
| (*Config)(nil), // 38: google.cloud.speech.v2.Config |
| (*GetConfigRequest)(nil), // 39: google.cloud.speech.v2.GetConfigRequest |
| (*UpdateConfigRequest)(nil), // 40: google.cloud.speech.v2.UpdateConfigRequest |
| (*CustomClass)(nil), // 41: google.cloud.speech.v2.CustomClass |
| (*PhraseSet)(nil), // 42: google.cloud.speech.v2.PhraseSet |
| (*CreateCustomClassRequest)(nil), // 43: google.cloud.speech.v2.CreateCustomClassRequest |
| (*ListCustomClassesRequest)(nil), // 44: google.cloud.speech.v2.ListCustomClassesRequest |
| (*ListCustomClassesResponse)(nil), // 45: google.cloud.speech.v2.ListCustomClassesResponse |
| (*GetCustomClassRequest)(nil), // 46: google.cloud.speech.v2.GetCustomClassRequest |
| (*UpdateCustomClassRequest)(nil), // 47: google.cloud.speech.v2.UpdateCustomClassRequest |
| (*DeleteCustomClassRequest)(nil), // 48: google.cloud.speech.v2.DeleteCustomClassRequest |
| (*UndeleteCustomClassRequest)(nil), // 49: google.cloud.speech.v2.UndeleteCustomClassRequest |
| (*CreatePhraseSetRequest)(nil), // 50: google.cloud.speech.v2.CreatePhraseSetRequest |
| (*ListPhraseSetsRequest)(nil), // 51: google.cloud.speech.v2.ListPhraseSetsRequest |
| (*ListPhraseSetsResponse)(nil), // 52: google.cloud.speech.v2.ListPhraseSetsResponse |
| (*GetPhraseSetRequest)(nil), // 53: google.cloud.speech.v2.GetPhraseSetRequest |
| (*UpdatePhraseSetRequest)(nil), // 54: google.cloud.speech.v2.UpdatePhraseSetRequest |
| (*DeletePhraseSetRequest)(nil), // 55: google.cloud.speech.v2.DeletePhraseSetRequest |
| (*UndeletePhraseSetRequest)(nil), // 56: google.cloud.speech.v2.UndeletePhraseSetRequest |
| nil, // 57: google.cloud.speech.v2.Recognizer.AnnotationsEntry |
| (*SpeechAdaptation_AdaptationPhraseSet)(nil), // 58: google.cloud.speech.v2.SpeechAdaptation.AdaptationPhraseSet |
| (*StreamingRecognitionFeatures_VoiceActivityTimeout)(nil), // 59: google.cloud.speech.v2.StreamingRecognitionFeatures.VoiceActivityTimeout |
| nil, // 60: google.cloud.speech.v2.BatchRecognizeResponse.ResultsEntry |
| nil, // 61: google.cloud.speech.v2.BatchRecognizeMetadata.TranscriptionMetadataEntry |
| (*CustomClass_ClassItem)(nil), // 62: google.cloud.speech.v2.CustomClass.ClassItem |
| nil, // 63: google.cloud.speech.v2.CustomClass.AnnotationsEntry |
| (*PhraseSet_Phrase)(nil), // 64: google.cloud.speech.v2.PhraseSet.Phrase |
| nil, // 65: google.cloud.speech.v2.PhraseSet.AnnotationsEntry |
| (*timestamppb.Timestamp)(nil), // 66: google.protobuf.Timestamp |
| (*fieldmaskpb.FieldMask)(nil), // 67: google.protobuf.FieldMask |
| (*durationpb.Duration)(nil), // 68: google.protobuf.Duration |
| (*status.Status)(nil), // 69: google.rpc.Status |
| (*longrunning.Operation)(nil), // 70: google.longrunning.Operation |
| } |
| var file_google_cloud_speech_v2_cloud_speech_proto_depIdxs = []int32{ |
| 14, // 0: google.cloud.speech.v2.CreateRecognizerRequest.recognizer:type_name -> google.cloud.speech.v2.Recognizer |
| 66, // 1: google.cloud.speech.v2.OperationMetadata.create_time:type_name -> google.protobuf.Timestamp |
| 66, // 2: google.cloud.speech.v2.OperationMetadata.update_time:type_name -> google.protobuf.Timestamp |
| 30, // 3: google.cloud.speech.v2.OperationMetadata.batch_recognize_request:type_name -> google.cloud.speech.v2.BatchRecognizeRequest |
| 6, // 4: google.cloud.speech.v2.OperationMetadata.create_recognizer_request:type_name -> google.cloud.speech.v2.CreateRecognizerRequest |
| 11, // 5: google.cloud.speech.v2.OperationMetadata.update_recognizer_request:type_name -> google.cloud.speech.v2.UpdateRecognizerRequest |
| 12, // 6: google.cloud.speech.v2.OperationMetadata.delete_recognizer_request:type_name -> google.cloud.speech.v2.DeleteRecognizerRequest |
| 13, // 7: google.cloud.speech.v2.OperationMetadata.undelete_recognizer_request:type_name -> google.cloud.speech.v2.UndeleteRecognizerRequest |
| 43, // 8: google.cloud.speech.v2.OperationMetadata.create_custom_class_request:type_name -> google.cloud.speech.v2.CreateCustomClassRequest |
| 47, // 9: google.cloud.speech.v2.OperationMetadata.update_custom_class_request:type_name -> google.cloud.speech.v2.UpdateCustomClassRequest |
| 48, // 10: google.cloud.speech.v2.OperationMetadata.delete_custom_class_request:type_name -> google.cloud.speech.v2.DeleteCustomClassRequest |
| 49, // 11: google.cloud.speech.v2.OperationMetadata.undelete_custom_class_request:type_name -> google.cloud.speech.v2.UndeleteCustomClassRequest |
| 50, // 12: google.cloud.speech.v2.OperationMetadata.create_phrase_set_request:type_name -> google.cloud.speech.v2.CreatePhraseSetRequest |
| 54, // 13: google.cloud.speech.v2.OperationMetadata.update_phrase_set_request:type_name -> google.cloud.speech.v2.UpdatePhraseSetRequest |
| 55, // 14: google.cloud.speech.v2.OperationMetadata.delete_phrase_set_request:type_name -> google.cloud.speech.v2.DeletePhraseSetRequest |
| 56, // 15: google.cloud.speech.v2.OperationMetadata.undelete_phrase_set_request:type_name -> google.cloud.speech.v2.UndeletePhraseSetRequest |
| 40, // 16: google.cloud.speech.v2.OperationMetadata.update_config_request:type_name -> google.cloud.speech.v2.UpdateConfigRequest |
| 34, // 17: google.cloud.speech.v2.OperationMetadata.batch_recognize_metadata:type_name -> google.cloud.speech.v2.BatchRecognizeMetadata |
| 14, // 18: google.cloud.speech.v2.ListRecognizersResponse.recognizers:type_name -> google.cloud.speech.v2.Recognizer |
| 14, // 19: google.cloud.speech.v2.UpdateRecognizerRequest.recognizer:type_name -> google.cloud.speech.v2.Recognizer |
| 67, // 20: google.cloud.speech.v2.UpdateRecognizerRequest.update_mask:type_name -> google.protobuf.FieldMask |
| 20, // 21: google.cloud.speech.v2.Recognizer.default_recognition_config:type_name -> google.cloud.speech.v2.RecognitionConfig |
| 57, // 22: google.cloud.speech.v2.Recognizer.annotations:type_name -> google.cloud.speech.v2.Recognizer.AnnotationsEntry |
| 0, // 23: google.cloud.speech.v2.Recognizer.state:type_name -> google.cloud.speech.v2.Recognizer.State |
| 66, // 24: google.cloud.speech.v2.Recognizer.create_time:type_name -> google.protobuf.Timestamp |
| 66, // 25: google.cloud.speech.v2.Recognizer.update_time:type_name -> google.protobuf.Timestamp |
| 66, // 26: google.cloud.speech.v2.Recognizer.delete_time:type_name -> google.protobuf.Timestamp |
| 66, // 27: google.cloud.speech.v2.Recognizer.expire_time:type_name -> google.protobuf.Timestamp |
| 1, // 28: google.cloud.speech.v2.ExplicitDecodingConfig.encoding:type_name -> google.cloud.speech.v2.ExplicitDecodingConfig.AudioEncoding |
| 2, // 29: google.cloud.speech.v2.RecognitionFeatures.multi_channel_mode:type_name -> google.cloud.speech.v2.RecognitionFeatures.MultiChannelMode |
| 17, // 30: google.cloud.speech.v2.RecognitionFeatures.diarization_config:type_name -> google.cloud.speech.v2.SpeakerDiarizationConfig |
| 58, // 31: google.cloud.speech.v2.SpeechAdaptation.phrase_sets:type_name -> google.cloud.speech.v2.SpeechAdaptation.AdaptationPhraseSet |
| 41, // 32: google.cloud.speech.v2.SpeechAdaptation.custom_classes:type_name -> google.cloud.speech.v2.CustomClass |
| 15, // 33: google.cloud.speech.v2.RecognitionConfig.auto_decoding_config:type_name -> google.cloud.speech.v2.AutoDetectDecodingConfig |
| 16, // 34: google.cloud.speech.v2.RecognitionConfig.explicit_decoding_config:type_name -> google.cloud.speech.v2.ExplicitDecodingConfig |
| 18, // 35: google.cloud.speech.v2.RecognitionConfig.features:type_name -> google.cloud.speech.v2.RecognitionFeatures |
| 19, // 36: google.cloud.speech.v2.RecognitionConfig.adaptation:type_name -> google.cloud.speech.v2.SpeechAdaptation |
| 20, // 37: google.cloud.speech.v2.RecognizeRequest.config:type_name -> google.cloud.speech.v2.RecognitionConfig |
| 67, // 38: google.cloud.speech.v2.RecognizeRequest.config_mask:type_name -> google.protobuf.FieldMask |
| 68, // 39: google.cloud.speech.v2.RecognitionResponseMetadata.total_billed_duration:type_name -> google.protobuf.Duration |
| 24, // 40: google.cloud.speech.v2.SpeechRecognitionAlternative.words:type_name -> google.cloud.speech.v2.WordInfo |
| 68, // 41: google.cloud.speech.v2.WordInfo.start_offset:type_name -> google.protobuf.Duration |
| 68, // 42: google.cloud.speech.v2.WordInfo.end_offset:type_name -> google.protobuf.Duration |
| 23, // 43: google.cloud.speech.v2.SpeechRecognitionResult.alternatives:type_name -> google.cloud.speech.v2.SpeechRecognitionAlternative |
| 68, // 44: google.cloud.speech.v2.SpeechRecognitionResult.result_end_offset:type_name -> google.protobuf.Duration |
| 25, // 45: google.cloud.speech.v2.RecognizeResponse.results:type_name -> google.cloud.speech.v2.SpeechRecognitionResult |
| 22, // 46: google.cloud.speech.v2.RecognizeResponse.metadata:type_name -> google.cloud.speech.v2.RecognitionResponseMetadata |
| 59, // 47: google.cloud.speech.v2.StreamingRecognitionFeatures.voice_activity_timeout:type_name -> google.cloud.speech.v2.StreamingRecognitionFeatures.VoiceActivityTimeout |
| 20, // 48: google.cloud.speech.v2.StreamingRecognitionConfig.config:type_name -> google.cloud.speech.v2.RecognitionConfig |
| 67, // 49: google.cloud.speech.v2.StreamingRecognitionConfig.config_mask:type_name -> google.protobuf.FieldMask |
| 27, // 50: google.cloud.speech.v2.StreamingRecognitionConfig.streaming_features:type_name -> google.cloud.speech.v2.StreamingRecognitionFeatures |
| 28, // 51: google.cloud.speech.v2.StreamingRecognizeRequest.streaming_config:type_name -> google.cloud.speech.v2.StreamingRecognitionConfig |
| 20, // 52: google.cloud.speech.v2.BatchRecognizeRequest.config:type_name -> google.cloud.speech.v2.RecognitionConfig |
| 67, // 53: google.cloud.speech.v2.BatchRecognizeRequest.config_mask:type_name -> google.protobuf.FieldMask |
| 35, // 54: google.cloud.speech.v2.BatchRecognizeRequest.files:type_name -> google.cloud.speech.v2.BatchRecognizeFileMetadata |
| 60, // 55: google.cloud.speech.v2.BatchRecognizeResponse.results:type_name -> google.cloud.speech.v2.BatchRecognizeResponse.ResultsEntry |
| 69, // 56: google.cloud.speech.v2.BatchRecognizeFileResult.error:type_name -> google.rpc.Status |
| 69, // 57: google.cloud.speech.v2.BatchRecognizeTranscriptionMetadata.error:type_name -> google.rpc.Status |
| 61, // 58: google.cloud.speech.v2.BatchRecognizeMetadata.transcription_metadata:type_name -> google.cloud.speech.v2.BatchRecognizeMetadata.TranscriptionMetadataEntry |
| 20, // 59: google.cloud.speech.v2.BatchRecognizeFileMetadata.config:type_name -> google.cloud.speech.v2.RecognitionConfig |
| 67, // 60: google.cloud.speech.v2.BatchRecognizeFileMetadata.config_mask:type_name -> google.protobuf.FieldMask |
| 23, // 61: google.cloud.speech.v2.StreamingRecognitionResult.alternatives:type_name -> google.cloud.speech.v2.SpeechRecognitionAlternative |
| 68, // 62: google.cloud.speech.v2.StreamingRecognitionResult.result_end_offset:type_name -> google.protobuf.Duration |
| 36, // 63: google.cloud.speech.v2.StreamingRecognizeResponse.results:type_name -> google.cloud.speech.v2.StreamingRecognitionResult |
| 3, // 64: google.cloud.speech.v2.StreamingRecognizeResponse.speech_event_type:type_name -> google.cloud.speech.v2.StreamingRecognizeResponse.SpeechEventType |
| 68, // 65: google.cloud.speech.v2.StreamingRecognizeResponse.speech_event_offset:type_name -> google.protobuf.Duration |
| 22, // 66: google.cloud.speech.v2.StreamingRecognizeResponse.metadata:type_name -> google.cloud.speech.v2.RecognitionResponseMetadata |
| 66, // 67: google.cloud.speech.v2.Config.update_time:type_name -> google.protobuf.Timestamp |
| 38, // 68: google.cloud.speech.v2.UpdateConfigRequest.config:type_name -> google.cloud.speech.v2.Config |
| 67, // 69: google.cloud.speech.v2.UpdateConfigRequest.update_mask:type_name -> google.protobuf.FieldMask |
| 62, // 70: google.cloud.speech.v2.CustomClass.items:type_name -> google.cloud.speech.v2.CustomClass.ClassItem |
| 4, // 71: google.cloud.speech.v2.CustomClass.state:type_name -> google.cloud.speech.v2.CustomClass.State |
| 66, // 72: google.cloud.speech.v2.CustomClass.create_time:type_name -> google.protobuf.Timestamp |
| 66, // 73: google.cloud.speech.v2.CustomClass.update_time:type_name -> google.protobuf.Timestamp |
| 66, // 74: google.cloud.speech.v2.CustomClass.delete_time:type_name -> google.protobuf.Timestamp |
| 66, // 75: google.cloud.speech.v2.CustomClass.expire_time:type_name -> google.protobuf.Timestamp |
| 63, // 76: google.cloud.speech.v2.CustomClass.annotations:type_name -> google.cloud.speech.v2.CustomClass.AnnotationsEntry |
| 64, // 77: google.cloud.speech.v2.PhraseSet.phrases:type_name -> google.cloud.speech.v2.PhraseSet.Phrase |
| 5, // 78: google.cloud.speech.v2.PhraseSet.state:type_name -> google.cloud.speech.v2.PhraseSet.State |
| 66, // 79: google.cloud.speech.v2.PhraseSet.create_time:type_name -> google.protobuf.Timestamp |
| 66, // 80: google.cloud.speech.v2.PhraseSet.update_time:type_name -> google.protobuf.Timestamp |
| 66, // 81: google.cloud.speech.v2.PhraseSet.delete_time:type_name -> google.protobuf.Timestamp |
| 66, // 82: google.cloud.speech.v2.PhraseSet.expire_time:type_name -> google.protobuf.Timestamp |
| 65, // 83: google.cloud.speech.v2.PhraseSet.annotations:type_name -> google.cloud.speech.v2.PhraseSet.AnnotationsEntry |
| 41, // 84: google.cloud.speech.v2.CreateCustomClassRequest.custom_class:type_name -> google.cloud.speech.v2.CustomClass |
| 41, // 85: google.cloud.speech.v2.ListCustomClassesResponse.custom_classes:type_name -> google.cloud.speech.v2.CustomClass |
| 41, // 86: google.cloud.speech.v2.UpdateCustomClassRequest.custom_class:type_name -> google.cloud.speech.v2.CustomClass |
| 67, // 87: google.cloud.speech.v2.UpdateCustomClassRequest.update_mask:type_name -> google.protobuf.FieldMask |
| 42, // 88: google.cloud.speech.v2.CreatePhraseSetRequest.phrase_set:type_name -> google.cloud.speech.v2.PhraseSet |
| 42, // 89: google.cloud.speech.v2.ListPhraseSetsResponse.phrase_sets:type_name -> google.cloud.speech.v2.PhraseSet |
| 42, // 90: google.cloud.speech.v2.UpdatePhraseSetRequest.phrase_set:type_name -> google.cloud.speech.v2.PhraseSet |
| 67, // 91: google.cloud.speech.v2.UpdatePhraseSetRequest.update_mask:type_name -> google.protobuf.FieldMask |
| 42, // 92: google.cloud.speech.v2.SpeechAdaptation.AdaptationPhraseSet.inline_phrase_set:type_name -> google.cloud.speech.v2.PhraseSet |
| 68, // 93: google.cloud.speech.v2.StreamingRecognitionFeatures.VoiceActivityTimeout.speech_start_timeout:type_name -> google.protobuf.Duration |
| 68, // 94: google.cloud.speech.v2.StreamingRecognitionFeatures.VoiceActivityTimeout.speech_end_timeout:type_name -> google.protobuf.Duration |
| 32, // 95: google.cloud.speech.v2.BatchRecognizeResponse.ResultsEntry.value:type_name -> google.cloud.speech.v2.BatchRecognizeFileResult |
| 33, // 96: google.cloud.speech.v2.BatchRecognizeMetadata.TranscriptionMetadataEntry.value:type_name -> google.cloud.speech.v2.BatchRecognizeTranscriptionMetadata |
| 6, // 97: google.cloud.speech.v2.Speech.CreateRecognizer:input_type -> google.cloud.speech.v2.CreateRecognizerRequest |
| 8, // 98: google.cloud.speech.v2.Speech.ListRecognizers:input_type -> google.cloud.speech.v2.ListRecognizersRequest |
| 10, // 99: google.cloud.speech.v2.Speech.GetRecognizer:input_type -> google.cloud.speech.v2.GetRecognizerRequest |
| 11, // 100: google.cloud.speech.v2.Speech.UpdateRecognizer:input_type -> google.cloud.speech.v2.UpdateRecognizerRequest |
| 12, // 101: google.cloud.speech.v2.Speech.DeleteRecognizer:input_type -> google.cloud.speech.v2.DeleteRecognizerRequest |
| 13, // 102: google.cloud.speech.v2.Speech.UndeleteRecognizer:input_type -> google.cloud.speech.v2.UndeleteRecognizerRequest |
| 21, // 103: google.cloud.speech.v2.Speech.Recognize:input_type -> google.cloud.speech.v2.RecognizeRequest |
| 29, // 104: google.cloud.speech.v2.Speech.StreamingRecognize:input_type -> google.cloud.speech.v2.StreamingRecognizeRequest |
| 30, // 105: google.cloud.speech.v2.Speech.BatchRecognize:input_type -> google.cloud.speech.v2.BatchRecognizeRequest |
| 39, // 106: google.cloud.speech.v2.Speech.GetConfig:input_type -> google.cloud.speech.v2.GetConfigRequest |
| 40, // 107: google.cloud.speech.v2.Speech.UpdateConfig:input_type -> google.cloud.speech.v2.UpdateConfigRequest |
| 43, // 108: google.cloud.speech.v2.Speech.CreateCustomClass:input_type -> google.cloud.speech.v2.CreateCustomClassRequest |
| 44, // 109: google.cloud.speech.v2.Speech.ListCustomClasses:input_type -> google.cloud.speech.v2.ListCustomClassesRequest |
| 46, // 110: google.cloud.speech.v2.Speech.GetCustomClass:input_type -> google.cloud.speech.v2.GetCustomClassRequest |
| 47, // 111: google.cloud.speech.v2.Speech.UpdateCustomClass:input_type -> google.cloud.speech.v2.UpdateCustomClassRequest |
| 48, // 112: google.cloud.speech.v2.Speech.DeleteCustomClass:input_type -> google.cloud.speech.v2.DeleteCustomClassRequest |
| 49, // 113: google.cloud.speech.v2.Speech.UndeleteCustomClass:input_type -> google.cloud.speech.v2.UndeleteCustomClassRequest |
| 50, // 114: google.cloud.speech.v2.Speech.CreatePhraseSet:input_type -> google.cloud.speech.v2.CreatePhraseSetRequest |
| 51, // 115: google.cloud.speech.v2.Speech.ListPhraseSets:input_type -> google.cloud.speech.v2.ListPhraseSetsRequest |
| 53, // 116: google.cloud.speech.v2.Speech.GetPhraseSet:input_type -> google.cloud.speech.v2.GetPhraseSetRequest |
| 54, // 117: google.cloud.speech.v2.Speech.UpdatePhraseSet:input_type -> google.cloud.speech.v2.UpdatePhraseSetRequest |
| 55, // 118: google.cloud.speech.v2.Speech.DeletePhraseSet:input_type -> google.cloud.speech.v2.DeletePhraseSetRequest |
| 56, // 119: google.cloud.speech.v2.Speech.UndeletePhraseSet:input_type -> google.cloud.speech.v2.UndeletePhraseSetRequest |
| 70, // 120: google.cloud.speech.v2.Speech.CreateRecognizer:output_type -> google.longrunning.Operation |
| 9, // 121: google.cloud.speech.v2.Speech.ListRecognizers:output_type -> google.cloud.speech.v2.ListRecognizersResponse |
| 14, // 122: google.cloud.speech.v2.Speech.GetRecognizer:output_type -> google.cloud.speech.v2.Recognizer |
| 70, // 123: google.cloud.speech.v2.Speech.UpdateRecognizer:output_type -> google.longrunning.Operation |
| 70, // 124: google.cloud.speech.v2.Speech.DeleteRecognizer:output_type -> google.longrunning.Operation |
| 70, // 125: google.cloud.speech.v2.Speech.UndeleteRecognizer:output_type -> google.longrunning.Operation |
| 26, // 126: google.cloud.speech.v2.Speech.Recognize:output_type -> google.cloud.speech.v2.RecognizeResponse |
| 37, // 127: google.cloud.speech.v2.Speech.StreamingRecognize:output_type -> google.cloud.speech.v2.StreamingRecognizeResponse |
| 70, // 128: google.cloud.speech.v2.Speech.BatchRecognize:output_type -> google.longrunning.Operation |
| 38, // 129: google.cloud.speech.v2.Speech.GetConfig:output_type -> google.cloud.speech.v2.Config |
| 38, // 130: google.cloud.speech.v2.Speech.UpdateConfig:output_type -> google.cloud.speech.v2.Config |
| 70, // 131: google.cloud.speech.v2.Speech.CreateCustomClass:output_type -> google.longrunning.Operation |
| 45, // 132: google.cloud.speech.v2.Speech.ListCustomClasses:output_type -> google.cloud.speech.v2.ListCustomClassesResponse |
| 41, // 133: google.cloud.speech.v2.Speech.GetCustomClass:output_type -> google.cloud.speech.v2.CustomClass |
| 70, // 134: google.cloud.speech.v2.Speech.UpdateCustomClass:output_type -> google.longrunning.Operation |
| 70, // 135: google.cloud.speech.v2.Speech.DeleteCustomClass:output_type -> google.longrunning.Operation |
| 70, // 136: google.cloud.speech.v2.Speech.UndeleteCustomClass:output_type -> google.longrunning.Operation |
| 70, // 137: google.cloud.speech.v2.Speech.CreatePhraseSet:output_type -> google.longrunning.Operation |
| 52, // 138: google.cloud.speech.v2.Speech.ListPhraseSets:output_type -> google.cloud.speech.v2.ListPhraseSetsResponse |
| 42, // 139: google.cloud.speech.v2.Speech.GetPhraseSet:output_type -> google.cloud.speech.v2.PhraseSet |
| 70, // 140: google.cloud.speech.v2.Speech.UpdatePhraseSet:output_type -> google.longrunning.Operation |
| 70, // 141: google.cloud.speech.v2.Speech.DeletePhraseSet:output_type -> google.longrunning.Operation |
| 70, // 142: google.cloud.speech.v2.Speech.UndeletePhraseSet:output_type -> google.longrunning.Operation |
| 120, // [120:143] is the sub-list for method output_type |
| 97, // [97:120] is the sub-list for method input_type |
| 97, // [97:97] is the sub-list for extension type_name |
| 97, // [97:97] is the sub-list for extension extendee |
| 0, // [0:97] is the sub-list for field type_name |
| } |
| |
| func init() { file_google_cloud_speech_v2_cloud_speech_proto_init() } |
| func file_google_cloud_speech_v2_cloud_speech_proto_init() { |
| if File_google_cloud_speech_v2_cloud_speech_proto != nil { |
| return |
| } |
| if !protoimpl.UnsafeEnabled { |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*CreateRecognizerRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*OperationMetadata); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ListRecognizersRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ListRecognizersResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*GetRecognizerRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*UpdateRecognizerRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DeleteRecognizerRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*UndeleteRecognizerRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*Recognizer); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*AutoDetectDecodingConfig); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ExplicitDecodingConfig); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*SpeakerDiarizationConfig); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*RecognitionFeatures); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*SpeechAdaptation); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*RecognitionConfig); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*RecognizeRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*RecognitionResponseMetadata); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*SpeechRecognitionAlternative); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*WordInfo); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*SpeechRecognitionResult); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*RecognizeResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*StreamingRecognitionFeatures); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*StreamingRecognitionConfig); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*StreamingRecognizeRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*BatchRecognizeRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*BatchRecognizeResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*BatchRecognizeFileResult); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*BatchRecognizeTranscriptionMetadata); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*BatchRecognizeMetadata); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*BatchRecognizeFileMetadata); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*StreamingRecognitionResult); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*StreamingRecognizeResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*Config); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*GetConfigRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*UpdateConfigRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*CustomClass); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*PhraseSet); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*CreateCustomClassRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ListCustomClassesRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ListCustomClassesResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*GetCustomClassRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*UpdateCustomClassRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DeleteCustomClassRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*UndeleteCustomClassRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*CreatePhraseSetRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ListPhraseSetsRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ListPhraseSetsResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*GetPhraseSetRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*UpdatePhraseSetRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DeletePhraseSetRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*UndeletePhraseSetRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*SpeechAdaptation_AdaptationPhraseSet); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*StreamingRecognitionFeatures_VoiceActivityTimeout); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*CustomClass_ClassItem); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*PhraseSet_Phrase); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[1].OneofWrappers = []interface{}{ |
| (*OperationMetadata_BatchRecognizeRequest)(nil), |
| (*OperationMetadata_CreateRecognizerRequest)(nil), |
| (*OperationMetadata_UpdateRecognizerRequest)(nil), |
| (*OperationMetadata_DeleteRecognizerRequest)(nil), |
| (*OperationMetadata_UndeleteRecognizerRequest)(nil), |
| (*OperationMetadata_CreateCustomClassRequest)(nil), |
| (*OperationMetadata_UpdateCustomClassRequest)(nil), |
| (*OperationMetadata_DeleteCustomClassRequest)(nil), |
| (*OperationMetadata_UndeleteCustomClassRequest)(nil), |
| (*OperationMetadata_CreatePhraseSetRequest)(nil), |
| (*OperationMetadata_UpdatePhraseSetRequest)(nil), |
| (*OperationMetadata_DeletePhraseSetRequest)(nil), |
| (*OperationMetadata_UndeletePhraseSetRequest)(nil), |
| (*OperationMetadata_UpdateConfigRequest)(nil), |
| (*OperationMetadata_BatchRecognizeMetadata)(nil), |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[14].OneofWrappers = []interface{}{ |
| (*RecognitionConfig_AutoDecodingConfig)(nil), |
| (*RecognitionConfig_ExplicitDecodingConfig)(nil), |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[15].OneofWrappers = []interface{}{ |
| (*RecognizeRequest_Content)(nil), |
| (*RecognizeRequest_Uri)(nil), |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[23].OneofWrappers = []interface{}{ |
| (*StreamingRecognizeRequest_StreamingConfig)(nil), |
| (*StreamingRecognizeRequest_Audio)(nil), |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[29].OneofWrappers = []interface{}{ |
| (*BatchRecognizeFileMetadata_Uri)(nil), |
| } |
| file_google_cloud_speech_v2_cloud_speech_proto_msgTypes[52].OneofWrappers = []interface{}{ |
| (*SpeechAdaptation_AdaptationPhraseSet_PhraseSet)(nil), |
| (*SpeechAdaptation_AdaptationPhraseSet_InlinePhraseSet)(nil), |
| } |
| type x struct{} |
| out := protoimpl.TypeBuilder{ |
| File: protoimpl.DescBuilder{ |
| GoPackagePath: reflect.TypeOf(x{}).PkgPath(), |
| RawDescriptor: file_google_cloud_speech_v2_cloud_speech_proto_rawDesc, |
| NumEnums: 6, |
| NumMessages: 60, |
| NumExtensions: 0, |
| NumServices: 1, |
| }, |
| GoTypes: file_google_cloud_speech_v2_cloud_speech_proto_goTypes, |
| DependencyIndexes: file_google_cloud_speech_v2_cloud_speech_proto_depIdxs, |
| EnumInfos: file_google_cloud_speech_v2_cloud_speech_proto_enumTypes, |
| MessageInfos: file_google_cloud_speech_v2_cloud_speech_proto_msgTypes, |
| }.Build() |
| File_google_cloud_speech_v2_cloud_speech_proto = out.File |
| file_google_cloud_speech_v2_cloud_speech_proto_rawDesc = nil |
| file_google_cloud_speech_v2_cloud_speech_proto_goTypes = nil |
| file_google_cloud_speech_v2_cloud_speech_proto_depIdxs = nil |
| } |
| |
| // Reference imports to suppress errors if they are not otherwise used. |
| var _ context.Context |
| var _ grpc.ClientConnInterface |
| |
| // This is a compile-time assertion to ensure that this generated file |
| // is compatible with the grpc package it is being compiled against. |
| const _ = grpc.SupportPackageIsVersion6 |
| |
| // SpeechClient is the client API for Speech service. |
| // |
| // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. |
| type SpeechClient interface { |
| // Creates a [Recognizer][google.cloud.speech.v2.Recognizer]. |
| CreateRecognizer(ctx context.Context, in *CreateRecognizerRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) |
| // Lists Recognizers. |
| ListRecognizers(ctx context.Context, in *ListRecognizersRequest, opts ...grpc.CallOption) (*ListRecognizersResponse, error) |
| // Returns the requested |
| // [Recognizer][google.cloud.speech.v2.Recognizer]. Fails with |
| // [NOT_FOUND][google.rpc.Code.NOT_FOUND] if the requested recognizer doesn't |
| // exist. |
| GetRecognizer(ctx context.Context, in *GetRecognizerRequest, opts ...grpc.CallOption) (*Recognizer, error) |
| // Updates the [Recognizer][google.cloud.speech.v2.Recognizer]. |
| UpdateRecognizer(ctx context.Context, in *UpdateRecognizerRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) |
| // Deletes the [Recognizer][google.cloud.speech.v2.Recognizer]. |
| DeleteRecognizer(ctx context.Context, in *DeleteRecognizerRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) |
| // Undeletes the [Recognizer][google.cloud.speech.v2.Recognizer]. |
| UndeleteRecognizer(ctx context.Context, in *UndeleteRecognizerRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) |
| // Performs synchronous Speech recognition: receive results after all audio |
| // has been sent and processed. |
| Recognize(ctx context.Context, in *RecognizeRequest, opts ...grpc.CallOption) (*RecognizeResponse, error) |
| // Performs bidirectional streaming speech recognition: receive results while |
| // sending audio. This method is only available via the gRPC API (not REST). |
| StreamingRecognize(ctx context.Context, opts ...grpc.CallOption) (Speech_StreamingRecognizeClient, error) |
| // Performs batch asynchronous speech recognition: send a request with N |
| // audio files and receive a long running operation that can be polled to see |
| // when the transcriptions are finished. |
| BatchRecognize(ctx context.Context, in *BatchRecognizeRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) |
| // Returns the requested [Config][google.cloud.speech.v2.Config]. |
| GetConfig(ctx context.Context, in *GetConfigRequest, opts ...grpc.CallOption) (*Config, error) |
| // Updates the [Config][google.cloud.speech.v2.Config]. |
| UpdateConfig(ctx context.Context, in *UpdateConfigRequest, opts ...grpc.CallOption) (*Config, error) |
| // Creates a [CustomClass][google.cloud.speech.v2.CustomClass]. |
| CreateCustomClass(ctx context.Context, in *CreateCustomClassRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) |
| // Lists CustomClasses. |
| ListCustomClasses(ctx context.Context, in *ListCustomClassesRequest, opts ...grpc.CallOption) (*ListCustomClassesResponse, error) |
| // Returns the requested |
| // [CustomClass][google.cloud.speech.v2.CustomClass]. |
| GetCustomClass(ctx context.Context, in *GetCustomClassRequest, opts ...grpc.CallOption) (*CustomClass, error) |
| // Updates the [CustomClass][google.cloud.speech.v2.CustomClass]. |
| UpdateCustomClass(ctx context.Context, in *UpdateCustomClassRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) |
| // Deletes the [CustomClass][google.cloud.speech.v2.CustomClass]. |
| DeleteCustomClass(ctx context.Context, in *DeleteCustomClassRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) |
| // Undeletes the [CustomClass][google.cloud.speech.v2.CustomClass]. |
| UndeleteCustomClass(ctx context.Context, in *UndeleteCustomClassRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) |
| // Creates a [PhraseSet][google.cloud.speech.v2.PhraseSet]. |
| CreatePhraseSet(ctx context.Context, in *CreatePhraseSetRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) |
| // Lists PhraseSets. |
| ListPhraseSets(ctx context.Context, in *ListPhraseSetsRequest, opts ...grpc.CallOption) (*ListPhraseSetsResponse, error) |
| // Returns the requested |
| // [PhraseSet][google.cloud.speech.v2.PhraseSet]. |
| GetPhraseSet(ctx context.Context, in *GetPhraseSetRequest, opts ...grpc.CallOption) (*PhraseSet, error) |
| // Updates the [PhraseSet][google.cloud.speech.v2.PhraseSet]. |
| UpdatePhraseSet(ctx context.Context, in *UpdatePhraseSetRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) |
| // Deletes the [PhraseSet][google.cloud.speech.v2.PhraseSet]. |
| DeletePhraseSet(ctx context.Context, in *DeletePhraseSetRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) |
| // Undeletes the [PhraseSet][google.cloud.speech.v2.PhraseSet]. |
| UndeletePhraseSet(ctx context.Context, in *UndeletePhraseSetRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) |
| } |
| |
| type speechClient struct { |
| cc grpc.ClientConnInterface |
| } |
| |
| func NewSpeechClient(cc grpc.ClientConnInterface) SpeechClient { |
| return &speechClient{cc} |
| } |
| |
| func (c *speechClient) CreateRecognizer(ctx context.Context, in *CreateRecognizerRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { |
| out := new(longrunning.Operation) |
| err := c.cc.Invoke(ctx, "/google.cloud.speech.v2.Speech/CreateRecognizer", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *speechClient) ListRecognizers(ctx context.Context, in *ListRecognizersRequest, opts ...grpc.CallOption) (*ListRecognizersResponse, error) { |
| out := new(ListRecognizersResponse) |
| err := c.cc.Invoke(ctx, "/google.cloud.speech.v2.Speech/ListRecognizers", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *speechClient) GetRecognizer(ctx context.Context, in *GetRecognizerRequest, opts ...grpc.CallOption) (*Recognizer, error) { |
| out := new(Recognizer) |
| err := c.cc.Invoke(ctx, "/google.cloud.speech.v2.Speech/GetRecognizer", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *speechClient) UpdateRecognizer(ctx context.Context, in *UpdateRecognizerRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { |
| out := new(longrunning.Operation) |
| err := c.cc.Invoke(ctx, "/google.cloud.speech.v2.Speech/UpdateRecognizer", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *speechClient) DeleteRecognizer(ctx context.Context, in *DeleteRecognizerRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { |
| out := new(longrunning.Operation) |
| err := c.cc.Invoke(ctx, "/google.cloud.speech.v2.Speech/DeleteRecognizer", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *speechClient) UndeleteRecognizer(ctx context.Context, in *UndeleteRecognizerRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { |
| out := new(longrunning.Operation) |
| err := c.cc.Invoke(ctx, "/google.cloud.speech.v2.Speech/UndeleteRecognizer", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *speechClient) Recognize(ctx context.Context, in *RecognizeRequest, opts ...grpc.CallOption) (*RecognizeResponse, error) { |
| out := new(RecognizeResponse) |
| err := c.cc.Invoke(ctx, "/google.cloud.speech.v2.Speech/Recognize", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *speechClient) StreamingRecognize(ctx context.Context, opts ...grpc.CallOption) (Speech_StreamingRecognizeClient, error) { |
| stream, err := c.cc.NewStream(ctx, &_Speech_serviceDesc.Streams[0], "/google.cloud.speech.v2.Speech/StreamingRecognize", opts...) |
| if err != nil { |
| return nil, err |
| } |
| x := &speechStreamingRecognizeClient{stream} |
| return x, nil |
| } |
| |
| type Speech_StreamingRecognizeClient interface { |
| Send(*StreamingRecognizeRequest) error |
| Recv() (*StreamingRecognizeResponse, error) |
| grpc.ClientStream |
| } |
| |
| type speechStreamingRecognizeClient struct { |
| grpc.ClientStream |
| } |
| |
| func (x *speechStreamingRecognizeClient) Send(m *StreamingRecognizeRequest) error { |
| return x.ClientStream.SendMsg(m) |
| } |
| |
| func (x *speechStreamingRecognizeClient) Recv() (*StreamingRecognizeResponse, error) { |
| m := new(StreamingRecognizeResponse) |
| if err := x.ClientStream.RecvMsg(m); err != nil { |
| return nil, err |
| } |
| return m, nil |
| } |
| |
| func (c *speechClient) BatchRecognize(ctx context.Context, in *BatchRecognizeRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { |
| out := new(longrunning.Operation) |
| err := c.cc.Invoke(ctx, "/google.cloud.speech.v2.Speech/BatchRecognize", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *speechClient) GetConfig(ctx context.Context, in *GetConfigRequest, opts ...grpc.CallOption) (*Config, error) { |
| out := new(Config) |
| err := c.cc.Invoke(ctx, "/google.cloud.speech.v2.Speech/GetConfig", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *speechClient) UpdateConfig(ctx context.Context, in *UpdateConfigRequest, opts ...grpc.CallOption) (*Config, error) { |
| out := new(Config) |
| err := c.cc.Invoke(ctx, "/google.cloud.speech.v2.Speech/UpdateConfig", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *speechClient) CreateCustomClass(ctx context.Context, in *CreateCustomClassRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { |
| out := new(longrunning.Operation) |
| err := c.cc.Invoke(ctx, "/google.cloud.speech.v2.Speech/CreateCustomClass", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *speechClient) ListCustomClasses(ctx context.Context, in *ListCustomClassesRequest, opts ...grpc.CallOption) (*ListCustomClassesResponse, error) { |
| out := new(ListCustomClassesResponse) |
| err := c.cc.Invoke(ctx, "/google.cloud.speech.v2.Speech/ListCustomClasses", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *speechClient) GetCustomClass(ctx context.Context, in *GetCustomClassRequest, opts ...grpc.CallOption) (*CustomClass, error) { |
| out := new(CustomClass) |
| err := c.cc.Invoke(ctx, "/google.cloud.speech.v2.Speech/GetCustomClass", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *speechClient) UpdateCustomClass(ctx context.Context, in *UpdateCustomClassRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { |
| out := new(longrunning.Operation) |
| err := c.cc.Invoke(ctx, "/google.cloud.speech.v2.Speech/UpdateCustomClass", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *speechClient) DeleteCustomClass(ctx context.Context, in *DeleteCustomClassRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { |
| out := new(longrunning.Operation) |
| err := c.cc.Invoke(ctx, "/google.cloud.speech.v2.Speech/DeleteCustomClass", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *speechClient) UndeleteCustomClass(ctx context.Context, in *UndeleteCustomClassRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { |
| out := new(longrunning.Operation) |
| err := c.cc.Invoke(ctx, "/google.cloud.speech.v2.Speech/UndeleteCustomClass", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *speechClient) CreatePhraseSet(ctx context.Context, in *CreatePhraseSetRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { |
| out := new(longrunning.Operation) |
| err := c.cc.Invoke(ctx, "/google.cloud.speech.v2.Speech/CreatePhraseSet", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *speechClient) ListPhraseSets(ctx context.Context, in *ListPhraseSetsRequest, opts ...grpc.CallOption) (*ListPhraseSetsResponse, error) { |
| out := new(ListPhraseSetsResponse) |
| err := c.cc.Invoke(ctx, "/google.cloud.speech.v2.Speech/ListPhraseSets", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *speechClient) GetPhraseSet(ctx context.Context, in *GetPhraseSetRequest, opts ...grpc.CallOption) (*PhraseSet, error) { |
| out := new(PhraseSet) |
| err := c.cc.Invoke(ctx, "/google.cloud.speech.v2.Speech/GetPhraseSet", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *speechClient) UpdatePhraseSet(ctx context.Context, in *UpdatePhraseSetRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { |
| out := new(longrunning.Operation) |
| err := c.cc.Invoke(ctx, "/google.cloud.speech.v2.Speech/UpdatePhraseSet", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *speechClient) DeletePhraseSet(ctx context.Context, in *DeletePhraseSetRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { |
| out := new(longrunning.Operation) |
| err := c.cc.Invoke(ctx, "/google.cloud.speech.v2.Speech/DeletePhraseSet", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *speechClient) UndeletePhraseSet(ctx context.Context, in *UndeletePhraseSetRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { |
| out := new(longrunning.Operation) |
| err := c.cc.Invoke(ctx, "/google.cloud.speech.v2.Speech/UndeletePhraseSet", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| // SpeechServer is the server API for Speech service. |
| type SpeechServer interface { |
| // Creates a [Recognizer][google.cloud.speech.v2.Recognizer]. |
| CreateRecognizer(context.Context, *CreateRecognizerRequest) (*longrunning.Operation, error) |
| // Lists Recognizers. |
| ListRecognizers(context.Context, *ListRecognizersRequest) (*ListRecognizersResponse, error) |
| // Returns the requested |
| // [Recognizer][google.cloud.speech.v2.Recognizer]. Fails with |
| // [NOT_FOUND][google.rpc.Code.NOT_FOUND] if the requested recognizer doesn't |
| // exist. |
| GetRecognizer(context.Context, *GetRecognizerRequest) (*Recognizer, error) |
| // Updates the [Recognizer][google.cloud.speech.v2.Recognizer]. |
| UpdateRecognizer(context.Context, *UpdateRecognizerRequest) (*longrunning.Operation, error) |
| // Deletes the [Recognizer][google.cloud.speech.v2.Recognizer]. |
| DeleteRecognizer(context.Context, *DeleteRecognizerRequest) (*longrunning.Operation, error) |
| // Undeletes the [Recognizer][google.cloud.speech.v2.Recognizer]. |
| UndeleteRecognizer(context.Context, *UndeleteRecognizerRequest) (*longrunning.Operation, error) |
| // Performs synchronous Speech recognition: receive results after all audio |
| // has been sent and processed. |
| Recognize(context.Context, *RecognizeRequest) (*RecognizeResponse, error) |
| // Performs bidirectional streaming speech recognition: receive results while |
| // sending audio. This method is only available via the gRPC API (not REST). |
| StreamingRecognize(Speech_StreamingRecognizeServer) error |
| // Performs batch asynchronous speech recognition: send a request with N |
| // audio files and receive a long running operation that can be polled to see |
| // when the transcriptions are finished. |
| BatchRecognize(context.Context, *BatchRecognizeRequest) (*longrunning.Operation, error) |
| // Returns the requested [Config][google.cloud.speech.v2.Config]. |
| GetConfig(context.Context, *GetConfigRequest) (*Config, error) |
| // Updates the [Config][google.cloud.speech.v2.Config]. |
| UpdateConfig(context.Context, *UpdateConfigRequest) (*Config, error) |
| // Creates a [CustomClass][google.cloud.speech.v2.CustomClass]. |
| CreateCustomClass(context.Context, *CreateCustomClassRequest) (*longrunning.Operation, error) |
| // Lists CustomClasses. |
| ListCustomClasses(context.Context, *ListCustomClassesRequest) (*ListCustomClassesResponse, error) |
| // Returns the requested |
| // [CustomClass][google.cloud.speech.v2.CustomClass]. |
| GetCustomClass(context.Context, *GetCustomClassRequest) (*CustomClass, error) |
| // Updates the [CustomClass][google.cloud.speech.v2.CustomClass]. |
| UpdateCustomClass(context.Context, *UpdateCustomClassRequest) (*longrunning.Operation, error) |
| // Deletes the [CustomClass][google.cloud.speech.v2.CustomClass]. |
| DeleteCustomClass(context.Context, *DeleteCustomClassRequest) (*longrunning.Operation, error) |
| // Undeletes the [CustomClass][google.cloud.speech.v2.CustomClass]. |
| UndeleteCustomClass(context.Context, *UndeleteCustomClassRequest) (*longrunning.Operation, error) |
| // Creates a [PhraseSet][google.cloud.speech.v2.PhraseSet]. |
| CreatePhraseSet(context.Context, *CreatePhraseSetRequest) (*longrunning.Operation, error) |
| // Lists PhraseSets. |
| ListPhraseSets(context.Context, *ListPhraseSetsRequest) (*ListPhraseSetsResponse, error) |
| // Returns the requested |
| // [PhraseSet][google.cloud.speech.v2.PhraseSet]. |
| GetPhraseSet(context.Context, *GetPhraseSetRequest) (*PhraseSet, error) |
| // Updates the [PhraseSet][google.cloud.speech.v2.PhraseSet]. |
| UpdatePhraseSet(context.Context, *UpdatePhraseSetRequest) (*longrunning.Operation, error) |
| // Deletes the [PhraseSet][google.cloud.speech.v2.PhraseSet]. |
| DeletePhraseSet(context.Context, *DeletePhraseSetRequest) (*longrunning.Operation, error) |
| // Undeletes the [PhraseSet][google.cloud.speech.v2.PhraseSet]. |
| UndeletePhraseSet(context.Context, *UndeletePhraseSetRequest) (*longrunning.Operation, error) |
| } |
| |
| // UnimplementedSpeechServer can be embedded to have forward compatible implementations. |
| type UnimplementedSpeechServer struct { |
| } |
| |
| func (*UnimplementedSpeechServer) CreateRecognizer(context.Context, *CreateRecognizerRequest) (*longrunning.Operation, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method CreateRecognizer not implemented") |
| } |
| func (*UnimplementedSpeechServer) ListRecognizers(context.Context, *ListRecognizersRequest) (*ListRecognizersResponse, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method ListRecognizers not implemented") |
| } |
| func (*UnimplementedSpeechServer) GetRecognizer(context.Context, *GetRecognizerRequest) (*Recognizer, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method GetRecognizer not implemented") |
| } |
| func (*UnimplementedSpeechServer) UpdateRecognizer(context.Context, *UpdateRecognizerRequest) (*longrunning.Operation, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method UpdateRecognizer not implemented") |
| } |
| func (*UnimplementedSpeechServer) DeleteRecognizer(context.Context, *DeleteRecognizerRequest) (*longrunning.Operation, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method DeleteRecognizer not implemented") |
| } |
| func (*UnimplementedSpeechServer) UndeleteRecognizer(context.Context, *UndeleteRecognizerRequest) (*longrunning.Operation, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method UndeleteRecognizer not implemented") |
| } |
| func (*UnimplementedSpeechServer) Recognize(context.Context, *RecognizeRequest) (*RecognizeResponse, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method Recognize not implemented") |
| } |
| func (*UnimplementedSpeechServer) StreamingRecognize(Speech_StreamingRecognizeServer) error { |
| return status1.Errorf(codes.Unimplemented, "method StreamingRecognize not implemented") |
| } |
| func (*UnimplementedSpeechServer) BatchRecognize(context.Context, *BatchRecognizeRequest) (*longrunning.Operation, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method BatchRecognize not implemented") |
| } |
| func (*UnimplementedSpeechServer) GetConfig(context.Context, *GetConfigRequest) (*Config, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method GetConfig not implemented") |
| } |
| func (*UnimplementedSpeechServer) UpdateConfig(context.Context, *UpdateConfigRequest) (*Config, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method UpdateConfig not implemented") |
| } |
| func (*UnimplementedSpeechServer) CreateCustomClass(context.Context, *CreateCustomClassRequest) (*longrunning.Operation, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method CreateCustomClass not implemented") |
| } |
| func (*UnimplementedSpeechServer) ListCustomClasses(context.Context, *ListCustomClassesRequest) (*ListCustomClassesResponse, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method ListCustomClasses not implemented") |
| } |
| func (*UnimplementedSpeechServer) GetCustomClass(context.Context, *GetCustomClassRequest) (*CustomClass, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method GetCustomClass not implemented") |
| } |
| func (*UnimplementedSpeechServer) UpdateCustomClass(context.Context, *UpdateCustomClassRequest) (*longrunning.Operation, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method UpdateCustomClass not implemented") |
| } |
| func (*UnimplementedSpeechServer) DeleteCustomClass(context.Context, *DeleteCustomClassRequest) (*longrunning.Operation, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method DeleteCustomClass not implemented") |
| } |
| func (*UnimplementedSpeechServer) UndeleteCustomClass(context.Context, *UndeleteCustomClassRequest) (*longrunning.Operation, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method UndeleteCustomClass not implemented") |
| } |
| func (*UnimplementedSpeechServer) CreatePhraseSet(context.Context, *CreatePhraseSetRequest) (*longrunning.Operation, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method CreatePhraseSet not implemented") |
| } |
| func (*UnimplementedSpeechServer) ListPhraseSets(context.Context, *ListPhraseSetsRequest) (*ListPhraseSetsResponse, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method ListPhraseSets not implemented") |
| } |
| func (*UnimplementedSpeechServer) GetPhraseSet(context.Context, *GetPhraseSetRequest) (*PhraseSet, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method GetPhraseSet not implemented") |
| } |
| func (*UnimplementedSpeechServer) UpdatePhraseSet(context.Context, *UpdatePhraseSetRequest) (*longrunning.Operation, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method UpdatePhraseSet not implemented") |
| } |
| func (*UnimplementedSpeechServer) DeletePhraseSet(context.Context, *DeletePhraseSetRequest) (*longrunning.Operation, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method DeletePhraseSet not implemented") |
| } |
| func (*UnimplementedSpeechServer) UndeletePhraseSet(context.Context, *UndeletePhraseSetRequest) (*longrunning.Operation, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method UndeletePhraseSet not implemented") |
| } |
| |
| func RegisterSpeechServer(s *grpc.Server, srv SpeechServer) { |
| s.RegisterService(&_Speech_serviceDesc, srv) |
| } |
| |
| func _Speech_CreateRecognizer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(CreateRecognizerRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(SpeechServer).CreateRecognizer(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.speech.v2.Speech/CreateRecognizer", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(SpeechServer).CreateRecognizer(ctx, req.(*CreateRecognizerRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _Speech_ListRecognizers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(ListRecognizersRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(SpeechServer).ListRecognizers(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.speech.v2.Speech/ListRecognizers", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(SpeechServer).ListRecognizers(ctx, req.(*ListRecognizersRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _Speech_GetRecognizer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(GetRecognizerRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(SpeechServer).GetRecognizer(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.speech.v2.Speech/GetRecognizer", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(SpeechServer).GetRecognizer(ctx, req.(*GetRecognizerRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _Speech_UpdateRecognizer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(UpdateRecognizerRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(SpeechServer).UpdateRecognizer(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.speech.v2.Speech/UpdateRecognizer", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(SpeechServer).UpdateRecognizer(ctx, req.(*UpdateRecognizerRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _Speech_DeleteRecognizer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(DeleteRecognizerRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(SpeechServer).DeleteRecognizer(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.speech.v2.Speech/DeleteRecognizer", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(SpeechServer).DeleteRecognizer(ctx, req.(*DeleteRecognizerRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _Speech_UndeleteRecognizer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(UndeleteRecognizerRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(SpeechServer).UndeleteRecognizer(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.speech.v2.Speech/UndeleteRecognizer", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(SpeechServer).UndeleteRecognizer(ctx, req.(*UndeleteRecognizerRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _Speech_Recognize_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(RecognizeRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(SpeechServer).Recognize(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.speech.v2.Speech/Recognize", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(SpeechServer).Recognize(ctx, req.(*RecognizeRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _Speech_StreamingRecognize_Handler(srv interface{}, stream grpc.ServerStream) error { |
| return srv.(SpeechServer).StreamingRecognize(&speechStreamingRecognizeServer{stream}) |
| } |
| |
| type Speech_StreamingRecognizeServer interface { |
| Send(*StreamingRecognizeResponse) error |
| Recv() (*StreamingRecognizeRequest, error) |
| grpc.ServerStream |
| } |
| |
| type speechStreamingRecognizeServer struct { |
| grpc.ServerStream |
| } |
| |
| func (x *speechStreamingRecognizeServer) Send(m *StreamingRecognizeResponse) error { |
| return x.ServerStream.SendMsg(m) |
| } |
| |
| func (x *speechStreamingRecognizeServer) Recv() (*StreamingRecognizeRequest, error) { |
| m := new(StreamingRecognizeRequest) |
| if err := x.ServerStream.RecvMsg(m); err != nil { |
| return nil, err |
| } |
| return m, nil |
| } |
| |
| func _Speech_BatchRecognize_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(BatchRecognizeRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(SpeechServer).BatchRecognize(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.speech.v2.Speech/BatchRecognize", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(SpeechServer).BatchRecognize(ctx, req.(*BatchRecognizeRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _Speech_GetConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(GetConfigRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(SpeechServer).GetConfig(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.speech.v2.Speech/GetConfig", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(SpeechServer).GetConfig(ctx, req.(*GetConfigRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _Speech_UpdateConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(UpdateConfigRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(SpeechServer).UpdateConfig(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.speech.v2.Speech/UpdateConfig", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(SpeechServer).UpdateConfig(ctx, req.(*UpdateConfigRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _Speech_CreateCustomClass_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(CreateCustomClassRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(SpeechServer).CreateCustomClass(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.speech.v2.Speech/CreateCustomClass", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(SpeechServer).CreateCustomClass(ctx, req.(*CreateCustomClassRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _Speech_ListCustomClasses_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(ListCustomClassesRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(SpeechServer).ListCustomClasses(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.speech.v2.Speech/ListCustomClasses", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(SpeechServer).ListCustomClasses(ctx, req.(*ListCustomClassesRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _Speech_GetCustomClass_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(GetCustomClassRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(SpeechServer).GetCustomClass(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.speech.v2.Speech/GetCustomClass", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(SpeechServer).GetCustomClass(ctx, req.(*GetCustomClassRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _Speech_UpdateCustomClass_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(UpdateCustomClassRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(SpeechServer).UpdateCustomClass(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.speech.v2.Speech/UpdateCustomClass", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(SpeechServer).UpdateCustomClass(ctx, req.(*UpdateCustomClassRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _Speech_DeleteCustomClass_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(DeleteCustomClassRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(SpeechServer).DeleteCustomClass(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.speech.v2.Speech/DeleteCustomClass", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(SpeechServer).DeleteCustomClass(ctx, req.(*DeleteCustomClassRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _Speech_UndeleteCustomClass_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(UndeleteCustomClassRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(SpeechServer).UndeleteCustomClass(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.speech.v2.Speech/UndeleteCustomClass", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(SpeechServer).UndeleteCustomClass(ctx, req.(*UndeleteCustomClassRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _Speech_CreatePhraseSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(CreatePhraseSetRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(SpeechServer).CreatePhraseSet(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.speech.v2.Speech/CreatePhraseSet", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(SpeechServer).CreatePhraseSet(ctx, req.(*CreatePhraseSetRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _Speech_ListPhraseSets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(ListPhraseSetsRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(SpeechServer).ListPhraseSets(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.speech.v2.Speech/ListPhraseSets", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(SpeechServer).ListPhraseSets(ctx, req.(*ListPhraseSetsRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _Speech_GetPhraseSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(GetPhraseSetRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(SpeechServer).GetPhraseSet(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.speech.v2.Speech/GetPhraseSet", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(SpeechServer).GetPhraseSet(ctx, req.(*GetPhraseSetRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _Speech_UpdatePhraseSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(UpdatePhraseSetRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(SpeechServer).UpdatePhraseSet(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.speech.v2.Speech/UpdatePhraseSet", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(SpeechServer).UpdatePhraseSet(ctx, req.(*UpdatePhraseSetRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _Speech_DeletePhraseSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(DeletePhraseSetRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(SpeechServer).DeletePhraseSet(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.speech.v2.Speech/DeletePhraseSet", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(SpeechServer).DeletePhraseSet(ctx, req.(*DeletePhraseSetRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _Speech_UndeletePhraseSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(UndeletePhraseSetRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(SpeechServer).UndeletePhraseSet(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.speech.v2.Speech/UndeletePhraseSet", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(SpeechServer).UndeletePhraseSet(ctx, req.(*UndeletePhraseSetRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| var _Speech_serviceDesc = grpc.ServiceDesc{ |
| ServiceName: "google.cloud.speech.v2.Speech", |
| HandlerType: (*SpeechServer)(nil), |
| Methods: []grpc.MethodDesc{ |
| { |
| MethodName: "CreateRecognizer", |
| Handler: _Speech_CreateRecognizer_Handler, |
| }, |
| { |
| MethodName: "ListRecognizers", |
| Handler: _Speech_ListRecognizers_Handler, |
| }, |
| { |
| MethodName: "GetRecognizer", |
| Handler: _Speech_GetRecognizer_Handler, |
| }, |
| { |
| MethodName: "UpdateRecognizer", |
| Handler: _Speech_UpdateRecognizer_Handler, |
| }, |
| { |
| MethodName: "DeleteRecognizer", |
| Handler: _Speech_DeleteRecognizer_Handler, |
| }, |
| { |
| MethodName: "UndeleteRecognizer", |
| Handler: _Speech_UndeleteRecognizer_Handler, |
| }, |
| { |
| MethodName: "Recognize", |
| Handler: _Speech_Recognize_Handler, |
| }, |
| { |
| MethodName: "BatchRecognize", |
| Handler: _Speech_BatchRecognize_Handler, |
| }, |
| { |
| MethodName: "GetConfig", |
| Handler: _Speech_GetConfig_Handler, |
| }, |
| { |
| MethodName: "UpdateConfig", |
| Handler: _Speech_UpdateConfig_Handler, |
| }, |
| { |
| MethodName: "CreateCustomClass", |
| Handler: _Speech_CreateCustomClass_Handler, |
| }, |
| { |
| MethodName: "ListCustomClasses", |
| Handler: _Speech_ListCustomClasses_Handler, |
| }, |
| { |
| MethodName: "GetCustomClass", |
| Handler: _Speech_GetCustomClass_Handler, |
| }, |
| { |
| MethodName: "UpdateCustomClass", |
| Handler: _Speech_UpdateCustomClass_Handler, |
| }, |
| { |
| MethodName: "DeleteCustomClass", |
| Handler: _Speech_DeleteCustomClass_Handler, |
| }, |
| { |
| MethodName: "UndeleteCustomClass", |
| Handler: _Speech_UndeleteCustomClass_Handler, |
| }, |
| { |
| MethodName: "CreatePhraseSet", |
| Handler: _Speech_CreatePhraseSet_Handler, |
| }, |
| { |
| MethodName: "ListPhraseSets", |
| Handler: _Speech_ListPhraseSets_Handler, |
| }, |
| { |
| MethodName: "GetPhraseSet", |
| Handler: _Speech_GetPhraseSet_Handler, |
| }, |
| { |
| MethodName: "UpdatePhraseSet", |
| Handler: _Speech_UpdatePhraseSet_Handler, |
| }, |
| { |
| MethodName: "DeletePhraseSet", |
| Handler: _Speech_DeletePhraseSet_Handler, |
| }, |
| { |
| MethodName: "UndeletePhraseSet", |
| Handler: _Speech_UndeletePhraseSet_Handler, |
| }, |
| }, |
| Streams: []grpc.StreamDesc{ |
| { |
| StreamName: "StreamingRecognize", |
| Handler: _Speech_StreamingRecognize_Handler, |
| ServerStreams: true, |
| ClientStreams: true, |
| }, |
| }, |
| Metadata: "google/cloud/speech/v2/cloud_speech.proto", |
| } |