...

Source file src/google.golang.org/genproto/googleapis/cloud/translate/v3beta1/translation_service.pb.go

Documentation: google.golang.org/genproto/googleapis/cloud/translate/v3beta1

     1  // Copyright 2021 Google LLC
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  // Code generated by protoc-gen-go. DO NOT EDIT.
    16  // versions:
    17  // 	protoc-gen-go v1.26.0
    18  // 	protoc        v3.21.9
    19  // source: google/cloud/translate/v3beta1/translation_service.proto
    20  
    21  package translate
    22  
    23  import (
    24  	context "context"
    25  	reflect "reflect"
    26  	sync "sync"
    27  
    28  	_ "google.golang.org/genproto/googleapis/api/annotations"
    29  	longrunning "google.golang.org/genproto/googleapis/longrunning"
    30  	grpc "google.golang.org/grpc"
    31  	codes "google.golang.org/grpc/codes"
    32  	status "google.golang.org/grpc/status"
    33  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    34  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    35  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    36  )
    37  
    38  const (
    39  	// Verify that this generated code is sufficiently up-to-date.
    40  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    41  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    42  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    43  )
    44  
    45  // State of the job.
    46  type BatchTranslateMetadata_State int32
    47  
    48  const (
    49  	// Invalid.
    50  	BatchTranslateMetadata_STATE_UNSPECIFIED BatchTranslateMetadata_State = 0
    51  	// Request is being processed.
    52  	BatchTranslateMetadata_RUNNING BatchTranslateMetadata_State = 1
    53  	// The batch is processed, and at least one item was successfully
    54  	// processed.
    55  	BatchTranslateMetadata_SUCCEEDED BatchTranslateMetadata_State = 2
    56  	// The batch is done and no item was successfully processed.
    57  	BatchTranslateMetadata_FAILED BatchTranslateMetadata_State = 3
    58  	// Request is in the process of being canceled after caller invoked
    59  	// longrunning.Operations.CancelOperation on the request id.
    60  	BatchTranslateMetadata_CANCELLING BatchTranslateMetadata_State = 4
    61  	// The batch is done after the user has called the
    62  	// longrunning.Operations.CancelOperation. Any records processed before the
    63  	// cancel command are output as specified in the request.
    64  	BatchTranslateMetadata_CANCELLED BatchTranslateMetadata_State = 5
    65  )
    66  
    67  // Enum value maps for BatchTranslateMetadata_State.
    68  var (
    69  	BatchTranslateMetadata_State_name = map[int32]string{
    70  		0: "STATE_UNSPECIFIED",
    71  		1: "RUNNING",
    72  		2: "SUCCEEDED",
    73  		3: "FAILED",
    74  		4: "CANCELLING",
    75  		5: "CANCELLED",
    76  	}
    77  	BatchTranslateMetadata_State_value = map[string]int32{
    78  		"STATE_UNSPECIFIED": 0,
    79  		"RUNNING":           1,
    80  		"SUCCEEDED":         2,
    81  		"FAILED":            3,
    82  		"CANCELLING":        4,
    83  		"CANCELLED":         5,
    84  	}
    85  )
    86  
    87  func (x BatchTranslateMetadata_State) Enum() *BatchTranslateMetadata_State {
    88  	p := new(BatchTranslateMetadata_State)
    89  	*p = x
    90  	return p
    91  }
    92  
    93  func (x BatchTranslateMetadata_State) String() string {
    94  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    95  }
    96  
    97  func (BatchTranslateMetadata_State) Descriptor() protoreflect.EnumDescriptor {
    98  	return file_google_cloud_translate_v3beta1_translation_service_proto_enumTypes[0].Descriptor()
    99  }
   100  
   101  func (BatchTranslateMetadata_State) Type() protoreflect.EnumType {
   102  	return &file_google_cloud_translate_v3beta1_translation_service_proto_enumTypes[0]
   103  }
   104  
   105  func (x BatchTranslateMetadata_State) Number() protoreflect.EnumNumber {
   106  	return protoreflect.EnumNumber(x)
   107  }
   108  
   109  // Deprecated: Use BatchTranslateMetadata_State.Descriptor instead.
   110  func (BatchTranslateMetadata_State) EnumDescriptor() ([]byte, []int) {
   111  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{20, 0}
   112  }
   113  
   114  // Enumerates the possible states that the creation request can be in.
   115  type CreateGlossaryMetadata_State int32
   116  
   117  const (
   118  	// Invalid.
   119  	CreateGlossaryMetadata_STATE_UNSPECIFIED CreateGlossaryMetadata_State = 0
   120  	// Request is being processed.
   121  	CreateGlossaryMetadata_RUNNING CreateGlossaryMetadata_State = 1
   122  	// The glossary was successfully created.
   123  	CreateGlossaryMetadata_SUCCEEDED CreateGlossaryMetadata_State = 2
   124  	// Failed to create the glossary.
   125  	CreateGlossaryMetadata_FAILED CreateGlossaryMetadata_State = 3
   126  	// Request is in the process of being canceled after caller invoked
   127  	// longrunning.Operations.CancelOperation on the request id.
   128  	CreateGlossaryMetadata_CANCELLING CreateGlossaryMetadata_State = 4
   129  	// The glossary creation request was successfully canceled.
   130  	CreateGlossaryMetadata_CANCELLED CreateGlossaryMetadata_State = 5
   131  )
   132  
   133  // Enum value maps for CreateGlossaryMetadata_State.
   134  var (
   135  	CreateGlossaryMetadata_State_name = map[int32]string{
   136  		0: "STATE_UNSPECIFIED",
   137  		1: "RUNNING",
   138  		2: "SUCCEEDED",
   139  		3: "FAILED",
   140  		4: "CANCELLING",
   141  		5: "CANCELLED",
   142  	}
   143  	CreateGlossaryMetadata_State_value = map[string]int32{
   144  		"STATE_UNSPECIFIED": 0,
   145  		"RUNNING":           1,
   146  		"SUCCEEDED":         2,
   147  		"FAILED":            3,
   148  		"CANCELLING":        4,
   149  		"CANCELLED":         5,
   150  	}
   151  )
   152  
   153  func (x CreateGlossaryMetadata_State) Enum() *CreateGlossaryMetadata_State {
   154  	p := new(CreateGlossaryMetadata_State)
   155  	*p = x
   156  	return p
   157  }
   158  
   159  func (x CreateGlossaryMetadata_State) String() string {
   160  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   161  }
   162  
   163  func (CreateGlossaryMetadata_State) Descriptor() protoreflect.EnumDescriptor {
   164  	return file_google_cloud_translate_v3beta1_translation_service_proto_enumTypes[1].Descriptor()
   165  }
   166  
   167  func (CreateGlossaryMetadata_State) Type() protoreflect.EnumType {
   168  	return &file_google_cloud_translate_v3beta1_translation_service_proto_enumTypes[1]
   169  }
   170  
   171  func (x CreateGlossaryMetadata_State) Number() protoreflect.EnumNumber {
   172  	return protoreflect.EnumNumber(x)
   173  }
   174  
   175  // Deprecated: Use CreateGlossaryMetadata_State.Descriptor instead.
   176  func (CreateGlossaryMetadata_State) EnumDescriptor() ([]byte, []int) {
   177  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{29, 0}
   178  }
   179  
   180  // Enumerates the possible states that the creation request can be in.
   181  type DeleteGlossaryMetadata_State int32
   182  
   183  const (
   184  	// Invalid.
   185  	DeleteGlossaryMetadata_STATE_UNSPECIFIED DeleteGlossaryMetadata_State = 0
   186  	// Request is being processed.
   187  	DeleteGlossaryMetadata_RUNNING DeleteGlossaryMetadata_State = 1
   188  	// The glossary was successfully deleted.
   189  	DeleteGlossaryMetadata_SUCCEEDED DeleteGlossaryMetadata_State = 2
   190  	// Failed to delete the glossary.
   191  	DeleteGlossaryMetadata_FAILED DeleteGlossaryMetadata_State = 3
   192  	// Request is in the process of being canceled after caller invoked
   193  	// longrunning.Operations.CancelOperation on the request id.
   194  	DeleteGlossaryMetadata_CANCELLING DeleteGlossaryMetadata_State = 4
   195  	// The glossary deletion request was successfully canceled.
   196  	DeleteGlossaryMetadata_CANCELLED DeleteGlossaryMetadata_State = 5
   197  )
   198  
   199  // Enum value maps for DeleteGlossaryMetadata_State.
   200  var (
   201  	DeleteGlossaryMetadata_State_name = map[int32]string{
   202  		0: "STATE_UNSPECIFIED",
   203  		1: "RUNNING",
   204  		2: "SUCCEEDED",
   205  		3: "FAILED",
   206  		4: "CANCELLING",
   207  		5: "CANCELLED",
   208  	}
   209  	DeleteGlossaryMetadata_State_value = map[string]int32{
   210  		"STATE_UNSPECIFIED": 0,
   211  		"RUNNING":           1,
   212  		"SUCCEEDED":         2,
   213  		"FAILED":            3,
   214  		"CANCELLING":        4,
   215  		"CANCELLED":         5,
   216  	}
   217  )
   218  
   219  func (x DeleteGlossaryMetadata_State) Enum() *DeleteGlossaryMetadata_State {
   220  	p := new(DeleteGlossaryMetadata_State)
   221  	*p = x
   222  	return p
   223  }
   224  
   225  func (x DeleteGlossaryMetadata_State) String() string {
   226  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   227  }
   228  
   229  func (DeleteGlossaryMetadata_State) Descriptor() protoreflect.EnumDescriptor {
   230  	return file_google_cloud_translate_v3beta1_translation_service_proto_enumTypes[2].Descriptor()
   231  }
   232  
   233  func (DeleteGlossaryMetadata_State) Type() protoreflect.EnumType {
   234  	return &file_google_cloud_translate_v3beta1_translation_service_proto_enumTypes[2]
   235  }
   236  
   237  func (x DeleteGlossaryMetadata_State) Number() protoreflect.EnumNumber {
   238  	return protoreflect.EnumNumber(x)
   239  }
   240  
   241  // Deprecated: Use DeleteGlossaryMetadata_State.Descriptor instead.
   242  func (DeleteGlossaryMetadata_State) EnumDescriptor() ([]byte, []int) {
   243  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{30, 0}
   244  }
   245  
   246  // State of the job.
   247  type BatchTranslateDocumentMetadata_State int32
   248  
   249  const (
   250  	// Invalid.
   251  	BatchTranslateDocumentMetadata_STATE_UNSPECIFIED BatchTranslateDocumentMetadata_State = 0
   252  	// Request is being processed.
   253  	BatchTranslateDocumentMetadata_RUNNING BatchTranslateDocumentMetadata_State = 1
   254  	// The batch is processed, and at least one item was successfully processed.
   255  	BatchTranslateDocumentMetadata_SUCCEEDED BatchTranslateDocumentMetadata_State = 2
   256  	// The batch is done and no item was successfully processed.
   257  	BatchTranslateDocumentMetadata_FAILED BatchTranslateDocumentMetadata_State = 3
   258  	// Request is in the process of being canceled after caller invoked
   259  	// longrunning.Operations.CancelOperation on the request id.
   260  	BatchTranslateDocumentMetadata_CANCELLING BatchTranslateDocumentMetadata_State = 4
   261  	// The batch is done after the user has called the
   262  	// longrunning.Operations.CancelOperation. Any records processed before the
   263  	// cancel command are output as specified in the request.
   264  	BatchTranslateDocumentMetadata_CANCELLED BatchTranslateDocumentMetadata_State = 5
   265  )
   266  
   267  // Enum value maps for BatchTranslateDocumentMetadata_State.
   268  var (
   269  	BatchTranslateDocumentMetadata_State_name = map[int32]string{
   270  		0: "STATE_UNSPECIFIED",
   271  		1: "RUNNING",
   272  		2: "SUCCEEDED",
   273  		3: "FAILED",
   274  		4: "CANCELLING",
   275  		5: "CANCELLED",
   276  	}
   277  	BatchTranslateDocumentMetadata_State_value = map[string]int32{
   278  		"STATE_UNSPECIFIED": 0,
   279  		"RUNNING":           1,
   280  		"SUCCEEDED":         2,
   281  		"FAILED":            3,
   282  		"CANCELLING":        4,
   283  		"CANCELLED":         5,
   284  	}
   285  )
   286  
   287  func (x BatchTranslateDocumentMetadata_State) Enum() *BatchTranslateDocumentMetadata_State {
   288  	p := new(BatchTranslateDocumentMetadata_State)
   289  	*p = x
   290  	return p
   291  }
   292  
   293  func (x BatchTranslateDocumentMetadata_State) String() string {
   294  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   295  }
   296  
   297  func (BatchTranslateDocumentMetadata_State) Descriptor() protoreflect.EnumDescriptor {
   298  	return file_google_cloud_translate_v3beta1_translation_service_proto_enumTypes[3].Descriptor()
   299  }
   300  
   301  func (BatchTranslateDocumentMetadata_State) Type() protoreflect.EnumType {
   302  	return &file_google_cloud_translate_v3beta1_translation_service_proto_enumTypes[3]
   303  }
   304  
   305  func (x BatchTranslateDocumentMetadata_State) Number() protoreflect.EnumNumber {
   306  	return protoreflect.EnumNumber(x)
   307  }
   308  
   309  // Deprecated: Use BatchTranslateDocumentMetadata_State.Descriptor instead.
   310  func (BatchTranslateDocumentMetadata_State) EnumDescriptor() ([]byte, []int) {
   311  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{36, 0}
   312  }
   313  
   314  // Configures which glossary should be used for a specific target language,
   315  // and defines options for applying that glossary.
   316  type TranslateTextGlossaryConfig struct {
   317  	state         protoimpl.MessageState
   318  	sizeCache     protoimpl.SizeCache
   319  	unknownFields protoimpl.UnknownFields
   320  
   321  	// Required. Specifies the glossary used for this translation. Use
   322  	// this format: projects/*/locations/*/glossaries/*
   323  	Glossary string `protobuf:"bytes,1,opt,name=glossary,proto3" json:"glossary,omitempty"`
   324  	// Optional. Indicates match is case-insensitive.
   325  	// Default value is false if missing.
   326  	IgnoreCase bool `protobuf:"varint,2,opt,name=ignore_case,json=ignoreCase,proto3" json:"ignore_case,omitempty"`
   327  }
   328  
   329  func (x *TranslateTextGlossaryConfig) Reset() {
   330  	*x = TranslateTextGlossaryConfig{}
   331  	if protoimpl.UnsafeEnabled {
   332  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[0]
   333  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   334  		ms.StoreMessageInfo(mi)
   335  	}
   336  }
   337  
   338  func (x *TranslateTextGlossaryConfig) String() string {
   339  	return protoimpl.X.MessageStringOf(x)
   340  }
   341  
   342  func (*TranslateTextGlossaryConfig) ProtoMessage() {}
   343  
   344  func (x *TranslateTextGlossaryConfig) ProtoReflect() protoreflect.Message {
   345  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[0]
   346  	if protoimpl.UnsafeEnabled && x != nil {
   347  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   348  		if ms.LoadMessageInfo() == nil {
   349  			ms.StoreMessageInfo(mi)
   350  		}
   351  		return ms
   352  	}
   353  	return mi.MessageOf(x)
   354  }
   355  
   356  // Deprecated: Use TranslateTextGlossaryConfig.ProtoReflect.Descriptor instead.
   357  func (*TranslateTextGlossaryConfig) Descriptor() ([]byte, []int) {
   358  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{0}
   359  }
   360  
   361  func (x *TranslateTextGlossaryConfig) GetGlossary() string {
   362  	if x != nil {
   363  		return x.Glossary
   364  	}
   365  	return ""
   366  }
   367  
   368  func (x *TranslateTextGlossaryConfig) GetIgnoreCase() bool {
   369  	if x != nil {
   370  		return x.IgnoreCase
   371  	}
   372  	return false
   373  }
   374  
   375  // The request message for synchronous translation.
   376  type TranslateTextRequest struct {
   377  	state         protoimpl.MessageState
   378  	sizeCache     protoimpl.SizeCache
   379  	unknownFields protoimpl.UnknownFields
   380  
   381  	// Required. The content of the input in string format.
   382  	// We recommend the total content be less than 30k codepoints. The max length
   383  	// of this field is 1024.
   384  	// Use BatchTranslateText for larger text.
   385  	Contents []string `protobuf:"bytes,1,rep,name=contents,proto3" json:"contents,omitempty"`
   386  	// Optional. The format of the source text, for example, "text/html",
   387  	//
   388  	//	"text/plain". If left blank, the MIME type defaults to "text/html".
   389  	MimeType string `protobuf:"bytes,3,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"`
   390  	// Optional. The BCP-47 language code of the input text if
   391  	// known, for example, "en-US" or "sr-Latn". Supported language codes are
   392  	// listed in Language Support. If the source language isn't specified, the API
   393  	// attempts to identify the source language automatically and returns the
   394  	// source language within the response.
   395  	SourceLanguageCode string `protobuf:"bytes,4,opt,name=source_language_code,json=sourceLanguageCode,proto3" json:"source_language_code,omitempty"`
   396  	// Required. The BCP-47 language code to use for translation of the input
   397  	// text, set to one of the language codes listed in Language Support.
   398  	TargetLanguageCode string `protobuf:"bytes,5,opt,name=target_language_code,json=targetLanguageCode,proto3" json:"target_language_code,omitempty"`
   399  	// Required. Project or location to make a call. Must refer to a caller's
   400  	// project.
   401  	//
   402  	// Format: `projects/{project-number-or-id}` or
   403  	// `projects/{project-number-or-id}/locations/{location-id}`.
   404  	//
   405  	// For global calls, use `projects/{project-number-or-id}/locations/global` or
   406  	// `projects/{project-number-or-id}`.
   407  	//
   408  	// Non-global location is required for requests using AutoML models or
   409  	// custom glossaries.
   410  	//
   411  	// Models and glossaries must be within the same region (have same
   412  	// location-id), otherwise an INVALID_ARGUMENT (400) error is returned.
   413  	Parent string `protobuf:"bytes,8,opt,name=parent,proto3" json:"parent,omitempty"`
   414  	// Optional. The `model` type requested for this translation.
   415  	//
   416  	// The format depends on model type:
   417  	//
   418  	//   - AutoML Translation models:
   419  	//     `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}`
   420  	//
   421  	//   - General (built-in) models:
   422  	//     `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`,
   423  	//
   424  	// For global (non-regionalized) requests, use `location-id` `global`.
   425  	// For example,
   426  	// `projects/{project-number-or-id}/locations/global/models/general/nmt`.
   427  	//
   428  	// If not provided, the default Google model (NMT) will be used
   429  	Model string `protobuf:"bytes,6,opt,name=model,proto3" json:"model,omitempty"`
   430  	// Optional. Glossary to be applied. The glossary must be
   431  	// within the same region (have the same location-id) as the model, otherwise
   432  	// an INVALID_ARGUMENT (400) error is returned.
   433  	GlossaryConfig *TranslateTextGlossaryConfig `protobuf:"bytes,7,opt,name=glossary_config,json=glossaryConfig,proto3" json:"glossary_config,omitempty"`
   434  	// Optional. The labels with user-defined metadata for the request.
   435  	//
   436  	// Label keys and values can be no longer than 63 characters
   437  	// (Unicode codepoints), can only contain lowercase letters, numeric
   438  	// characters, underscores and dashes. International characters are allowed.
   439  	// Label values are optional. Label keys must start with a letter.
   440  	//
   441  	// See https://cloud.google.com/translate/docs/labels for more information.
   442  	Labels map[string]string `protobuf:"bytes,10,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   443  }
   444  
   445  func (x *TranslateTextRequest) Reset() {
   446  	*x = TranslateTextRequest{}
   447  	if protoimpl.UnsafeEnabled {
   448  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[1]
   449  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   450  		ms.StoreMessageInfo(mi)
   451  	}
   452  }
   453  
   454  func (x *TranslateTextRequest) String() string {
   455  	return protoimpl.X.MessageStringOf(x)
   456  }
   457  
   458  func (*TranslateTextRequest) ProtoMessage() {}
   459  
   460  func (x *TranslateTextRequest) ProtoReflect() protoreflect.Message {
   461  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[1]
   462  	if protoimpl.UnsafeEnabled && x != nil {
   463  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   464  		if ms.LoadMessageInfo() == nil {
   465  			ms.StoreMessageInfo(mi)
   466  		}
   467  		return ms
   468  	}
   469  	return mi.MessageOf(x)
   470  }
   471  
   472  // Deprecated: Use TranslateTextRequest.ProtoReflect.Descriptor instead.
   473  func (*TranslateTextRequest) Descriptor() ([]byte, []int) {
   474  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{1}
   475  }
   476  
   477  func (x *TranslateTextRequest) GetContents() []string {
   478  	if x != nil {
   479  		return x.Contents
   480  	}
   481  	return nil
   482  }
   483  
   484  func (x *TranslateTextRequest) GetMimeType() string {
   485  	if x != nil {
   486  		return x.MimeType
   487  	}
   488  	return ""
   489  }
   490  
   491  func (x *TranslateTextRequest) GetSourceLanguageCode() string {
   492  	if x != nil {
   493  		return x.SourceLanguageCode
   494  	}
   495  	return ""
   496  }
   497  
   498  func (x *TranslateTextRequest) GetTargetLanguageCode() string {
   499  	if x != nil {
   500  		return x.TargetLanguageCode
   501  	}
   502  	return ""
   503  }
   504  
   505  func (x *TranslateTextRequest) GetParent() string {
   506  	if x != nil {
   507  		return x.Parent
   508  	}
   509  	return ""
   510  }
   511  
   512  func (x *TranslateTextRequest) GetModel() string {
   513  	if x != nil {
   514  		return x.Model
   515  	}
   516  	return ""
   517  }
   518  
   519  func (x *TranslateTextRequest) GetGlossaryConfig() *TranslateTextGlossaryConfig {
   520  	if x != nil {
   521  		return x.GlossaryConfig
   522  	}
   523  	return nil
   524  }
   525  
   526  func (x *TranslateTextRequest) GetLabels() map[string]string {
   527  	if x != nil {
   528  		return x.Labels
   529  	}
   530  	return nil
   531  }
   532  
   533  type TranslateTextResponse struct {
   534  	state         protoimpl.MessageState
   535  	sizeCache     protoimpl.SizeCache
   536  	unknownFields protoimpl.UnknownFields
   537  
   538  	// Text translation responses with no glossary applied.
   539  	// This field has the same length as
   540  	// [`contents`][google.cloud.translation.v3beta1.TranslateTextRequest.contents].
   541  	Translations []*Translation `protobuf:"bytes,1,rep,name=translations,proto3" json:"translations,omitempty"`
   542  	// Text translation responses if a glossary is provided in the request.
   543  	// This can be the same as
   544  	// [`translations`][google.cloud.translation.v3beta1.TranslateTextResponse.translations]
   545  	// if no terms apply. This field has the same length as
   546  	// [`contents`][google.cloud.translation.v3beta1.TranslateTextRequest.contents].
   547  	GlossaryTranslations []*Translation `protobuf:"bytes,3,rep,name=glossary_translations,json=glossaryTranslations,proto3" json:"glossary_translations,omitempty"`
   548  }
   549  
   550  func (x *TranslateTextResponse) Reset() {
   551  	*x = TranslateTextResponse{}
   552  	if protoimpl.UnsafeEnabled {
   553  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[2]
   554  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   555  		ms.StoreMessageInfo(mi)
   556  	}
   557  }
   558  
   559  func (x *TranslateTextResponse) String() string {
   560  	return protoimpl.X.MessageStringOf(x)
   561  }
   562  
   563  func (*TranslateTextResponse) ProtoMessage() {}
   564  
   565  func (x *TranslateTextResponse) ProtoReflect() protoreflect.Message {
   566  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[2]
   567  	if protoimpl.UnsafeEnabled && x != nil {
   568  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   569  		if ms.LoadMessageInfo() == nil {
   570  			ms.StoreMessageInfo(mi)
   571  		}
   572  		return ms
   573  	}
   574  	return mi.MessageOf(x)
   575  }
   576  
   577  // Deprecated: Use TranslateTextResponse.ProtoReflect.Descriptor instead.
   578  func (*TranslateTextResponse) Descriptor() ([]byte, []int) {
   579  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{2}
   580  }
   581  
   582  func (x *TranslateTextResponse) GetTranslations() []*Translation {
   583  	if x != nil {
   584  		return x.Translations
   585  	}
   586  	return nil
   587  }
   588  
   589  func (x *TranslateTextResponse) GetGlossaryTranslations() []*Translation {
   590  	if x != nil {
   591  		return x.GlossaryTranslations
   592  	}
   593  	return nil
   594  }
   595  
   596  // A single translation response.
   597  type Translation struct {
   598  	state         protoimpl.MessageState
   599  	sizeCache     protoimpl.SizeCache
   600  	unknownFields protoimpl.UnknownFields
   601  
   602  	// Text translated into the target language.
   603  	// If an error occurs during translation, this field might be excluded from
   604  	// the response.
   605  	TranslatedText string `protobuf:"bytes,1,opt,name=translated_text,json=translatedText,proto3" json:"translated_text,omitempty"`
   606  	// Only present when `model` is present in the request.
   607  	// `model` here is normalized to have project number.
   608  	//
   609  	// For example:
   610  	// If the `model` requested in TranslationTextRequest is
   611  	// `projects/{project-id}/locations/{location-id}/models/general/nmt` then
   612  	// `model` here would be normalized to
   613  	// `projects/{project-number}/locations/{location-id}/models/general/nmt`.
   614  	Model string `protobuf:"bytes,2,opt,name=model,proto3" json:"model,omitempty"`
   615  	// The BCP-47 language code of source text in the initial request, detected
   616  	// automatically, if no source language was passed within the initial
   617  	// request. If the source language was passed, auto-detection of the language
   618  	// does not occur and this field is empty.
   619  	DetectedLanguageCode string `protobuf:"bytes,4,opt,name=detected_language_code,json=detectedLanguageCode,proto3" json:"detected_language_code,omitempty"`
   620  	// The `glossary_config` used for this translation.
   621  	GlossaryConfig *TranslateTextGlossaryConfig `protobuf:"bytes,3,opt,name=glossary_config,json=glossaryConfig,proto3" json:"glossary_config,omitempty"`
   622  }
   623  
   624  func (x *Translation) Reset() {
   625  	*x = Translation{}
   626  	if protoimpl.UnsafeEnabled {
   627  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[3]
   628  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   629  		ms.StoreMessageInfo(mi)
   630  	}
   631  }
   632  
   633  func (x *Translation) String() string {
   634  	return protoimpl.X.MessageStringOf(x)
   635  }
   636  
   637  func (*Translation) ProtoMessage() {}
   638  
   639  func (x *Translation) ProtoReflect() protoreflect.Message {
   640  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[3]
   641  	if protoimpl.UnsafeEnabled && x != nil {
   642  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   643  		if ms.LoadMessageInfo() == nil {
   644  			ms.StoreMessageInfo(mi)
   645  		}
   646  		return ms
   647  	}
   648  	return mi.MessageOf(x)
   649  }
   650  
   651  // Deprecated: Use Translation.ProtoReflect.Descriptor instead.
   652  func (*Translation) Descriptor() ([]byte, []int) {
   653  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{3}
   654  }
   655  
   656  func (x *Translation) GetTranslatedText() string {
   657  	if x != nil {
   658  		return x.TranslatedText
   659  	}
   660  	return ""
   661  }
   662  
   663  func (x *Translation) GetModel() string {
   664  	if x != nil {
   665  		return x.Model
   666  	}
   667  	return ""
   668  }
   669  
   670  func (x *Translation) GetDetectedLanguageCode() string {
   671  	if x != nil {
   672  		return x.DetectedLanguageCode
   673  	}
   674  	return ""
   675  }
   676  
   677  func (x *Translation) GetGlossaryConfig() *TranslateTextGlossaryConfig {
   678  	if x != nil {
   679  		return x.GlossaryConfig
   680  	}
   681  	return nil
   682  }
   683  
   684  // The request message for language detection.
   685  type DetectLanguageRequest struct {
   686  	state         protoimpl.MessageState
   687  	sizeCache     protoimpl.SizeCache
   688  	unknownFields protoimpl.UnknownFields
   689  
   690  	// Required. Project or location to make a call. Must refer to a caller's
   691  	// project.
   692  	//
   693  	// Format: `projects/{project-number-or-id}/locations/{location-id}` or
   694  	// `projects/{project-number-or-id}`.
   695  	//
   696  	// For global calls, use `projects/{project-number-or-id}/locations/global` or
   697  	// `projects/{project-number-or-id}`.
   698  	//
   699  	// Only models within the same region (has same location-id) can be used.
   700  	// Otherwise an INVALID_ARGUMENT (400) error is returned.
   701  	Parent string `protobuf:"bytes,5,opt,name=parent,proto3" json:"parent,omitempty"`
   702  	// Optional. The language detection model to be used.
   703  	//
   704  	// Format:
   705  	// `projects/{project-number-or-id}/locations/{location-id}/models/language-detection/{model-id}`
   706  	//
   707  	// Only one language detection model is currently supported:
   708  	// `projects/{project-number-or-id}/locations/{location-id}/models/language-detection/default`.
   709  	//
   710  	// If not specified, the default model is used.
   711  	Model string `protobuf:"bytes,4,opt,name=model,proto3" json:"model,omitempty"`
   712  	// Required. The source of the document from which to detect the language.
   713  	//
   714  	// Types that are assignable to Source:
   715  	//
   716  	//	*DetectLanguageRequest_Content
   717  	Source isDetectLanguageRequest_Source `protobuf_oneof:"source"`
   718  	// Optional. The format of the source text, for example, "text/html",
   719  	// "text/plain". If left blank, the MIME type defaults to "text/html".
   720  	MimeType string `protobuf:"bytes,3,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"`
   721  	// Optional. The labels with user-defined metadata for the request.
   722  	//
   723  	// Label keys and values can be no longer than 63 characters
   724  	// (Unicode codepoints), can only contain lowercase letters, numeric
   725  	// characters, underscores and dashes. International characters are allowed.
   726  	// Label values are optional. Label keys must start with a letter.
   727  	//
   728  	// See https://cloud.google.com/translate/docs/labels for more information.
   729  	Labels map[string]string `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   730  }
   731  
   732  func (x *DetectLanguageRequest) Reset() {
   733  	*x = DetectLanguageRequest{}
   734  	if protoimpl.UnsafeEnabled {
   735  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[4]
   736  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   737  		ms.StoreMessageInfo(mi)
   738  	}
   739  }
   740  
   741  func (x *DetectLanguageRequest) String() string {
   742  	return protoimpl.X.MessageStringOf(x)
   743  }
   744  
   745  func (*DetectLanguageRequest) ProtoMessage() {}
   746  
   747  func (x *DetectLanguageRequest) ProtoReflect() protoreflect.Message {
   748  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[4]
   749  	if protoimpl.UnsafeEnabled && x != nil {
   750  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   751  		if ms.LoadMessageInfo() == nil {
   752  			ms.StoreMessageInfo(mi)
   753  		}
   754  		return ms
   755  	}
   756  	return mi.MessageOf(x)
   757  }
   758  
   759  // Deprecated: Use DetectLanguageRequest.ProtoReflect.Descriptor instead.
   760  func (*DetectLanguageRequest) Descriptor() ([]byte, []int) {
   761  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{4}
   762  }
   763  
   764  func (x *DetectLanguageRequest) GetParent() string {
   765  	if x != nil {
   766  		return x.Parent
   767  	}
   768  	return ""
   769  }
   770  
   771  func (x *DetectLanguageRequest) GetModel() string {
   772  	if x != nil {
   773  		return x.Model
   774  	}
   775  	return ""
   776  }
   777  
   778  func (m *DetectLanguageRequest) GetSource() isDetectLanguageRequest_Source {
   779  	if m != nil {
   780  		return m.Source
   781  	}
   782  	return nil
   783  }
   784  
   785  func (x *DetectLanguageRequest) GetContent() string {
   786  	if x, ok := x.GetSource().(*DetectLanguageRequest_Content); ok {
   787  		return x.Content
   788  	}
   789  	return ""
   790  }
   791  
   792  func (x *DetectLanguageRequest) GetMimeType() string {
   793  	if x != nil {
   794  		return x.MimeType
   795  	}
   796  	return ""
   797  }
   798  
   799  func (x *DetectLanguageRequest) GetLabels() map[string]string {
   800  	if x != nil {
   801  		return x.Labels
   802  	}
   803  	return nil
   804  }
   805  
   806  type isDetectLanguageRequest_Source interface {
   807  	isDetectLanguageRequest_Source()
   808  }
   809  
   810  type DetectLanguageRequest_Content struct {
   811  	// The content of the input stored as a string.
   812  	Content string `protobuf:"bytes,1,opt,name=content,proto3,oneof"`
   813  }
   814  
   815  func (*DetectLanguageRequest_Content) isDetectLanguageRequest_Source() {}
   816  
   817  // The response message for language detection.
   818  type DetectedLanguage struct {
   819  	state         protoimpl.MessageState
   820  	sizeCache     protoimpl.SizeCache
   821  	unknownFields protoimpl.UnknownFields
   822  
   823  	// The BCP-47 language code of source content in the request, detected
   824  	// automatically.
   825  	LanguageCode string `protobuf:"bytes,1,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
   826  	// The confidence of the detection result for this language.
   827  	Confidence float32 `protobuf:"fixed32,2,opt,name=confidence,proto3" json:"confidence,omitempty"`
   828  }
   829  
   830  func (x *DetectedLanguage) Reset() {
   831  	*x = DetectedLanguage{}
   832  	if protoimpl.UnsafeEnabled {
   833  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[5]
   834  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   835  		ms.StoreMessageInfo(mi)
   836  	}
   837  }
   838  
   839  func (x *DetectedLanguage) String() string {
   840  	return protoimpl.X.MessageStringOf(x)
   841  }
   842  
   843  func (*DetectedLanguage) ProtoMessage() {}
   844  
   845  func (x *DetectedLanguage) ProtoReflect() protoreflect.Message {
   846  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[5]
   847  	if protoimpl.UnsafeEnabled && x != nil {
   848  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   849  		if ms.LoadMessageInfo() == nil {
   850  			ms.StoreMessageInfo(mi)
   851  		}
   852  		return ms
   853  	}
   854  	return mi.MessageOf(x)
   855  }
   856  
   857  // Deprecated: Use DetectedLanguage.ProtoReflect.Descriptor instead.
   858  func (*DetectedLanguage) Descriptor() ([]byte, []int) {
   859  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{5}
   860  }
   861  
   862  func (x *DetectedLanguage) GetLanguageCode() string {
   863  	if x != nil {
   864  		return x.LanguageCode
   865  	}
   866  	return ""
   867  }
   868  
   869  func (x *DetectedLanguage) GetConfidence() float32 {
   870  	if x != nil {
   871  		return x.Confidence
   872  	}
   873  	return 0
   874  }
   875  
   876  // The response message for language detection.
   877  type DetectLanguageResponse struct {
   878  	state         protoimpl.MessageState
   879  	sizeCache     protoimpl.SizeCache
   880  	unknownFields protoimpl.UnknownFields
   881  
   882  	// A list of detected languages sorted by detection confidence in descending
   883  	// order. The most probable language first.
   884  	Languages []*DetectedLanguage `protobuf:"bytes,1,rep,name=languages,proto3" json:"languages,omitempty"`
   885  }
   886  
   887  func (x *DetectLanguageResponse) Reset() {
   888  	*x = DetectLanguageResponse{}
   889  	if protoimpl.UnsafeEnabled {
   890  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[6]
   891  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   892  		ms.StoreMessageInfo(mi)
   893  	}
   894  }
   895  
   896  func (x *DetectLanguageResponse) String() string {
   897  	return protoimpl.X.MessageStringOf(x)
   898  }
   899  
   900  func (*DetectLanguageResponse) ProtoMessage() {}
   901  
   902  func (x *DetectLanguageResponse) ProtoReflect() protoreflect.Message {
   903  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[6]
   904  	if protoimpl.UnsafeEnabled && x != nil {
   905  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   906  		if ms.LoadMessageInfo() == nil {
   907  			ms.StoreMessageInfo(mi)
   908  		}
   909  		return ms
   910  	}
   911  	return mi.MessageOf(x)
   912  }
   913  
   914  // Deprecated: Use DetectLanguageResponse.ProtoReflect.Descriptor instead.
   915  func (*DetectLanguageResponse) Descriptor() ([]byte, []int) {
   916  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{6}
   917  }
   918  
   919  func (x *DetectLanguageResponse) GetLanguages() []*DetectedLanguage {
   920  	if x != nil {
   921  		return x.Languages
   922  	}
   923  	return nil
   924  }
   925  
   926  // The request message for discovering supported languages.
   927  type GetSupportedLanguagesRequest struct {
   928  	state         protoimpl.MessageState
   929  	sizeCache     protoimpl.SizeCache
   930  	unknownFields protoimpl.UnknownFields
   931  
   932  	// Required. Project or location to make a call. Must refer to a caller's
   933  	// project.
   934  	//
   935  	// Format: `projects/{project-number-or-id}` or
   936  	// `projects/{project-number-or-id}/locations/{location-id}`.
   937  	//
   938  	// For global calls, use `projects/{project-number-or-id}/locations/global` or
   939  	// `projects/{project-number-or-id}`.
   940  	//
   941  	// Non-global location is required for AutoML models.
   942  	//
   943  	// Only models within the same region (have same location-id) can be used,
   944  	// otherwise an INVALID_ARGUMENT (400) error is returned.
   945  	Parent string `protobuf:"bytes,3,opt,name=parent,proto3" json:"parent,omitempty"`
   946  	// Optional. The language to use to return localized, human readable names
   947  	// of supported languages. If missing, then display names are not returned
   948  	// in a response.
   949  	DisplayLanguageCode string `protobuf:"bytes,1,opt,name=display_language_code,json=displayLanguageCode,proto3" json:"display_language_code,omitempty"`
   950  	// Optional. Get supported languages of this model.
   951  	//
   952  	// The format depends on model type:
   953  	//
   954  	//   - AutoML Translation models:
   955  	//     `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}`
   956  	//
   957  	//   - General (built-in) models:
   958  	//     `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`,
   959  	//
   960  	// Returns languages supported by the specified model.
   961  	// If missing, we get supported languages of Google general NMT model.
   962  	Model string `protobuf:"bytes,2,opt,name=model,proto3" json:"model,omitempty"`
   963  }
   964  
   965  func (x *GetSupportedLanguagesRequest) Reset() {
   966  	*x = GetSupportedLanguagesRequest{}
   967  	if protoimpl.UnsafeEnabled {
   968  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[7]
   969  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   970  		ms.StoreMessageInfo(mi)
   971  	}
   972  }
   973  
   974  func (x *GetSupportedLanguagesRequest) String() string {
   975  	return protoimpl.X.MessageStringOf(x)
   976  }
   977  
   978  func (*GetSupportedLanguagesRequest) ProtoMessage() {}
   979  
   980  func (x *GetSupportedLanguagesRequest) ProtoReflect() protoreflect.Message {
   981  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[7]
   982  	if protoimpl.UnsafeEnabled && x != nil {
   983  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   984  		if ms.LoadMessageInfo() == nil {
   985  			ms.StoreMessageInfo(mi)
   986  		}
   987  		return ms
   988  	}
   989  	return mi.MessageOf(x)
   990  }
   991  
   992  // Deprecated: Use GetSupportedLanguagesRequest.ProtoReflect.Descriptor instead.
   993  func (*GetSupportedLanguagesRequest) Descriptor() ([]byte, []int) {
   994  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{7}
   995  }
   996  
   997  func (x *GetSupportedLanguagesRequest) GetParent() string {
   998  	if x != nil {
   999  		return x.Parent
  1000  	}
  1001  	return ""
  1002  }
  1003  
  1004  func (x *GetSupportedLanguagesRequest) GetDisplayLanguageCode() string {
  1005  	if x != nil {
  1006  		return x.DisplayLanguageCode
  1007  	}
  1008  	return ""
  1009  }
  1010  
  1011  func (x *GetSupportedLanguagesRequest) GetModel() string {
  1012  	if x != nil {
  1013  		return x.Model
  1014  	}
  1015  	return ""
  1016  }
  1017  
  1018  // The response message for discovering supported languages.
  1019  type SupportedLanguages struct {
  1020  	state         protoimpl.MessageState
  1021  	sizeCache     protoimpl.SizeCache
  1022  	unknownFields protoimpl.UnknownFields
  1023  
  1024  	// A list of supported language responses. This list contains an entry
  1025  	// for each language the Translation API supports.
  1026  	Languages []*SupportedLanguage `protobuf:"bytes,1,rep,name=languages,proto3" json:"languages,omitempty"`
  1027  }
  1028  
  1029  func (x *SupportedLanguages) Reset() {
  1030  	*x = SupportedLanguages{}
  1031  	if protoimpl.UnsafeEnabled {
  1032  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[8]
  1033  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1034  		ms.StoreMessageInfo(mi)
  1035  	}
  1036  }
  1037  
  1038  func (x *SupportedLanguages) String() string {
  1039  	return protoimpl.X.MessageStringOf(x)
  1040  }
  1041  
  1042  func (*SupportedLanguages) ProtoMessage() {}
  1043  
  1044  func (x *SupportedLanguages) ProtoReflect() protoreflect.Message {
  1045  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[8]
  1046  	if protoimpl.UnsafeEnabled && x != nil {
  1047  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1048  		if ms.LoadMessageInfo() == nil {
  1049  			ms.StoreMessageInfo(mi)
  1050  		}
  1051  		return ms
  1052  	}
  1053  	return mi.MessageOf(x)
  1054  }
  1055  
  1056  // Deprecated: Use SupportedLanguages.ProtoReflect.Descriptor instead.
  1057  func (*SupportedLanguages) Descriptor() ([]byte, []int) {
  1058  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{8}
  1059  }
  1060  
  1061  func (x *SupportedLanguages) GetLanguages() []*SupportedLanguage {
  1062  	if x != nil {
  1063  		return x.Languages
  1064  	}
  1065  	return nil
  1066  }
  1067  
  1068  // A single supported language response corresponds to information related
  1069  // to one supported language.
  1070  type SupportedLanguage struct {
  1071  	state         protoimpl.MessageState
  1072  	sizeCache     protoimpl.SizeCache
  1073  	unknownFields protoimpl.UnknownFields
  1074  
  1075  	// Supported language code, generally consisting of its ISO 639-1
  1076  	// identifier, for example, 'en', 'ja'. In certain cases, BCP-47 codes
  1077  	// including language and region identifiers are returned (for example,
  1078  	// 'zh-TW' and 'zh-CN')
  1079  	LanguageCode string `protobuf:"bytes,1,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
  1080  	// Human readable name of the language localized in the display language
  1081  	// specified in the request.
  1082  	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
  1083  	// Can be used as source language.
  1084  	SupportSource bool `protobuf:"varint,3,opt,name=support_source,json=supportSource,proto3" json:"support_source,omitempty"`
  1085  	// Can be used as target language.
  1086  	SupportTarget bool `protobuf:"varint,4,opt,name=support_target,json=supportTarget,proto3" json:"support_target,omitempty"`
  1087  }
  1088  
  1089  func (x *SupportedLanguage) Reset() {
  1090  	*x = SupportedLanguage{}
  1091  	if protoimpl.UnsafeEnabled {
  1092  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[9]
  1093  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1094  		ms.StoreMessageInfo(mi)
  1095  	}
  1096  }
  1097  
  1098  func (x *SupportedLanguage) String() string {
  1099  	return protoimpl.X.MessageStringOf(x)
  1100  }
  1101  
  1102  func (*SupportedLanguage) ProtoMessage() {}
  1103  
  1104  func (x *SupportedLanguage) ProtoReflect() protoreflect.Message {
  1105  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[9]
  1106  	if protoimpl.UnsafeEnabled && x != nil {
  1107  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1108  		if ms.LoadMessageInfo() == nil {
  1109  			ms.StoreMessageInfo(mi)
  1110  		}
  1111  		return ms
  1112  	}
  1113  	return mi.MessageOf(x)
  1114  }
  1115  
  1116  // Deprecated: Use SupportedLanguage.ProtoReflect.Descriptor instead.
  1117  func (*SupportedLanguage) Descriptor() ([]byte, []int) {
  1118  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{9}
  1119  }
  1120  
  1121  func (x *SupportedLanguage) GetLanguageCode() string {
  1122  	if x != nil {
  1123  		return x.LanguageCode
  1124  	}
  1125  	return ""
  1126  }
  1127  
  1128  func (x *SupportedLanguage) GetDisplayName() string {
  1129  	if x != nil {
  1130  		return x.DisplayName
  1131  	}
  1132  	return ""
  1133  }
  1134  
  1135  func (x *SupportedLanguage) GetSupportSource() bool {
  1136  	if x != nil {
  1137  		return x.SupportSource
  1138  	}
  1139  	return false
  1140  }
  1141  
  1142  func (x *SupportedLanguage) GetSupportTarget() bool {
  1143  	if x != nil {
  1144  		return x.SupportTarget
  1145  	}
  1146  	return false
  1147  }
  1148  
  1149  // The Google Cloud Storage location for the input content.
  1150  type GcsSource struct {
  1151  	state         protoimpl.MessageState
  1152  	sizeCache     protoimpl.SizeCache
  1153  	unknownFields protoimpl.UnknownFields
  1154  
  1155  	// Required. Source data URI. For example, `gs://my_bucket/my_object`.
  1156  	InputUri string `protobuf:"bytes,1,opt,name=input_uri,json=inputUri,proto3" json:"input_uri,omitempty"`
  1157  }
  1158  
  1159  func (x *GcsSource) Reset() {
  1160  	*x = GcsSource{}
  1161  	if protoimpl.UnsafeEnabled {
  1162  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[10]
  1163  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1164  		ms.StoreMessageInfo(mi)
  1165  	}
  1166  }
  1167  
  1168  func (x *GcsSource) String() string {
  1169  	return protoimpl.X.MessageStringOf(x)
  1170  }
  1171  
  1172  func (*GcsSource) ProtoMessage() {}
  1173  
  1174  func (x *GcsSource) ProtoReflect() protoreflect.Message {
  1175  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[10]
  1176  	if protoimpl.UnsafeEnabled && x != nil {
  1177  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1178  		if ms.LoadMessageInfo() == nil {
  1179  			ms.StoreMessageInfo(mi)
  1180  		}
  1181  		return ms
  1182  	}
  1183  	return mi.MessageOf(x)
  1184  }
  1185  
  1186  // Deprecated: Use GcsSource.ProtoReflect.Descriptor instead.
  1187  func (*GcsSource) Descriptor() ([]byte, []int) {
  1188  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{10}
  1189  }
  1190  
  1191  func (x *GcsSource) GetInputUri() string {
  1192  	if x != nil {
  1193  		return x.InputUri
  1194  	}
  1195  	return ""
  1196  }
  1197  
  1198  // Input configuration for BatchTranslateText request.
  1199  type InputConfig struct {
  1200  	state         protoimpl.MessageState
  1201  	sizeCache     protoimpl.SizeCache
  1202  	unknownFields protoimpl.UnknownFields
  1203  
  1204  	// Optional. Can be "text/plain" or "text/html".
  1205  	// For `.tsv`, "text/html" is used if mime_type is missing.
  1206  	// For `.html`, this field must be "text/html" or empty.
  1207  	// For `.txt`, this field must be "text/plain" or empty.
  1208  	MimeType string `protobuf:"bytes,1,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"`
  1209  	// Required. Specify the input.
  1210  	//
  1211  	// Types that are assignable to Source:
  1212  	//
  1213  	//	*InputConfig_GcsSource
  1214  	Source isInputConfig_Source `protobuf_oneof:"source"`
  1215  }
  1216  
  1217  func (x *InputConfig) Reset() {
  1218  	*x = InputConfig{}
  1219  	if protoimpl.UnsafeEnabled {
  1220  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[11]
  1221  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1222  		ms.StoreMessageInfo(mi)
  1223  	}
  1224  }
  1225  
  1226  func (x *InputConfig) String() string {
  1227  	return protoimpl.X.MessageStringOf(x)
  1228  }
  1229  
  1230  func (*InputConfig) ProtoMessage() {}
  1231  
  1232  func (x *InputConfig) ProtoReflect() protoreflect.Message {
  1233  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[11]
  1234  	if protoimpl.UnsafeEnabled && x != nil {
  1235  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1236  		if ms.LoadMessageInfo() == nil {
  1237  			ms.StoreMessageInfo(mi)
  1238  		}
  1239  		return ms
  1240  	}
  1241  	return mi.MessageOf(x)
  1242  }
  1243  
  1244  // Deprecated: Use InputConfig.ProtoReflect.Descriptor instead.
  1245  func (*InputConfig) Descriptor() ([]byte, []int) {
  1246  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{11}
  1247  }
  1248  
  1249  func (x *InputConfig) GetMimeType() string {
  1250  	if x != nil {
  1251  		return x.MimeType
  1252  	}
  1253  	return ""
  1254  }
  1255  
  1256  func (m *InputConfig) GetSource() isInputConfig_Source {
  1257  	if m != nil {
  1258  		return m.Source
  1259  	}
  1260  	return nil
  1261  }
  1262  
  1263  func (x *InputConfig) GetGcsSource() *GcsSource {
  1264  	if x, ok := x.GetSource().(*InputConfig_GcsSource); ok {
  1265  		return x.GcsSource
  1266  	}
  1267  	return nil
  1268  }
  1269  
  1270  type isInputConfig_Source interface {
  1271  	isInputConfig_Source()
  1272  }
  1273  
  1274  type InputConfig_GcsSource struct {
  1275  	// Required. Google Cloud Storage location for the source input.
  1276  	// This can be a single file (for example,
  1277  	// `gs://translation-test/input.tsv`) or a wildcard (for example,
  1278  	// `gs://translation-test/*`). If a file extension is `.tsv`, it can
  1279  	// contain either one or two columns. The first column (optional) is the id
  1280  	// of the text request. If the first column is missing, we use the row
  1281  	// number (0-based) from the input file as the ID in the output file. The
  1282  	// second column is the actual text to be
  1283  	//
  1284  	//	translated. We recommend each row be <= 10K Unicode codepoints,
  1285  	//
  1286  	// otherwise an error might be returned.
  1287  	// Note that the input tsv must be RFC 4180 compliant.
  1288  	//
  1289  	// You could use https://github.com/Clever/csvlint to check potential
  1290  	// formatting errors in your tsv file.
  1291  	// csvlint --delimiter='\t' your_input_file.tsv
  1292  	//
  1293  	// The other supported file extensions are `.txt` or `.html`, which is
  1294  	// treated as a single large chunk of text.
  1295  	GcsSource *GcsSource `protobuf:"bytes,2,opt,name=gcs_source,json=gcsSource,proto3,oneof"`
  1296  }
  1297  
  1298  func (*InputConfig_GcsSource) isInputConfig_Source() {}
  1299  
  1300  // The Google Cloud Storage location for the output content.
  1301  type GcsDestination struct {
  1302  	state         protoimpl.MessageState
  1303  	sizeCache     protoimpl.SizeCache
  1304  	unknownFields protoimpl.UnknownFields
  1305  
  1306  	// Required. There must be no files under 'output_uri_prefix'.
  1307  	// 'output_uri_prefix' must end with "/" and start with "gs://", otherwise an
  1308  	// INVALID_ARGUMENT (400) error is returned.
  1309  	OutputUriPrefix string `protobuf:"bytes,1,opt,name=output_uri_prefix,json=outputUriPrefix,proto3" json:"output_uri_prefix,omitempty"`
  1310  }
  1311  
  1312  func (x *GcsDestination) Reset() {
  1313  	*x = GcsDestination{}
  1314  	if protoimpl.UnsafeEnabled {
  1315  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[12]
  1316  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1317  		ms.StoreMessageInfo(mi)
  1318  	}
  1319  }
  1320  
  1321  func (x *GcsDestination) String() string {
  1322  	return protoimpl.X.MessageStringOf(x)
  1323  }
  1324  
  1325  func (*GcsDestination) ProtoMessage() {}
  1326  
  1327  func (x *GcsDestination) ProtoReflect() protoreflect.Message {
  1328  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[12]
  1329  	if protoimpl.UnsafeEnabled && x != nil {
  1330  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1331  		if ms.LoadMessageInfo() == nil {
  1332  			ms.StoreMessageInfo(mi)
  1333  		}
  1334  		return ms
  1335  	}
  1336  	return mi.MessageOf(x)
  1337  }
  1338  
  1339  // Deprecated: Use GcsDestination.ProtoReflect.Descriptor instead.
  1340  func (*GcsDestination) Descriptor() ([]byte, []int) {
  1341  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{12}
  1342  }
  1343  
  1344  func (x *GcsDestination) GetOutputUriPrefix() string {
  1345  	if x != nil {
  1346  		return x.OutputUriPrefix
  1347  	}
  1348  	return ""
  1349  }
  1350  
  1351  // Output configuration for BatchTranslateText request.
  1352  type OutputConfig struct {
  1353  	state         protoimpl.MessageState
  1354  	sizeCache     protoimpl.SizeCache
  1355  	unknownFields protoimpl.UnknownFields
  1356  
  1357  	// Required. The destination of output.
  1358  	//
  1359  	// Types that are assignable to Destination:
  1360  	//
  1361  	//	*OutputConfig_GcsDestination
  1362  	Destination isOutputConfig_Destination `protobuf_oneof:"destination"`
  1363  }
  1364  
  1365  func (x *OutputConfig) Reset() {
  1366  	*x = OutputConfig{}
  1367  	if protoimpl.UnsafeEnabled {
  1368  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[13]
  1369  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1370  		ms.StoreMessageInfo(mi)
  1371  	}
  1372  }
  1373  
  1374  func (x *OutputConfig) String() string {
  1375  	return protoimpl.X.MessageStringOf(x)
  1376  }
  1377  
  1378  func (*OutputConfig) ProtoMessage() {}
  1379  
  1380  func (x *OutputConfig) ProtoReflect() protoreflect.Message {
  1381  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[13]
  1382  	if protoimpl.UnsafeEnabled && x != nil {
  1383  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1384  		if ms.LoadMessageInfo() == nil {
  1385  			ms.StoreMessageInfo(mi)
  1386  		}
  1387  		return ms
  1388  	}
  1389  	return mi.MessageOf(x)
  1390  }
  1391  
  1392  // Deprecated: Use OutputConfig.ProtoReflect.Descriptor instead.
  1393  func (*OutputConfig) Descriptor() ([]byte, []int) {
  1394  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{13}
  1395  }
  1396  
  1397  func (m *OutputConfig) GetDestination() isOutputConfig_Destination {
  1398  	if m != nil {
  1399  		return m.Destination
  1400  	}
  1401  	return nil
  1402  }
  1403  
  1404  func (x *OutputConfig) GetGcsDestination() *GcsDestination {
  1405  	if x, ok := x.GetDestination().(*OutputConfig_GcsDestination); ok {
  1406  		return x.GcsDestination
  1407  	}
  1408  	return nil
  1409  }
  1410  
  1411  type isOutputConfig_Destination interface {
  1412  	isOutputConfig_Destination()
  1413  }
  1414  
  1415  type OutputConfig_GcsDestination struct {
  1416  	// Google Cloud Storage destination for output content.
  1417  	// For every single input file (for example, gs://a/b/c.[extension]), we
  1418  	// generate at most 2 * n output files. (n is the # of target_language_codes
  1419  	// in the BatchTranslateTextRequest).
  1420  	//
  1421  	// Output files (tsv) generated are compliant with RFC 4180 except that
  1422  	// record delimiters are '\n' instead of '\r\n'. We don't provide any way to
  1423  	// change record delimiters.
  1424  	//
  1425  	// While the input files are being processed, we write/update an index file
  1426  	// 'index.csv'  under 'output_uri_prefix' (for example,
  1427  	// gs://translation-test/index.csv) The index file is generated/updated as
  1428  	// new files are being translated. The format is:
  1429  	//
  1430  	// input_file,target_language_code,translations_file,errors_file,
  1431  	// glossary_translations_file,glossary_errors_file
  1432  	//
  1433  	// input_file is one file we matched using gcs_source.input_uri.
  1434  	// target_language_code is provided in the request.
  1435  	// translations_file contains the translations. (details provided below)
  1436  	// errors_file contains the errors during processing of the file. (details
  1437  	// below). Both translations_file and errors_file could be empty
  1438  	// strings if we have no content to output.
  1439  	// glossary_translations_file and glossary_errors_file are always empty
  1440  	// strings if the input_file is tsv. They could also be empty if we have no
  1441  	// content to output.
  1442  	//
  1443  	// Once a row is present in index.csv, the input/output matching never
  1444  	// changes. Callers should also expect all the content in input_file are
  1445  	// processed and ready to be consumed (that is, no partial output file is
  1446  	// written).
  1447  	//
  1448  	// Since index.csv will be keeping updated during the process, please make
  1449  	// sure there is no custom retention policy applied on the output bucket
  1450  	// that may avoid file updating.
  1451  	// (https://cloud.google.com/storage/docs/bucket-lock?hl=en#retention-policy)
  1452  	//
  1453  	// The format of translations_file (for target language code 'trg') is:
  1454  	// `gs://translation_test/a_b_c_'trg'_translations.[extension]`
  1455  	//
  1456  	// If the input file extension is tsv, the output has the following
  1457  	// columns:
  1458  	// Column 1: ID of the request provided in the input, if it's not
  1459  	// provided in the input, then the input row number is used (0-based).
  1460  	// Column 2: source sentence.
  1461  	// Column 3: translation without applying a glossary. Empty string if there
  1462  	// is an error.
  1463  	// Column 4 (only present if a glossary is provided in the request):
  1464  	// translation after applying the glossary. Empty string if there is an
  1465  	// error applying the glossary. Could be same string as column 3 if there is
  1466  	// no glossary applied.
  1467  	//
  1468  	// If input file extension is a txt or html, the translation is directly
  1469  	// written to the output file. If glossary is requested, a separate
  1470  	// glossary_translations_file has format of
  1471  	// gs://translation_test/a_b_c_'trg'_glossary_translations.[extension]
  1472  	//
  1473  	// The format of errors file (for target language code 'trg') is:
  1474  	// gs://translation_test/a_b_c_'trg'_errors.[extension]
  1475  	//
  1476  	// If the input file extension is tsv, errors_file contains the following:
  1477  	// Column 1: ID of the request provided in the input, if it's not
  1478  	// provided in the input, then the input row number is used (0-based).
  1479  	// Column 2: source sentence.
  1480  	// Column 3: Error detail for the translation. Could be empty.
  1481  	// Column 4 (only present if a glossary is provided in the request):
  1482  	// Error when applying the glossary.
  1483  	//
  1484  	// If the input file extension is txt or html, glossary_error_file will be
  1485  	// generated that contains error details. glossary_error_file has format of
  1486  	// gs://translation_test/a_b_c_'trg'_glossary_errors.[extension]
  1487  	GcsDestination *GcsDestination `protobuf:"bytes,1,opt,name=gcs_destination,json=gcsDestination,proto3,oneof"`
  1488  }
  1489  
  1490  func (*OutputConfig_GcsDestination) isOutputConfig_Destination() {}
  1491  
  1492  // A document translation request input config.
  1493  type DocumentInputConfig struct {
  1494  	state         protoimpl.MessageState
  1495  	sizeCache     protoimpl.SizeCache
  1496  	unknownFields protoimpl.UnknownFields
  1497  
  1498  	// Specifies the source for the document's content.
  1499  	// The input file size should be <= 20MB for
  1500  	// - application/vnd.openxmlformats-officedocument.wordprocessingml.document
  1501  	// - application/vnd.openxmlformats-officedocument.presentationml.presentation
  1502  	// - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
  1503  	// The input file size should be <= 20MB and the maximum page limit is 20 for
  1504  	// - application/pdf
  1505  	//
  1506  	// Types that are assignable to Source:
  1507  	//
  1508  	//	*DocumentInputConfig_Content
  1509  	//	*DocumentInputConfig_GcsSource
  1510  	Source isDocumentInputConfig_Source `protobuf_oneof:"source"`
  1511  	// Specifies the input document's mime_type.
  1512  	//
  1513  	// If not specified it will be determined using the file extension for
  1514  	// gcs_source provided files. For a file provided through bytes content the
  1515  	// mime_type must be provided.
  1516  	// Currently supported mime types are:
  1517  	// - application/pdf
  1518  	// - application/vnd.openxmlformats-officedocument.wordprocessingml.document
  1519  	// - application/vnd.openxmlformats-officedocument.presentationml.presentation
  1520  	// - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
  1521  	MimeType string `protobuf:"bytes,4,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"`
  1522  }
  1523  
  1524  func (x *DocumentInputConfig) Reset() {
  1525  	*x = DocumentInputConfig{}
  1526  	if protoimpl.UnsafeEnabled {
  1527  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[14]
  1528  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1529  		ms.StoreMessageInfo(mi)
  1530  	}
  1531  }
  1532  
  1533  func (x *DocumentInputConfig) String() string {
  1534  	return protoimpl.X.MessageStringOf(x)
  1535  }
  1536  
  1537  func (*DocumentInputConfig) ProtoMessage() {}
  1538  
  1539  func (x *DocumentInputConfig) ProtoReflect() protoreflect.Message {
  1540  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[14]
  1541  	if protoimpl.UnsafeEnabled && x != nil {
  1542  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1543  		if ms.LoadMessageInfo() == nil {
  1544  			ms.StoreMessageInfo(mi)
  1545  		}
  1546  		return ms
  1547  	}
  1548  	return mi.MessageOf(x)
  1549  }
  1550  
  1551  // Deprecated: Use DocumentInputConfig.ProtoReflect.Descriptor instead.
  1552  func (*DocumentInputConfig) Descriptor() ([]byte, []int) {
  1553  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{14}
  1554  }
  1555  
  1556  func (m *DocumentInputConfig) GetSource() isDocumentInputConfig_Source {
  1557  	if m != nil {
  1558  		return m.Source
  1559  	}
  1560  	return nil
  1561  }
  1562  
  1563  func (x *DocumentInputConfig) GetContent() []byte {
  1564  	if x, ok := x.GetSource().(*DocumentInputConfig_Content); ok {
  1565  		return x.Content
  1566  	}
  1567  	return nil
  1568  }
  1569  
  1570  func (x *DocumentInputConfig) GetGcsSource() *GcsSource {
  1571  	if x, ok := x.GetSource().(*DocumentInputConfig_GcsSource); ok {
  1572  		return x.GcsSource
  1573  	}
  1574  	return nil
  1575  }
  1576  
  1577  func (x *DocumentInputConfig) GetMimeType() string {
  1578  	if x != nil {
  1579  		return x.MimeType
  1580  	}
  1581  	return ""
  1582  }
  1583  
  1584  type isDocumentInputConfig_Source interface {
  1585  	isDocumentInputConfig_Source()
  1586  }
  1587  
  1588  type DocumentInputConfig_Content struct {
  1589  	// Document's content represented as a stream of bytes.
  1590  	Content []byte `protobuf:"bytes,1,opt,name=content,proto3,oneof"`
  1591  }
  1592  
  1593  type DocumentInputConfig_GcsSource struct {
  1594  	// Google Cloud Storage location. This must be a single file.
  1595  	// For example: gs://example_bucket/example_file.pdf
  1596  	GcsSource *GcsSource `protobuf:"bytes,2,opt,name=gcs_source,json=gcsSource,proto3,oneof"`
  1597  }
  1598  
  1599  func (*DocumentInputConfig_Content) isDocumentInputConfig_Source() {}
  1600  
  1601  func (*DocumentInputConfig_GcsSource) isDocumentInputConfig_Source() {}
  1602  
  1603  // A document translation request output config.
  1604  type DocumentOutputConfig struct {
  1605  	state         protoimpl.MessageState
  1606  	sizeCache     protoimpl.SizeCache
  1607  	unknownFields protoimpl.UnknownFields
  1608  
  1609  	// A URI destination for the translated document.
  1610  	// It is optional to provide a destination. If provided the results from
  1611  	// TranslateDocument will be stored in the destination.
  1612  	// Whether a destination is provided or not, the translated documents will be
  1613  	// returned within TranslateDocumentResponse.document_translation and
  1614  	// TranslateDocumentResponse.glossary_document_translation.
  1615  	//
  1616  	// Types that are assignable to Destination:
  1617  	//
  1618  	//	*DocumentOutputConfig_GcsDestination
  1619  	Destination isDocumentOutputConfig_Destination `protobuf_oneof:"destination"`
  1620  	// Optional. Specifies the translated document's mime_type.
  1621  	// If not specified, the translated file's mime type will be the same as the
  1622  	// input file's mime type.
  1623  	// Currently only support the output mime type to be the same as input mime
  1624  	// type.
  1625  	// - application/pdf
  1626  	// - application/vnd.openxmlformats-officedocument.wordprocessingml.document
  1627  	// - application/vnd.openxmlformats-officedocument.presentationml.presentation
  1628  	// - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
  1629  	MimeType string `protobuf:"bytes,3,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"`
  1630  }
  1631  
  1632  func (x *DocumentOutputConfig) Reset() {
  1633  	*x = DocumentOutputConfig{}
  1634  	if protoimpl.UnsafeEnabled {
  1635  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[15]
  1636  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1637  		ms.StoreMessageInfo(mi)
  1638  	}
  1639  }
  1640  
  1641  func (x *DocumentOutputConfig) String() string {
  1642  	return protoimpl.X.MessageStringOf(x)
  1643  }
  1644  
  1645  func (*DocumentOutputConfig) ProtoMessage() {}
  1646  
  1647  func (x *DocumentOutputConfig) ProtoReflect() protoreflect.Message {
  1648  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[15]
  1649  	if protoimpl.UnsafeEnabled && x != nil {
  1650  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1651  		if ms.LoadMessageInfo() == nil {
  1652  			ms.StoreMessageInfo(mi)
  1653  		}
  1654  		return ms
  1655  	}
  1656  	return mi.MessageOf(x)
  1657  }
  1658  
  1659  // Deprecated: Use DocumentOutputConfig.ProtoReflect.Descriptor instead.
  1660  func (*DocumentOutputConfig) Descriptor() ([]byte, []int) {
  1661  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{15}
  1662  }
  1663  
  1664  func (m *DocumentOutputConfig) GetDestination() isDocumentOutputConfig_Destination {
  1665  	if m != nil {
  1666  		return m.Destination
  1667  	}
  1668  	return nil
  1669  }
  1670  
  1671  func (x *DocumentOutputConfig) GetGcsDestination() *GcsDestination {
  1672  	if x, ok := x.GetDestination().(*DocumentOutputConfig_GcsDestination); ok {
  1673  		return x.GcsDestination
  1674  	}
  1675  	return nil
  1676  }
  1677  
  1678  func (x *DocumentOutputConfig) GetMimeType() string {
  1679  	if x != nil {
  1680  		return x.MimeType
  1681  	}
  1682  	return ""
  1683  }
  1684  
  1685  type isDocumentOutputConfig_Destination interface {
  1686  	isDocumentOutputConfig_Destination()
  1687  }
  1688  
  1689  type DocumentOutputConfig_GcsDestination struct {
  1690  	// Optional. Google Cloud Storage destination for the translation output,
  1691  	// e.g., `gs://my_bucket/my_directory/`.
  1692  	//
  1693  	// The destination directory provided does not have to be empty, but the
  1694  	// bucket must exist. If a file with the same name as the output file
  1695  	// already exists in the destination an error will be returned.
  1696  	//
  1697  	// For a DocumentInputConfig.contents provided document, the output file
  1698  	// will have the name "output_[trg]_translations.[ext]", where
  1699  	// - [trg] corresponds to the translated file's language code,
  1700  	// - [ext] corresponds to the translated file's extension according to its
  1701  	// mime type.
  1702  	//
  1703  	// For a DocumentInputConfig.gcs_uri provided document, the output file will
  1704  	// have a name according to its URI. For example: an input file with URI:
  1705  	// "gs://a/b/c.[extension]" stored in a gcs_destination bucket with name
  1706  	// "my_bucket" will have an output URI:
  1707  	// "gs://my_bucket/a_b_c_[trg]_translations.[ext]", where
  1708  	// - [trg] corresponds to the translated file's language code,
  1709  	// - [ext] corresponds to the translated file's extension according to its
  1710  	// mime type.
  1711  	//
  1712  	// If the document was directly provided through the request, then the
  1713  	// output document will have the format:
  1714  	// "gs://my_bucket/translated_document_[trg]_translations.[ext], where
  1715  	// - [trg] corresponds to the translated file's language code,
  1716  	// - [ext] corresponds to the translated file's extension according to its
  1717  	// mime type.
  1718  	//
  1719  	// If a glossary was provided, then the output URI for the glossary
  1720  	// translation will be equal to the default output URI but have
  1721  	// `glossary_translations` instead of `translations`. For the previous
  1722  	// example, its glossary URI would be:
  1723  	// "gs://my_bucket/a_b_c_[trg]_glossary_translations.[ext]".
  1724  	//
  1725  	// Thus the max number of output files will be 2 (Translated document,
  1726  	// Glossary translated document).
  1727  	//
  1728  	// Callers should expect no partial outputs. If there is any error during
  1729  	// document translation, no output will be stored in the Cloud Storage
  1730  	// bucket.
  1731  	GcsDestination *GcsDestination `protobuf:"bytes,1,opt,name=gcs_destination,json=gcsDestination,proto3,oneof"`
  1732  }
  1733  
  1734  func (*DocumentOutputConfig_GcsDestination) isDocumentOutputConfig_Destination() {}
  1735  
  1736  // A document translation request.
  1737  type TranslateDocumentRequest struct {
  1738  	state         protoimpl.MessageState
  1739  	sizeCache     protoimpl.SizeCache
  1740  	unknownFields protoimpl.UnknownFields
  1741  
  1742  	// Required. Location to make a regional call.
  1743  	//
  1744  	// Format: `projects/{project-number-or-id}/locations/{location-id}`.
  1745  	//
  1746  	// For global calls, use `projects/{project-number-or-id}/locations/global`.
  1747  	//
  1748  	// Non-global location is required for requests using AutoML models or custom
  1749  	// glossaries.
  1750  	//
  1751  	// Models and glossaries must be within the same region (have the same
  1752  	// location-id), otherwise an INVALID_ARGUMENT (400) error is returned.
  1753  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
  1754  	// Optional. The BCP-47 language code of the input document if known, for
  1755  	// example, "en-US" or "sr-Latn". Supported language codes are listed in
  1756  	// Language Support. If the source language isn't specified, the API attempts
  1757  	// to identify the source language automatically and returns the source
  1758  	// language within the response. Source language must be specified if the
  1759  	// request contains a glossary or a custom model.
  1760  	SourceLanguageCode string `protobuf:"bytes,2,opt,name=source_language_code,json=sourceLanguageCode,proto3" json:"source_language_code,omitempty"`
  1761  	// Required. The BCP-47 language code to use for translation of the input
  1762  	// document, set to one of the language codes listed in Language Support.
  1763  	TargetLanguageCode string `protobuf:"bytes,3,opt,name=target_language_code,json=targetLanguageCode,proto3" json:"target_language_code,omitempty"`
  1764  	// Required. Input configurations.
  1765  	DocumentInputConfig *DocumentInputConfig `protobuf:"bytes,4,opt,name=document_input_config,json=documentInputConfig,proto3" json:"document_input_config,omitempty"`
  1766  	// Optional. Output configurations.
  1767  	// Defines if the output file should be stored within Cloud Storage as well
  1768  	// as the desired output format. If not provided the translated file will
  1769  	// only be returned through a byte-stream and its output mime type will be
  1770  	// the same as the input file's mime type.
  1771  	DocumentOutputConfig *DocumentOutputConfig `protobuf:"bytes,5,opt,name=document_output_config,json=documentOutputConfig,proto3" json:"document_output_config,omitempty"`
  1772  	// Optional. The `model` type requested for this translation.
  1773  	//
  1774  	// The format depends on model type:
  1775  	//
  1776  	//   - AutoML Translation models:
  1777  	//     `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}`
  1778  	//
  1779  	//   - General (built-in) models:
  1780  	//     `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`,
  1781  	//
  1782  	// If not provided, the default Google model (NMT) will be used for
  1783  	// translation.
  1784  	Model string `protobuf:"bytes,6,opt,name=model,proto3" json:"model,omitempty"`
  1785  	// Optional. Glossary to be applied. The glossary must be within the same
  1786  	// region (have the same location-id) as the model, otherwise an
  1787  	// INVALID_ARGUMENT (400) error is returned.
  1788  	GlossaryConfig *TranslateTextGlossaryConfig `protobuf:"bytes,7,opt,name=glossary_config,json=glossaryConfig,proto3" json:"glossary_config,omitempty"`
  1789  	// Optional. The labels with user-defined metadata for the request.
  1790  	//
  1791  	// Label keys and values can be no longer than 63 characters (Unicode
  1792  	// codepoints), can only contain lowercase letters, numeric characters,
  1793  	// underscores and dashes. International characters are allowed. Label values
  1794  	// are optional. Label keys must start with a letter.
  1795  	//
  1796  	// See https://cloud.google.com/translate/docs/advanced/labels for more
  1797  	// information.
  1798  	Labels map[string]string `protobuf:"bytes,8,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  1799  }
  1800  
  1801  func (x *TranslateDocumentRequest) Reset() {
  1802  	*x = TranslateDocumentRequest{}
  1803  	if protoimpl.UnsafeEnabled {
  1804  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[16]
  1805  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1806  		ms.StoreMessageInfo(mi)
  1807  	}
  1808  }
  1809  
  1810  func (x *TranslateDocumentRequest) String() string {
  1811  	return protoimpl.X.MessageStringOf(x)
  1812  }
  1813  
  1814  func (*TranslateDocumentRequest) ProtoMessage() {}
  1815  
  1816  func (x *TranslateDocumentRequest) ProtoReflect() protoreflect.Message {
  1817  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[16]
  1818  	if protoimpl.UnsafeEnabled && x != nil {
  1819  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1820  		if ms.LoadMessageInfo() == nil {
  1821  			ms.StoreMessageInfo(mi)
  1822  		}
  1823  		return ms
  1824  	}
  1825  	return mi.MessageOf(x)
  1826  }
  1827  
  1828  // Deprecated: Use TranslateDocumentRequest.ProtoReflect.Descriptor instead.
  1829  func (*TranslateDocumentRequest) Descriptor() ([]byte, []int) {
  1830  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{16}
  1831  }
  1832  
  1833  func (x *TranslateDocumentRequest) GetParent() string {
  1834  	if x != nil {
  1835  		return x.Parent
  1836  	}
  1837  	return ""
  1838  }
  1839  
  1840  func (x *TranslateDocumentRequest) GetSourceLanguageCode() string {
  1841  	if x != nil {
  1842  		return x.SourceLanguageCode
  1843  	}
  1844  	return ""
  1845  }
  1846  
  1847  func (x *TranslateDocumentRequest) GetTargetLanguageCode() string {
  1848  	if x != nil {
  1849  		return x.TargetLanguageCode
  1850  	}
  1851  	return ""
  1852  }
  1853  
  1854  func (x *TranslateDocumentRequest) GetDocumentInputConfig() *DocumentInputConfig {
  1855  	if x != nil {
  1856  		return x.DocumentInputConfig
  1857  	}
  1858  	return nil
  1859  }
  1860  
  1861  func (x *TranslateDocumentRequest) GetDocumentOutputConfig() *DocumentOutputConfig {
  1862  	if x != nil {
  1863  		return x.DocumentOutputConfig
  1864  	}
  1865  	return nil
  1866  }
  1867  
  1868  func (x *TranslateDocumentRequest) GetModel() string {
  1869  	if x != nil {
  1870  		return x.Model
  1871  	}
  1872  	return ""
  1873  }
  1874  
  1875  func (x *TranslateDocumentRequest) GetGlossaryConfig() *TranslateTextGlossaryConfig {
  1876  	if x != nil {
  1877  		return x.GlossaryConfig
  1878  	}
  1879  	return nil
  1880  }
  1881  
  1882  func (x *TranslateDocumentRequest) GetLabels() map[string]string {
  1883  	if x != nil {
  1884  		return x.Labels
  1885  	}
  1886  	return nil
  1887  }
  1888  
  1889  // A translated document message.
  1890  type DocumentTranslation struct {
  1891  	state         protoimpl.MessageState
  1892  	sizeCache     protoimpl.SizeCache
  1893  	unknownFields protoimpl.UnknownFields
  1894  
  1895  	// The array of translated documents. It is expected to be size 1 for now. We
  1896  	// may produce multiple translated documents in the future for other type of
  1897  	// file formats.
  1898  	ByteStreamOutputs [][]byte `protobuf:"bytes,1,rep,name=byte_stream_outputs,json=byteStreamOutputs,proto3" json:"byte_stream_outputs,omitempty"`
  1899  	// The translated document's mime type.
  1900  	MimeType string `protobuf:"bytes,2,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"`
  1901  	// The detected language for the input document.
  1902  	// If the user did not provide the source language for the input document,
  1903  	// this field will have the language code automatically detected. If the
  1904  	// source language was passed, auto-detection of the language does not occur
  1905  	// and this field is empty.
  1906  	DetectedLanguageCode string `protobuf:"bytes,3,opt,name=detected_language_code,json=detectedLanguageCode,proto3" json:"detected_language_code,omitempty"`
  1907  }
  1908  
  1909  func (x *DocumentTranslation) Reset() {
  1910  	*x = DocumentTranslation{}
  1911  	if protoimpl.UnsafeEnabled {
  1912  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[17]
  1913  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1914  		ms.StoreMessageInfo(mi)
  1915  	}
  1916  }
  1917  
  1918  func (x *DocumentTranslation) String() string {
  1919  	return protoimpl.X.MessageStringOf(x)
  1920  }
  1921  
  1922  func (*DocumentTranslation) ProtoMessage() {}
  1923  
  1924  func (x *DocumentTranslation) ProtoReflect() protoreflect.Message {
  1925  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[17]
  1926  	if protoimpl.UnsafeEnabled && x != nil {
  1927  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1928  		if ms.LoadMessageInfo() == nil {
  1929  			ms.StoreMessageInfo(mi)
  1930  		}
  1931  		return ms
  1932  	}
  1933  	return mi.MessageOf(x)
  1934  }
  1935  
  1936  // Deprecated: Use DocumentTranslation.ProtoReflect.Descriptor instead.
  1937  func (*DocumentTranslation) Descriptor() ([]byte, []int) {
  1938  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{17}
  1939  }
  1940  
  1941  func (x *DocumentTranslation) GetByteStreamOutputs() [][]byte {
  1942  	if x != nil {
  1943  		return x.ByteStreamOutputs
  1944  	}
  1945  	return nil
  1946  }
  1947  
  1948  func (x *DocumentTranslation) GetMimeType() string {
  1949  	if x != nil {
  1950  		return x.MimeType
  1951  	}
  1952  	return ""
  1953  }
  1954  
  1955  func (x *DocumentTranslation) GetDetectedLanguageCode() string {
  1956  	if x != nil {
  1957  		return x.DetectedLanguageCode
  1958  	}
  1959  	return ""
  1960  }
  1961  
  1962  // A translated document response message.
  1963  type TranslateDocumentResponse struct {
  1964  	state         protoimpl.MessageState
  1965  	sizeCache     protoimpl.SizeCache
  1966  	unknownFields protoimpl.UnknownFields
  1967  
  1968  	// Translated document.
  1969  	DocumentTranslation *DocumentTranslation `protobuf:"bytes,1,opt,name=document_translation,json=documentTranslation,proto3" json:"document_translation,omitempty"`
  1970  	// The document's translation output if a glossary is provided in the request.
  1971  	// This can be the same as [TranslateDocumentResponse.document_translation]
  1972  	// if no glossary terms apply.
  1973  	GlossaryDocumentTranslation *DocumentTranslation `protobuf:"bytes,2,opt,name=glossary_document_translation,json=glossaryDocumentTranslation,proto3" json:"glossary_document_translation,omitempty"`
  1974  	// Only present when 'model' is present in the request.
  1975  	// 'model' is normalized to have a project number.
  1976  	//
  1977  	// For example:
  1978  	// If the 'model' field in TranslateDocumentRequest is:
  1979  	// `projects/{project-id}/locations/{location-id}/models/general/nmt` then
  1980  	// `model` here would be normalized to
  1981  	// `projects/{project-number}/locations/{location-id}/models/general/nmt`.
  1982  	Model string `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"`
  1983  	// The `glossary_config` used for this translation.
  1984  	GlossaryConfig *TranslateTextGlossaryConfig `protobuf:"bytes,4,opt,name=glossary_config,json=glossaryConfig,proto3" json:"glossary_config,omitempty"`
  1985  }
  1986  
  1987  func (x *TranslateDocumentResponse) Reset() {
  1988  	*x = TranslateDocumentResponse{}
  1989  	if protoimpl.UnsafeEnabled {
  1990  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[18]
  1991  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1992  		ms.StoreMessageInfo(mi)
  1993  	}
  1994  }
  1995  
  1996  func (x *TranslateDocumentResponse) String() string {
  1997  	return protoimpl.X.MessageStringOf(x)
  1998  }
  1999  
  2000  func (*TranslateDocumentResponse) ProtoMessage() {}
  2001  
  2002  func (x *TranslateDocumentResponse) ProtoReflect() protoreflect.Message {
  2003  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[18]
  2004  	if protoimpl.UnsafeEnabled && x != nil {
  2005  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2006  		if ms.LoadMessageInfo() == nil {
  2007  			ms.StoreMessageInfo(mi)
  2008  		}
  2009  		return ms
  2010  	}
  2011  	return mi.MessageOf(x)
  2012  }
  2013  
  2014  // Deprecated: Use TranslateDocumentResponse.ProtoReflect.Descriptor instead.
  2015  func (*TranslateDocumentResponse) Descriptor() ([]byte, []int) {
  2016  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{18}
  2017  }
  2018  
  2019  func (x *TranslateDocumentResponse) GetDocumentTranslation() *DocumentTranslation {
  2020  	if x != nil {
  2021  		return x.DocumentTranslation
  2022  	}
  2023  	return nil
  2024  }
  2025  
  2026  func (x *TranslateDocumentResponse) GetGlossaryDocumentTranslation() *DocumentTranslation {
  2027  	if x != nil {
  2028  		return x.GlossaryDocumentTranslation
  2029  	}
  2030  	return nil
  2031  }
  2032  
  2033  func (x *TranslateDocumentResponse) GetModel() string {
  2034  	if x != nil {
  2035  		return x.Model
  2036  	}
  2037  	return ""
  2038  }
  2039  
  2040  func (x *TranslateDocumentResponse) GetGlossaryConfig() *TranslateTextGlossaryConfig {
  2041  	if x != nil {
  2042  		return x.GlossaryConfig
  2043  	}
  2044  	return nil
  2045  }
  2046  
  2047  // The batch translation request.
  2048  type BatchTranslateTextRequest struct {
  2049  	state         protoimpl.MessageState
  2050  	sizeCache     protoimpl.SizeCache
  2051  	unknownFields protoimpl.UnknownFields
  2052  
  2053  	// Required. Location to make a call. Must refer to a caller's project.
  2054  	//
  2055  	// Format: `projects/{project-number-or-id}/locations/{location-id}`.
  2056  	//
  2057  	// The `global` location is not supported for batch translation.
  2058  	//
  2059  	// Only AutoML Translation models or glossaries within the same region (have
  2060  	// the same location-id) can be used, otherwise an INVALID_ARGUMENT (400)
  2061  	// error is returned.
  2062  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
  2063  	// Required. Source language code.
  2064  	SourceLanguageCode string `protobuf:"bytes,2,opt,name=source_language_code,json=sourceLanguageCode,proto3" json:"source_language_code,omitempty"`
  2065  	// Required. Specify up to 10 language codes here.
  2066  	TargetLanguageCodes []string `protobuf:"bytes,3,rep,name=target_language_codes,json=targetLanguageCodes,proto3" json:"target_language_codes,omitempty"`
  2067  	// Optional. The models to use for translation. Map's key is target language
  2068  	// code. Map's value is model name. Value can be a built-in general model,
  2069  	// or an AutoML Translation model.
  2070  	//
  2071  	// The value format depends on model type:
  2072  	//
  2073  	//   - AutoML Translation models:
  2074  	//     `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}`
  2075  	//
  2076  	//   - General (built-in) models:
  2077  	//     `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`,
  2078  	//
  2079  	// If the map is empty or a specific model is
  2080  	// not requested for a language pair, then default google model (nmt) is used.
  2081  	Models map[string]string `protobuf:"bytes,4,rep,name=models,proto3" json:"models,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  2082  	// Required. Input configurations.
  2083  	// The total number of files matched should be <= 100.
  2084  	// The total content size should be <= 100M Unicode codepoints.
  2085  	// The files must use UTF-8 encoding.
  2086  	InputConfigs []*InputConfig `protobuf:"bytes,5,rep,name=input_configs,json=inputConfigs,proto3" json:"input_configs,omitempty"`
  2087  	// Required. Output configuration.
  2088  	// If 2 input configs match to the same file (that is, same input path),
  2089  	// we don't generate output for duplicate inputs.
  2090  	OutputConfig *OutputConfig `protobuf:"bytes,6,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"`
  2091  	// Optional. Glossaries to be applied for translation.
  2092  	// It's keyed by target language code.
  2093  	Glossaries map[string]*TranslateTextGlossaryConfig `protobuf:"bytes,7,rep,name=glossaries,proto3" json:"glossaries,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  2094  	// Optional. The labels with user-defined metadata for the request.
  2095  	//
  2096  	// Label keys and values can be no longer than 63 characters
  2097  	// (Unicode codepoints), can only contain lowercase letters, numeric
  2098  	// characters, underscores and dashes. International characters are allowed.
  2099  	// Label values are optional. Label keys must start with a letter.
  2100  	//
  2101  	// See https://cloud.google.com/translate/docs/labels for more information.
  2102  	Labels map[string]string `protobuf:"bytes,9,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  2103  }
  2104  
  2105  func (x *BatchTranslateTextRequest) Reset() {
  2106  	*x = BatchTranslateTextRequest{}
  2107  	if protoimpl.UnsafeEnabled {
  2108  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[19]
  2109  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2110  		ms.StoreMessageInfo(mi)
  2111  	}
  2112  }
  2113  
  2114  func (x *BatchTranslateTextRequest) String() string {
  2115  	return protoimpl.X.MessageStringOf(x)
  2116  }
  2117  
  2118  func (*BatchTranslateTextRequest) ProtoMessage() {}
  2119  
  2120  func (x *BatchTranslateTextRequest) ProtoReflect() protoreflect.Message {
  2121  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[19]
  2122  	if protoimpl.UnsafeEnabled && x != nil {
  2123  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2124  		if ms.LoadMessageInfo() == nil {
  2125  			ms.StoreMessageInfo(mi)
  2126  		}
  2127  		return ms
  2128  	}
  2129  	return mi.MessageOf(x)
  2130  }
  2131  
  2132  // Deprecated: Use BatchTranslateTextRequest.ProtoReflect.Descriptor instead.
  2133  func (*BatchTranslateTextRequest) Descriptor() ([]byte, []int) {
  2134  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{19}
  2135  }
  2136  
  2137  func (x *BatchTranslateTextRequest) GetParent() string {
  2138  	if x != nil {
  2139  		return x.Parent
  2140  	}
  2141  	return ""
  2142  }
  2143  
  2144  func (x *BatchTranslateTextRequest) GetSourceLanguageCode() string {
  2145  	if x != nil {
  2146  		return x.SourceLanguageCode
  2147  	}
  2148  	return ""
  2149  }
  2150  
  2151  func (x *BatchTranslateTextRequest) GetTargetLanguageCodes() []string {
  2152  	if x != nil {
  2153  		return x.TargetLanguageCodes
  2154  	}
  2155  	return nil
  2156  }
  2157  
  2158  func (x *BatchTranslateTextRequest) GetModels() map[string]string {
  2159  	if x != nil {
  2160  		return x.Models
  2161  	}
  2162  	return nil
  2163  }
  2164  
  2165  func (x *BatchTranslateTextRequest) GetInputConfigs() []*InputConfig {
  2166  	if x != nil {
  2167  		return x.InputConfigs
  2168  	}
  2169  	return nil
  2170  }
  2171  
  2172  func (x *BatchTranslateTextRequest) GetOutputConfig() *OutputConfig {
  2173  	if x != nil {
  2174  		return x.OutputConfig
  2175  	}
  2176  	return nil
  2177  }
  2178  
  2179  func (x *BatchTranslateTextRequest) GetGlossaries() map[string]*TranslateTextGlossaryConfig {
  2180  	if x != nil {
  2181  		return x.Glossaries
  2182  	}
  2183  	return nil
  2184  }
  2185  
  2186  func (x *BatchTranslateTextRequest) GetLabels() map[string]string {
  2187  	if x != nil {
  2188  		return x.Labels
  2189  	}
  2190  	return nil
  2191  }
  2192  
  2193  // State metadata for the batch translation operation.
  2194  type BatchTranslateMetadata struct {
  2195  	state         protoimpl.MessageState
  2196  	sizeCache     protoimpl.SizeCache
  2197  	unknownFields protoimpl.UnknownFields
  2198  
  2199  	// The state of the operation.
  2200  	State BatchTranslateMetadata_State `protobuf:"varint,1,opt,name=state,proto3,enum=google.cloud.translation.v3beta1.BatchTranslateMetadata_State" json:"state,omitempty"`
  2201  	// Number of successfully translated characters so far (Unicode codepoints).
  2202  	TranslatedCharacters int64 `protobuf:"varint,2,opt,name=translated_characters,json=translatedCharacters,proto3" json:"translated_characters,omitempty"`
  2203  	// Number of characters that have failed to process so far (Unicode
  2204  	// codepoints).
  2205  	FailedCharacters int64 `protobuf:"varint,3,opt,name=failed_characters,json=failedCharacters,proto3" json:"failed_characters,omitempty"`
  2206  	// Total number of characters (Unicode codepoints).
  2207  	// This is the total number of codepoints from input files times the number of
  2208  	// target languages and appears here shortly after the call is submitted.
  2209  	TotalCharacters int64 `protobuf:"varint,4,opt,name=total_characters,json=totalCharacters,proto3" json:"total_characters,omitempty"`
  2210  	// Time when the operation was submitted.
  2211  	SubmitTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=submit_time,json=submitTime,proto3" json:"submit_time,omitempty"`
  2212  }
  2213  
  2214  func (x *BatchTranslateMetadata) Reset() {
  2215  	*x = BatchTranslateMetadata{}
  2216  	if protoimpl.UnsafeEnabled {
  2217  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[20]
  2218  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2219  		ms.StoreMessageInfo(mi)
  2220  	}
  2221  }
  2222  
  2223  func (x *BatchTranslateMetadata) String() string {
  2224  	return protoimpl.X.MessageStringOf(x)
  2225  }
  2226  
  2227  func (*BatchTranslateMetadata) ProtoMessage() {}
  2228  
  2229  func (x *BatchTranslateMetadata) ProtoReflect() protoreflect.Message {
  2230  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[20]
  2231  	if protoimpl.UnsafeEnabled && x != nil {
  2232  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2233  		if ms.LoadMessageInfo() == nil {
  2234  			ms.StoreMessageInfo(mi)
  2235  		}
  2236  		return ms
  2237  	}
  2238  	return mi.MessageOf(x)
  2239  }
  2240  
  2241  // Deprecated: Use BatchTranslateMetadata.ProtoReflect.Descriptor instead.
  2242  func (*BatchTranslateMetadata) Descriptor() ([]byte, []int) {
  2243  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{20}
  2244  }
  2245  
  2246  func (x *BatchTranslateMetadata) GetState() BatchTranslateMetadata_State {
  2247  	if x != nil {
  2248  		return x.State
  2249  	}
  2250  	return BatchTranslateMetadata_STATE_UNSPECIFIED
  2251  }
  2252  
  2253  func (x *BatchTranslateMetadata) GetTranslatedCharacters() int64 {
  2254  	if x != nil {
  2255  		return x.TranslatedCharacters
  2256  	}
  2257  	return 0
  2258  }
  2259  
  2260  func (x *BatchTranslateMetadata) GetFailedCharacters() int64 {
  2261  	if x != nil {
  2262  		return x.FailedCharacters
  2263  	}
  2264  	return 0
  2265  }
  2266  
  2267  func (x *BatchTranslateMetadata) GetTotalCharacters() int64 {
  2268  	if x != nil {
  2269  		return x.TotalCharacters
  2270  	}
  2271  	return 0
  2272  }
  2273  
  2274  func (x *BatchTranslateMetadata) GetSubmitTime() *timestamppb.Timestamp {
  2275  	if x != nil {
  2276  		return x.SubmitTime
  2277  	}
  2278  	return nil
  2279  }
  2280  
  2281  // Stored in the
  2282  // [google.longrunning.Operation.response][google.longrunning.Operation.response]
  2283  // field returned by BatchTranslateText if at least one sentence is translated
  2284  // successfully.
  2285  type BatchTranslateResponse struct {
  2286  	state         protoimpl.MessageState
  2287  	sizeCache     protoimpl.SizeCache
  2288  	unknownFields protoimpl.UnknownFields
  2289  
  2290  	// Total number of characters (Unicode codepoints).
  2291  	TotalCharacters int64 `protobuf:"varint,1,opt,name=total_characters,json=totalCharacters,proto3" json:"total_characters,omitempty"`
  2292  	// Number of successfully translated characters (Unicode codepoints).
  2293  	TranslatedCharacters int64 `protobuf:"varint,2,opt,name=translated_characters,json=translatedCharacters,proto3" json:"translated_characters,omitempty"`
  2294  	// Number of characters that have failed to process (Unicode codepoints).
  2295  	FailedCharacters int64 `protobuf:"varint,3,opt,name=failed_characters,json=failedCharacters,proto3" json:"failed_characters,omitempty"`
  2296  	// Time when the operation was submitted.
  2297  	SubmitTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=submit_time,json=submitTime,proto3" json:"submit_time,omitempty"`
  2298  	// The time when the operation is finished and
  2299  	// [google.longrunning.Operation.done][google.longrunning.Operation.done] is
  2300  	// set to true.
  2301  	EndTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
  2302  }
  2303  
  2304  func (x *BatchTranslateResponse) Reset() {
  2305  	*x = BatchTranslateResponse{}
  2306  	if protoimpl.UnsafeEnabled {
  2307  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[21]
  2308  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2309  		ms.StoreMessageInfo(mi)
  2310  	}
  2311  }
  2312  
  2313  func (x *BatchTranslateResponse) String() string {
  2314  	return protoimpl.X.MessageStringOf(x)
  2315  }
  2316  
  2317  func (*BatchTranslateResponse) ProtoMessage() {}
  2318  
  2319  func (x *BatchTranslateResponse) ProtoReflect() protoreflect.Message {
  2320  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[21]
  2321  	if protoimpl.UnsafeEnabled && x != nil {
  2322  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2323  		if ms.LoadMessageInfo() == nil {
  2324  			ms.StoreMessageInfo(mi)
  2325  		}
  2326  		return ms
  2327  	}
  2328  	return mi.MessageOf(x)
  2329  }
  2330  
  2331  // Deprecated: Use BatchTranslateResponse.ProtoReflect.Descriptor instead.
  2332  func (*BatchTranslateResponse) Descriptor() ([]byte, []int) {
  2333  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{21}
  2334  }
  2335  
  2336  func (x *BatchTranslateResponse) GetTotalCharacters() int64 {
  2337  	if x != nil {
  2338  		return x.TotalCharacters
  2339  	}
  2340  	return 0
  2341  }
  2342  
  2343  func (x *BatchTranslateResponse) GetTranslatedCharacters() int64 {
  2344  	if x != nil {
  2345  		return x.TranslatedCharacters
  2346  	}
  2347  	return 0
  2348  }
  2349  
  2350  func (x *BatchTranslateResponse) GetFailedCharacters() int64 {
  2351  	if x != nil {
  2352  		return x.FailedCharacters
  2353  	}
  2354  	return 0
  2355  }
  2356  
  2357  func (x *BatchTranslateResponse) GetSubmitTime() *timestamppb.Timestamp {
  2358  	if x != nil {
  2359  		return x.SubmitTime
  2360  	}
  2361  	return nil
  2362  }
  2363  
  2364  func (x *BatchTranslateResponse) GetEndTime() *timestamppb.Timestamp {
  2365  	if x != nil {
  2366  		return x.EndTime
  2367  	}
  2368  	return nil
  2369  }
  2370  
  2371  // Input configuration for glossaries.
  2372  type GlossaryInputConfig struct {
  2373  	state         protoimpl.MessageState
  2374  	sizeCache     protoimpl.SizeCache
  2375  	unknownFields protoimpl.UnknownFields
  2376  
  2377  	// Required. Specify the input.
  2378  	//
  2379  	// Types that are assignable to Source:
  2380  	//
  2381  	//	*GlossaryInputConfig_GcsSource
  2382  	Source isGlossaryInputConfig_Source `protobuf_oneof:"source"`
  2383  }
  2384  
  2385  func (x *GlossaryInputConfig) Reset() {
  2386  	*x = GlossaryInputConfig{}
  2387  	if protoimpl.UnsafeEnabled {
  2388  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[22]
  2389  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2390  		ms.StoreMessageInfo(mi)
  2391  	}
  2392  }
  2393  
  2394  func (x *GlossaryInputConfig) String() string {
  2395  	return protoimpl.X.MessageStringOf(x)
  2396  }
  2397  
  2398  func (*GlossaryInputConfig) ProtoMessage() {}
  2399  
  2400  func (x *GlossaryInputConfig) ProtoReflect() protoreflect.Message {
  2401  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[22]
  2402  	if protoimpl.UnsafeEnabled && x != nil {
  2403  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2404  		if ms.LoadMessageInfo() == nil {
  2405  			ms.StoreMessageInfo(mi)
  2406  		}
  2407  		return ms
  2408  	}
  2409  	return mi.MessageOf(x)
  2410  }
  2411  
  2412  // Deprecated: Use GlossaryInputConfig.ProtoReflect.Descriptor instead.
  2413  func (*GlossaryInputConfig) Descriptor() ([]byte, []int) {
  2414  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{22}
  2415  }
  2416  
  2417  func (m *GlossaryInputConfig) GetSource() isGlossaryInputConfig_Source {
  2418  	if m != nil {
  2419  		return m.Source
  2420  	}
  2421  	return nil
  2422  }
  2423  
  2424  func (x *GlossaryInputConfig) GetGcsSource() *GcsSource {
  2425  	if x, ok := x.GetSource().(*GlossaryInputConfig_GcsSource); ok {
  2426  		return x.GcsSource
  2427  	}
  2428  	return nil
  2429  }
  2430  
  2431  type isGlossaryInputConfig_Source interface {
  2432  	isGlossaryInputConfig_Source()
  2433  }
  2434  
  2435  type GlossaryInputConfig_GcsSource struct {
  2436  	// Required. Google Cloud Storage location of glossary data.
  2437  	// File format is determined based on the filename extension. API returns
  2438  	// [google.rpc.Code.INVALID_ARGUMENT] for unsupported URI-s and file
  2439  	// formats. Wildcards are not allowed. This must be a single file in one of
  2440  	// the following formats:
  2441  	//
  2442  	// For unidirectional glossaries:
  2443  	//
  2444  	//   - TSV/CSV (`.tsv`/`.csv`): 2 column file, tab- or comma-separated.
  2445  	//     The first column is source text. The second column is target text.
  2446  	//     The file must not contain headers. That is, the first row is data, not
  2447  	//     column names.
  2448  	//
  2449  	// - TMX (`.tmx`): TMX file with parallel data defining source/target term
  2450  	// pairs.
  2451  	//
  2452  	// For equivalent term sets glossaries:
  2453  	//
  2454  	//   - CSV (`.csv`): Multi-column CSV file defining equivalent glossary terms
  2455  	//     in multiple languages. The format is defined for Google Translation
  2456  	//     Toolkit and documented in [Use a
  2457  	//     glossary](https://support.google.com/translatortoolkit/answer/6306379?hl=en).
  2458  	GcsSource *GcsSource `protobuf:"bytes,1,opt,name=gcs_source,json=gcsSource,proto3,oneof"`
  2459  }
  2460  
  2461  func (*GlossaryInputConfig_GcsSource) isGlossaryInputConfig_Source() {}
  2462  
  2463  // Represents a glossary built from user provided data.
  2464  type Glossary struct {
  2465  	state         protoimpl.MessageState
  2466  	sizeCache     protoimpl.SizeCache
  2467  	unknownFields protoimpl.UnknownFields
  2468  
  2469  	// Required. The resource name of the glossary. Glossary names have the form
  2470  	// `projects/{project-number-or-id}/locations/{location-id}/glossaries/{glossary-id}`.
  2471  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  2472  	// Languages supported by the glossary.
  2473  	//
  2474  	// Types that are assignable to Languages:
  2475  	//
  2476  	//	*Glossary_LanguagePair
  2477  	//	*Glossary_LanguageCodesSet_
  2478  	Languages isGlossary_Languages `protobuf_oneof:"languages"`
  2479  	// Required. Provides examples to build the glossary from.
  2480  	// Total glossary must not exceed 10M Unicode codepoints.
  2481  	InputConfig *GlossaryInputConfig `protobuf:"bytes,5,opt,name=input_config,json=inputConfig,proto3" json:"input_config,omitempty"`
  2482  	// Output only. The number of entries defined in the glossary.
  2483  	EntryCount int32 `protobuf:"varint,6,opt,name=entry_count,json=entryCount,proto3" json:"entry_count,omitempty"`
  2484  	// Output only. When CreateGlossary was called.
  2485  	SubmitTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=submit_time,json=submitTime,proto3" json:"submit_time,omitempty"`
  2486  	// Output only. When the glossary creation was finished.
  2487  	EndTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
  2488  }
  2489  
  2490  func (x *Glossary) Reset() {
  2491  	*x = Glossary{}
  2492  	if protoimpl.UnsafeEnabled {
  2493  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[23]
  2494  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2495  		ms.StoreMessageInfo(mi)
  2496  	}
  2497  }
  2498  
  2499  func (x *Glossary) String() string {
  2500  	return protoimpl.X.MessageStringOf(x)
  2501  }
  2502  
  2503  func (*Glossary) ProtoMessage() {}
  2504  
  2505  func (x *Glossary) ProtoReflect() protoreflect.Message {
  2506  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[23]
  2507  	if protoimpl.UnsafeEnabled && x != nil {
  2508  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2509  		if ms.LoadMessageInfo() == nil {
  2510  			ms.StoreMessageInfo(mi)
  2511  		}
  2512  		return ms
  2513  	}
  2514  	return mi.MessageOf(x)
  2515  }
  2516  
  2517  // Deprecated: Use Glossary.ProtoReflect.Descriptor instead.
  2518  func (*Glossary) Descriptor() ([]byte, []int) {
  2519  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{23}
  2520  }
  2521  
  2522  func (x *Glossary) GetName() string {
  2523  	if x != nil {
  2524  		return x.Name
  2525  	}
  2526  	return ""
  2527  }
  2528  
  2529  func (m *Glossary) GetLanguages() isGlossary_Languages {
  2530  	if m != nil {
  2531  		return m.Languages
  2532  	}
  2533  	return nil
  2534  }
  2535  
  2536  func (x *Glossary) GetLanguagePair() *Glossary_LanguageCodePair {
  2537  	if x, ok := x.GetLanguages().(*Glossary_LanguagePair); ok {
  2538  		return x.LanguagePair
  2539  	}
  2540  	return nil
  2541  }
  2542  
  2543  func (x *Glossary) GetLanguageCodesSet() *Glossary_LanguageCodesSet {
  2544  	if x, ok := x.GetLanguages().(*Glossary_LanguageCodesSet_); ok {
  2545  		return x.LanguageCodesSet
  2546  	}
  2547  	return nil
  2548  }
  2549  
  2550  func (x *Glossary) GetInputConfig() *GlossaryInputConfig {
  2551  	if x != nil {
  2552  		return x.InputConfig
  2553  	}
  2554  	return nil
  2555  }
  2556  
  2557  func (x *Glossary) GetEntryCount() int32 {
  2558  	if x != nil {
  2559  		return x.EntryCount
  2560  	}
  2561  	return 0
  2562  }
  2563  
  2564  func (x *Glossary) GetSubmitTime() *timestamppb.Timestamp {
  2565  	if x != nil {
  2566  		return x.SubmitTime
  2567  	}
  2568  	return nil
  2569  }
  2570  
  2571  func (x *Glossary) GetEndTime() *timestamppb.Timestamp {
  2572  	if x != nil {
  2573  		return x.EndTime
  2574  	}
  2575  	return nil
  2576  }
  2577  
  2578  type isGlossary_Languages interface {
  2579  	isGlossary_Languages()
  2580  }
  2581  
  2582  type Glossary_LanguagePair struct {
  2583  	// Used with unidirectional glossaries.
  2584  	LanguagePair *Glossary_LanguageCodePair `protobuf:"bytes,3,opt,name=language_pair,json=languagePair,proto3,oneof"`
  2585  }
  2586  
  2587  type Glossary_LanguageCodesSet_ struct {
  2588  	// Used with equivalent term set glossaries.
  2589  	LanguageCodesSet *Glossary_LanguageCodesSet `protobuf:"bytes,4,opt,name=language_codes_set,json=languageCodesSet,proto3,oneof"`
  2590  }
  2591  
  2592  func (*Glossary_LanguagePair) isGlossary_Languages() {}
  2593  
  2594  func (*Glossary_LanguageCodesSet_) isGlossary_Languages() {}
  2595  
  2596  // Request message for CreateGlossary.
  2597  type CreateGlossaryRequest struct {
  2598  	state         protoimpl.MessageState
  2599  	sizeCache     protoimpl.SizeCache
  2600  	unknownFields protoimpl.UnknownFields
  2601  
  2602  	// Required. The project name.
  2603  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
  2604  	// Required. The glossary to create.
  2605  	Glossary *Glossary `protobuf:"bytes,2,opt,name=glossary,proto3" json:"glossary,omitempty"`
  2606  }
  2607  
  2608  func (x *CreateGlossaryRequest) Reset() {
  2609  	*x = CreateGlossaryRequest{}
  2610  	if protoimpl.UnsafeEnabled {
  2611  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[24]
  2612  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2613  		ms.StoreMessageInfo(mi)
  2614  	}
  2615  }
  2616  
  2617  func (x *CreateGlossaryRequest) String() string {
  2618  	return protoimpl.X.MessageStringOf(x)
  2619  }
  2620  
  2621  func (*CreateGlossaryRequest) ProtoMessage() {}
  2622  
  2623  func (x *CreateGlossaryRequest) ProtoReflect() protoreflect.Message {
  2624  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[24]
  2625  	if protoimpl.UnsafeEnabled && x != nil {
  2626  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2627  		if ms.LoadMessageInfo() == nil {
  2628  			ms.StoreMessageInfo(mi)
  2629  		}
  2630  		return ms
  2631  	}
  2632  	return mi.MessageOf(x)
  2633  }
  2634  
  2635  // Deprecated: Use CreateGlossaryRequest.ProtoReflect.Descriptor instead.
  2636  func (*CreateGlossaryRequest) Descriptor() ([]byte, []int) {
  2637  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{24}
  2638  }
  2639  
  2640  func (x *CreateGlossaryRequest) GetParent() string {
  2641  	if x != nil {
  2642  		return x.Parent
  2643  	}
  2644  	return ""
  2645  }
  2646  
  2647  func (x *CreateGlossaryRequest) GetGlossary() *Glossary {
  2648  	if x != nil {
  2649  		return x.Glossary
  2650  	}
  2651  	return nil
  2652  }
  2653  
  2654  // Request message for GetGlossary.
  2655  type GetGlossaryRequest struct {
  2656  	state         protoimpl.MessageState
  2657  	sizeCache     protoimpl.SizeCache
  2658  	unknownFields protoimpl.UnknownFields
  2659  
  2660  	// Required. The name of the glossary to retrieve.
  2661  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  2662  }
  2663  
  2664  func (x *GetGlossaryRequest) Reset() {
  2665  	*x = GetGlossaryRequest{}
  2666  	if protoimpl.UnsafeEnabled {
  2667  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[25]
  2668  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2669  		ms.StoreMessageInfo(mi)
  2670  	}
  2671  }
  2672  
  2673  func (x *GetGlossaryRequest) String() string {
  2674  	return protoimpl.X.MessageStringOf(x)
  2675  }
  2676  
  2677  func (*GetGlossaryRequest) ProtoMessage() {}
  2678  
  2679  func (x *GetGlossaryRequest) ProtoReflect() protoreflect.Message {
  2680  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[25]
  2681  	if protoimpl.UnsafeEnabled && x != nil {
  2682  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2683  		if ms.LoadMessageInfo() == nil {
  2684  			ms.StoreMessageInfo(mi)
  2685  		}
  2686  		return ms
  2687  	}
  2688  	return mi.MessageOf(x)
  2689  }
  2690  
  2691  // Deprecated: Use GetGlossaryRequest.ProtoReflect.Descriptor instead.
  2692  func (*GetGlossaryRequest) Descriptor() ([]byte, []int) {
  2693  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{25}
  2694  }
  2695  
  2696  func (x *GetGlossaryRequest) GetName() string {
  2697  	if x != nil {
  2698  		return x.Name
  2699  	}
  2700  	return ""
  2701  }
  2702  
  2703  // Request message for DeleteGlossary.
  2704  type DeleteGlossaryRequest struct {
  2705  	state         protoimpl.MessageState
  2706  	sizeCache     protoimpl.SizeCache
  2707  	unknownFields protoimpl.UnknownFields
  2708  
  2709  	// Required. The name of the glossary to delete.
  2710  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  2711  }
  2712  
  2713  func (x *DeleteGlossaryRequest) Reset() {
  2714  	*x = DeleteGlossaryRequest{}
  2715  	if protoimpl.UnsafeEnabled {
  2716  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[26]
  2717  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2718  		ms.StoreMessageInfo(mi)
  2719  	}
  2720  }
  2721  
  2722  func (x *DeleteGlossaryRequest) String() string {
  2723  	return protoimpl.X.MessageStringOf(x)
  2724  }
  2725  
  2726  func (*DeleteGlossaryRequest) ProtoMessage() {}
  2727  
  2728  func (x *DeleteGlossaryRequest) ProtoReflect() protoreflect.Message {
  2729  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[26]
  2730  	if protoimpl.UnsafeEnabled && x != nil {
  2731  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2732  		if ms.LoadMessageInfo() == nil {
  2733  			ms.StoreMessageInfo(mi)
  2734  		}
  2735  		return ms
  2736  	}
  2737  	return mi.MessageOf(x)
  2738  }
  2739  
  2740  // Deprecated: Use DeleteGlossaryRequest.ProtoReflect.Descriptor instead.
  2741  func (*DeleteGlossaryRequest) Descriptor() ([]byte, []int) {
  2742  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{26}
  2743  }
  2744  
  2745  func (x *DeleteGlossaryRequest) GetName() string {
  2746  	if x != nil {
  2747  		return x.Name
  2748  	}
  2749  	return ""
  2750  }
  2751  
  2752  // Request message for ListGlossaries.
  2753  type ListGlossariesRequest struct {
  2754  	state         protoimpl.MessageState
  2755  	sizeCache     protoimpl.SizeCache
  2756  	unknownFields protoimpl.UnknownFields
  2757  
  2758  	// Required. The name of the project from which to list all of the glossaries.
  2759  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
  2760  	// Optional. Requested page size. The server may return fewer glossaries than
  2761  	// requested. If unspecified, the server picks an appropriate default.
  2762  	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
  2763  	// Optional. A token identifying a page of results the server should return.
  2764  	// Typically, this is the value of [ListGlossariesResponse.next_page_token]
  2765  	// returned from the previous call to `ListGlossaries` method.
  2766  	// The first page is returned if `page_token`is empty or missing.
  2767  	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
  2768  	// Optional. Filter specifying constraints of a list operation.
  2769  	// Specify the constraint by the format of "key=value", where key must be
  2770  	// "src" or "tgt", and the value must be a valid language code.
  2771  	// For multiple restrictions, concatenate them by "AND" (uppercase only),
  2772  	// such as: "src=en-US AND tgt=zh-CN". Notice that the exact match is used
  2773  	// here, which means using 'en-US' and 'en' can lead to different results,
  2774  	// which depends on the language code you used when you create the glossary.
  2775  	// For the unidirectional glossaries, the "src" and "tgt" add restrictions
  2776  	// on the source and target language code separately.
  2777  	// For the equivalent term set glossaries, the "src" and/or "tgt" add
  2778  	// restrictions on the term set.
  2779  	// For example: "src=en-US AND tgt=zh-CN" will only pick the unidirectional
  2780  	// glossaries which exactly match the source language code as "en-US" and the
  2781  	// target language code "zh-CN", but all equivalent term set glossaries which
  2782  	// contain "en-US" and "zh-CN" in their language set will be picked.
  2783  	// If missing, no filtering is performed.
  2784  	Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
  2785  }
  2786  
  2787  func (x *ListGlossariesRequest) Reset() {
  2788  	*x = ListGlossariesRequest{}
  2789  	if protoimpl.UnsafeEnabled {
  2790  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[27]
  2791  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2792  		ms.StoreMessageInfo(mi)
  2793  	}
  2794  }
  2795  
  2796  func (x *ListGlossariesRequest) String() string {
  2797  	return protoimpl.X.MessageStringOf(x)
  2798  }
  2799  
  2800  func (*ListGlossariesRequest) ProtoMessage() {}
  2801  
  2802  func (x *ListGlossariesRequest) ProtoReflect() protoreflect.Message {
  2803  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[27]
  2804  	if protoimpl.UnsafeEnabled && x != nil {
  2805  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2806  		if ms.LoadMessageInfo() == nil {
  2807  			ms.StoreMessageInfo(mi)
  2808  		}
  2809  		return ms
  2810  	}
  2811  	return mi.MessageOf(x)
  2812  }
  2813  
  2814  // Deprecated: Use ListGlossariesRequest.ProtoReflect.Descriptor instead.
  2815  func (*ListGlossariesRequest) Descriptor() ([]byte, []int) {
  2816  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{27}
  2817  }
  2818  
  2819  func (x *ListGlossariesRequest) GetParent() string {
  2820  	if x != nil {
  2821  		return x.Parent
  2822  	}
  2823  	return ""
  2824  }
  2825  
  2826  func (x *ListGlossariesRequest) GetPageSize() int32 {
  2827  	if x != nil {
  2828  		return x.PageSize
  2829  	}
  2830  	return 0
  2831  }
  2832  
  2833  func (x *ListGlossariesRequest) GetPageToken() string {
  2834  	if x != nil {
  2835  		return x.PageToken
  2836  	}
  2837  	return ""
  2838  }
  2839  
  2840  func (x *ListGlossariesRequest) GetFilter() string {
  2841  	if x != nil {
  2842  		return x.Filter
  2843  	}
  2844  	return ""
  2845  }
  2846  
  2847  // Response message for ListGlossaries.
  2848  type ListGlossariesResponse struct {
  2849  	state         protoimpl.MessageState
  2850  	sizeCache     protoimpl.SizeCache
  2851  	unknownFields protoimpl.UnknownFields
  2852  
  2853  	// The list of glossaries for a project.
  2854  	Glossaries []*Glossary `protobuf:"bytes,1,rep,name=glossaries,proto3" json:"glossaries,omitempty"`
  2855  	// A token to retrieve a page of results. Pass this value in the
  2856  	// [ListGlossariesRequest.page_token] field in the subsequent call to
  2857  	// `ListGlossaries` method to retrieve the next page of results.
  2858  	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
  2859  }
  2860  
  2861  func (x *ListGlossariesResponse) Reset() {
  2862  	*x = ListGlossariesResponse{}
  2863  	if protoimpl.UnsafeEnabled {
  2864  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[28]
  2865  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2866  		ms.StoreMessageInfo(mi)
  2867  	}
  2868  }
  2869  
  2870  func (x *ListGlossariesResponse) String() string {
  2871  	return protoimpl.X.MessageStringOf(x)
  2872  }
  2873  
  2874  func (*ListGlossariesResponse) ProtoMessage() {}
  2875  
  2876  func (x *ListGlossariesResponse) ProtoReflect() protoreflect.Message {
  2877  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[28]
  2878  	if protoimpl.UnsafeEnabled && x != nil {
  2879  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2880  		if ms.LoadMessageInfo() == nil {
  2881  			ms.StoreMessageInfo(mi)
  2882  		}
  2883  		return ms
  2884  	}
  2885  	return mi.MessageOf(x)
  2886  }
  2887  
  2888  // Deprecated: Use ListGlossariesResponse.ProtoReflect.Descriptor instead.
  2889  func (*ListGlossariesResponse) Descriptor() ([]byte, []int) {
  2890  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{28}
  2891  }
  2892  
  2893  func (x *ListGlossariesResponse) GetGlossaries() []*Glossary {
  2894  	if x != nil {
  2895  		return x.Glossaries
  2896  	}
  2897  	return nil
  2898  }
  2899  
  2900  func (x *ListGlossariesResponse) GetNextPageToken() string {
  2901  	if x != nil {
  2902  		return x.NextPageToken
  2903  	}
  2904  	return ""
  2905  }
  2906  
  2907  // Stored in the
  2908  // [google.longrunning.Operation.metadata][google.longrunning.Operation.metadata]
  2909  // field returned by CreateGlossary.
  2910  type CreateGlossaryMetadata struct {
  2911  	state         protoimpl.MessageState
  2912  	sizeCache     protoimpl.SizeCache
  2913  	unknownFields protoimpl.UnknownFields
  2914  
  2915  	// The name of the glossary that is being created.
  2916  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  2917  	// The current state of the glossary creation operation.
  2918  	State CreateGlossaryMetadata_State `protobuf:"varint,2,opt,name=state,proto3,enum=google.cloud.translation.v3beta1.CreateGlossaryMetadata_State" json:"state,omitempty"`
  2919  	// The time when the operation was submitted to the server.
  2920  	SubmitTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=submit_time,json=submitTime,proto3" json:"submit_time,omitempty"`
  2921  }
  2922  
  2923  func (x *CreateGlossaryMetadata) Reset() {
  2924  	*x = CreateGlossaryMetadata{}
  2925  	if protoimpl.UnsafeEnabled {
  2926  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[29]
  2927  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2928  		ms.StoreMessageInfo(mi)
  2929  	}
  2930  }
  2931  
  2932  func (x *CreateGlossaryMetadata) String() string {
  2933  	return protoimpl.X.MessageStringOf(x)
  2934  }
  2935  
  2936  func (*CreateGlossaryMetadata) ProtoMessage() {}
  2937  
  2938  func (x *CreateGlossaryMetadata) ProtoReflect() protoreflect.Message {
  2939  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[29]
  2940  	if protoimpl.UnsafeEnabled && x != nil {
  2941  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2942  		if ms.LoadMessageInfo() == nil {
  2943  			ms.StoreMessageInfo(mi)
  2944  		}
  2945  		return ms
  2946  	}
  2947  	return mi.MessageOf(x)
  2948  }
  2949  
  2950  // Deprecated: Use CreateGlossaryMetadata.ProtoReflect.Descriptor instead.
  2951  func (*CreateGlossaryMetadata) Descriptor() ([]byte, []int) {
  2952  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{29}
  2953  }
  2954  
  2955  func (x *CreateGlossaryMetadata) GetName() string {
  2956  	if x != nil {
  2957  		return x.Name
  2958  	}
  2959  	return ""
  2960  }
  2961  
  2962  func (x *CreateGlossaryMetadata) GetState() CreateGlossaryMetadata_State {
  2963  	if x != nil {
  2964  		return x.State
  2965  	}
  2966  	return CreateGlossaryMetadata_STATE_UNSPECIFIED
  2967  }
  2968  
  2969  func (x *CreateGlossaryMetadata) GetSubmitTime() *timestamppb.Timestamp {
  2970  	if x != nil {
  2971  		return x.SubmitTime
  2972  	}
  2973  	return nil
  2974  }
  2975  
  2976  // Stored in the
  2977  // [google.longrunning.Operation.metadata][google.longrunning.Operation.metadata]
  2978  // field returned by DeleteGlossary.
  2979  type DeleteGlossaryMetadata struct {
  2980  	state         protoimpl.MessageState
  2981  	sizeCache     protoimpl.SizeCache
  2982  	unknownFields protoimpl.UnknownFields
  2983  
  2984  	// The name of the glossary that is being deleted.
  2985  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  2986  	// The current state of the glossary deletion operation.
  2987  	State DeleteGlossaryMetadata_State `protobuf:"varint,2,opt,name=state,proto3,enum=google.cloud.translation.v3beta1.DeleteGlossaryMetadata_State" json:"state,omitempty"`
  2988  	// The time when the operation was submitted to the server.
  2989  	SubmitTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=submit_time,json=submitTime,proto3" json:"submit_time,omitempty"`
  2990  }
  2991  
  2992  func (x *DeleteGlossaryMetadata) Reset() {
  2993  	*x = DeleteGlossaryMetadata{}
  2994  	if protoimpl.UnsafeEnabled {
  2995  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[30]
  2996  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2997  		ms.StoreMessageInfo(mi)
  2998  	}
  2999  }
  3000  
  3001  func (x *DeleteGlossaryMetadata) String() string {
  3002  	return protoimpl.X.MessageStringOf(x)
  3003  }
  3004  
  3005  func (*DeleteGlossaryMetadata) ProtoMessage() {}
  3006  
  3007  func (x *DeleteGlossaryMetadata) ProtoReflect() protoreflect.Message {
  3008  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[30]
  3009  	if protoimpl.UnsafeEnabled && x != nil {
  3010  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3011  		if ms.LoadMessageInfo() == nil {
  3012  			ms.StoreMessageInfo(mi)
  3013  		}
  3014  		return ms
  3015  	}
  3016  	return mi.MessageOf(x)
  3017  }
  3018  
  3019  // Deprecated: Use DeleteGlossaryMetadata.ProtoReflect.Descriptor instead.
  3020  func (*DeleteGlossaryMetadata) Descriptor() ([]byte, []int) {
  3021  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{30}
  3022  }
  3023  
  3024  func (x *DeleteGlossaryMetadata) GetName() string {
  3025  	if x != nil {
  3026  		return x.Name
  3027  	}
  3028  	return ""
  3029  }
  3030  
  3031  func (x *DeleteGlossaryMetadata) GetState() DeleteGlossaryMetadata_State {
  3032  	if x != nil {
  3033  		return x.State
  3034  	}
  3035  	return DeleteGlossaryMetadata_STATE_UNSPECIFIED
  3036  }
  3037  
  3038  func (x *DeleteGlossaryMetadata) GetSubmitTime() *timestamppb.Timestamp {
  3039  	if x != nil {
  3040  		return x.SubmitTime
  3041  	}
  3042  	return nil
  3043  }
  3044  
  3045  // Stored in the
  3046  // [google.longrunning.Operation.response][google.longrunning.Operation.response]
  3047  // field returned by DeleteGlossary.
  3048  type DeleteGlossaryResponse struct {
  3049  	state         protoimpl.MessageState
  3050  	sizeCache     protoimpl.SizeCache
  3051  	unknownFields protoimpl.UnknownFields
  3052  
  3053  	// The name of the deleted glossary.
  3054  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  3055  	// The time when the operation was submitted to the server.
  3056  	SubmitTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=submit_time,json=submitTime,proto3" json:"submit_time,omitempty"`
  3057  	// The time when the glossary deletion is finished and
  3058  	// [google.longrunning.Operation.done][google.longrunning.Operation.done] is
  3059  	// set to true.
  3060  	EndTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
  3061  }
  3062  
  3063  func (x *DeleteGlossaryResponse) Reset() {
  3064  	*x = DeleteGlossaryResponse{}
  3065  	if protoimpl.UnsafeEnabled {
  3066  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[31]
  3067  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3068  		ms.StoreMessageInfo(mi)
  3069  	}
  3070  }
  3071  
  3072  func (x *DeleteGlossaryResponse) String() string {
  3073  	return protoimpl.X.MessageStringOf(x)
  3074  }
  3075  
  3076  func (*DeleteGlossaryResponse) ProtoMessage() {}
  3077  
  3078  func (x *DeleteGlossaryResponse) ProtoReflect() protoreflect.Message {
  3079  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[31]
  3080  	if protoimpl.UnsafeEnabled && x != nil {
  3081  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3082  		if ms.LoadMessageInfo() == nil {
  3083  			ms.StoreMessageInfo(mi)
  3084  		}
  3085  		return ms
  3086  	}
  3087  	return mi.MessageOf(x)
  3088  }
  3089  
  3090  // Deprecated: Use DeleteGlossaryResponse.ProtoReflect.Descriptor instead.
  3091  func (*DeleteGlossaryResponse) Descriptor() ([]byte, []int) {
  3092  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{31}
  3093  }
  3094  
  3095  func (x *DeleteGlossaryResponse) GetName() string {
  3096  	if x != nil {
  3097  		return x.Name
  3098  	}
  3099  	return ""
  3100  }
  3101  
  3102  func (x *DeleteGlossaryResponse) GetSubmitTime() *timestamppb.Timestamp {
  3103  	if x != nil {
  3104  		return x.SubmitTime
  3105  	}
  3106  	return nil
  3107  }
  3108  
  3109  func (x *DeleteGlossaryResponse) GetEndTime() *timestamppb.Timestamp {
  3110  	if x != nil {
  3111  		return x.EndTime
  3112  	}
  3113  	return nil
  3114  }
  3115  
  3116  // The BatchTranslateDocument request.
  3117  type BatchTranslateDocumentRequest struct {
  3118  	state         protoimpl.MessageState
  3119  	sizeCache     protoimpl.SizeCache
  3120  	unknownFields protoimpl.UnknownFields
  3121  
  3122  	// Required. Location to make a regional call.
  3123  	//
  3124  	// Format: `projects/{project-number-or-id}/locations/{location-id}`.
  3125  	//
  3126  	// The `global` location is not supported for batch translation.
  3127  	//
  3128  	// Only AutoML Translation models or glossaries within the same region (have
  3129  	// the same location-id) can be used, otherwise an INVALID_ARGUMENT (400)
  3130  	// error is returned.
  3131  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
  3132  	// Required. The BCP-47 language code of the input document if known, for
  3133  	// example, "en-US" or "sr-Latn". Supported language codes are listed in
  3134  	// Language Support (https://cloud.google.com/translate/docs/languages).
  3135  	SourceLanguageCode string `protobuf:"bytes,2,opt,name=source_language_code,json=sourceLanguageCode,proto3" json:"source_language_code,omitempty"`
  3136  	// Required. The BCP-47 language code to use for translation of the input
  3137  	// document. Specify up to 10 language codes here.
  3138  	TargetLanguageCodes []string `protobuf:"bytes,3,rep,name=target_language_codes,json=targetLanguageCodes,proto3" json:"target_language_codes,omitempty"`
  3139  	// Required. Input configurations.
  3140  	// The total number of files matched should be <= 100.
  3141  	// The total content size to translate should be <= 100M Unicode codepoints.
  3142  	// The files must use UTF-8 encoding.
  3143  	InputConfigs []*BatchDocumentInputConfig `protobuf:"bytes,4,rep,name=input_configs,json=inputConfigs,proto3" json:"input_configs,omitempty"`
  3144  	// Required. Output configuration.
  3145  	// If 2 input configs match to the same file (that is, same input path),
  3146  	// we don't generate output for duplicate inputs.
  3147  	OutputConfig *BatchDocumentOutputConfig `protobuf:"bytes,5,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"`
  3148  	// Optional. The models to use for translation. Map's key is target language
  3149  	// code. Map's value is the model name. Value can be a built-in general model,
  3150  	// or an AutoML Translation model.
  3151  	//
  3152  	// The value format depends on model type:
  3153  	//
  3154  	//   - AutoML Translation models:
  3155  	//     `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}`
  3156  	//
  3157  	//   - General (built-in) models:
  3158  	//     `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`,
  3159  	//
  3160  	// If the map is empty or a specific model is not requested for a language
  3161  	// pair, then default google model (nmt) is used.
  3162  	Models map[string]string `protobuf:"bytes,6,rep,name=models,proto3" json:"models,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  3163  	// Optional. Glossaries to be applied. It's keyed by target language code.
  3164  	Glossaries map[string]*TranslateTextGlossaryConfig `protobuf:"bytes,7,rep,name=glossaries,proto3" json:"glossaries,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  3165  	// Optional. File format conversion map to be applied to all input files.
  3166  	// Map's key is the original mime_type. Map's value is the target mime_type of
  3167  	// translated documents.
  3168  	//
  3169  	// Supported file format conversion includes:
  3170  	//   - `application/pdf` to
  3171  	//     `application/vnd.openxmlformats-officedocument.wordprocessingml.document`
  3172  	//
  3173  	// If nothing specified, output files will be in the same format as the
  3174  	// original file.
  3175  	FormatConversions map[string]string `protobuf:"bytes,8,rep,name=format_conversions,json=formatConversions,proto3" json:"format_conversions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  3176  }
  3177  
  3178  func (x *BatchTranslateDocumentRequest) Reset() {
  3179  	*x = BatchTranslateDocumentRequest{}
  3180  	if protoimpl.UnsafeEnabled {
  3181  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[32]
  3182  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3183  		ms.StoreMessageInfo(mi)
  3184  	}
  3185  }
  3186  
  3187  func (x *BatchTranslateDocumentRequest) String() string {
  3188  	return protoimpl.X.MessageStringOf(x)
  3189  }
  3190  
  3191  func (*BatchTranslateDocumentRequest) ProtoMessage() {}
  3192  
  3193  func (x *BatchTranslateDocumentRequest) ProtoReflect() protoreflect.Message {
  3194  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[32]
  3195  	if protoimpl.UnsafeEnabled && x != nil {
  3196  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3197  		if ms.LoadMessageInfo() == nil {
  3198  			ms.StoreMessageInfo(mi)
  3199  		}
  3200  		return ms
  3201  	}
  3202  	return mi.MessageOf(x)
  3203  }
  3204  
  3205  // Deprecated: Use BatchTranslateDocumentRequest.ProtoReflect.Descriptor instead.
  3206  func (*BatchTranslateDocumentRequest) Descriptor() ([]byte, []int) {
  3207  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{32}
  3208  }
  3209  
  3210  func (x *BatchTranslateDocumentRequest) GetParent() string {
  3211  	if x != nil {
  3212  		return x.Parent
  3213  	}
  3214  	return ""
  3215  }
  3216  
  3217  func (x *BatchTranslateDocumentRequest) GetSourceLanguageCode() string {
  3218  	if x != nil {
  3219  		return x.SourceLanguageCode
  3220  	}
  3221  	return ""
  3222  }
  3223  
  3224  func (x *BatchTranslateDocumentRequest) GetTargetLanguageCodes() []string {
  3225  	if x != nil {
  3226  		return x.TargetLanguageCodes
  3227  	}
  3228  	return nil
  3229  }
  3230  
  3231  func (x *BatchTranslateDocumentRequest) GetInputConfigs() []*BatchDocumentInputConfig {
  3232  	if x != nil {
  3233  		return x.InputConfigs
  3234  	}
  3235  	return nil
  3236  }
  3237  
  3238  func (x *BatchTranslateDocumentRequest) GetOutputConfig() *BatchDocumentOutputConfig {
  3239  	if x != nil {
  3240  		return x.OutputConfig
  3241  	}
  3242  	return nil
  3243  }
  3244  
  3245  func (x *BatchTranslateDocumentRequest) GetModels() map[string]string {
  3246  	if x != nil {
  3247  		return x.Models
  3248  	}
  3249  	return nil
  3250  }
  3251  
  3252  func (x *BatchTranslateDocumentRequest) GetGlossaries() map[string]*TranslateTextGlossaryConfig {
  3253  	if x != nil {
  3254  		return x.Glossaries
  3255  	}
  3256  	return nil
  3257  }
  3258  
  3259  func (x *BatchTranslateDocumentRequest) GetFormatConversions() map[string]string {
  3260  	if x != nil {
  3261  		return x.FormatConversions
  3262  	}
  3263  	return nil
  3264  }
  3265  
  3266  // Input configuration for BatchTranslateDocument request.
  3267  type BatchDocumentInputConfig struct {
  3268  	state         protoimpl.MessageState
  3269  	sizeCache     protoimpl.SizeCache
  3270  	unknownFields protoimpl.UnknownFields
  3271  
  3272  	// Specify the input.
  3273  	//
  3274  	// Types that are assignable to Source:
  3275  	//
  3276  	//	*BatchDocumentInputConfig_GcsSource
  3277  	Source isBatchDocumentInputConfig_Source `protobuf_oneof:"source"`
  3278  }
  3279  
  3280  func (x *BatchDocumentInputConfig) Reset() {
  3281  	*x = BatchDocumentInputConfig{}
  3282  	if protoimpl.UnsafeEnabled {
  3283  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[33]
  3284  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3285  		ms.StoreMessageInfo(mi)
  3286  	}
  3287  }
  3288  
  3289  func (x *BatchDocumentInputConfig) String() string {
  3290  	return protoimpl.X.MessageStringOf(x)
  3291  }
  3292  
  3293  func (*BatchDocumentInputConfig) ProtoMessage() {}
  3294  
  3295  func (x *BatchDocumentInputConfig) ProtoReflect() protoreflect.Message {
  3296  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[33]
  3297  	if protoimpl.UnsafeEnabled && x != nil {
  3298  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3299  		if ms.LoadMessageInfo() == nil {
  3300  			ms.StoreMessageInfo(mi)
  3301  		}
  3302  		return ms
  3303  	}
  3304  	return mi.MessageOf(x)
  3305  }
  3306  
  3307  // Deprecated: Use BatchDocumentInputConfig.ProtoReflect.Descriptor instead.
  3308  func (*BatchDocumentInputConfig) Descriptor() ([]byte, []int) {
  3309  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{33}
  3310  }
  3311  
  3312  func (m *BatchDocumentInputConfig) GetSource() isBatchDocumentInputConfig_Source {
  3313  	if m != nil {
  3314  		return m.Source
  3315  	}
  3316  	return nil
  3317  }
  3318  
  3319  func (x *BatchDocumentInputConfig) GetGcsSource() *GcsSource {
  3320  	if x, ok := x.GetSource().(*BatchDocumentInputConfig_GcsSource); ok {
  3321  		return x.GcsSource
  3322  	}
  3323  	return nil
  3324  }
  3325  
  3326  type isBatchDocumentInputConfig_Source interface {
  3327  	isBatchDocumentInputConfig_Source()
  3328  }
  3329  
  3330  type BatchDocumentInputConfig_GcsSource struct {
  3331  	// Google Cloud Storage location for the source input.
  3332  	// This can be a single file (for example,
  3333  	// `gs://translation-test/input.docx`) or a wildcard (for example,
  3334  	// `gs://translation-test/*`).
  3335  	//
  3336  	// File mime type is determined based on extension. Supported mime type
  3337  	// includes:
  3338  	// - `pdf`, application/pdf
  3339  	// - `docx`,
  3340  	// application/vnd.openxmlformats-officedocument.wordprocessingml.document
  3341  	// - `pptx`,
  3342  	// application/vnd.openxmlformats-officedocument.presentationml.presentation
  3343  	// - `xlsx`,
  3344  	// application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
  3345  	//
  3346  	// The max file size to support for `.docx`, `.pptx` and `.xlsx` is 100MB.
  3347  	// The max file size to support for `.pdf` is 1GB and the max page limit is
  3348  	// 1000 pages.
  3349  	// The max file size to support for all input documents is 1GB.
  3350  	GcsSource *GcsSource `protobuf:"bytes,1,opt,name=gcs_source,json=gcsSource,proto3,oneof"`
  3351  }
  3352  
  3353  func (*BatchDocumentInputConfig_GcsSource) isBatchDocumentInputConfig_Source() {}
  3354  
  3355  // Output configuration for BatchTranslateDocument request.
  3356  type BatchDocumentOutputConfig struct {
  3357  	state         protoimpl.MessageState
  3358  	sizeCache     protoimpl.SizeCache
  3359  	unknownFields protoimpl.UnknownFields
  3360  
  3361  	// The destination of output. The destination directory provided must exist
  3362  	// and be empty.
  3363  	//
  3364  	// Types that are assignable to Destination:
  3365  	//
  3366  	//	*BatchDocumentOutputConfig_GcsDestination
  3367  	Destination isBatchDocumentOutputConfig_Destination `protobuf_oneof:"destination"`
  3368  }
  3369  
  3370  func (x *BatchDocumentOutputConfig) Reset() {
  3371  	*x = BatchDocumentOutputConfig{}
  3372  	if protoimpl.UnsafeEnabled {
  3373  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[34]
  3374  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3375  		ms.StoreMessageInfo(mi)
  3376  	}
  3377  }
  3378  
  3379  func (x *BatchDocumentOutputConfig) String() string {
  3380  	return protoimpl.X.MessageStringOf(x)
  3381  }
  3382  
  3383  func (*BatchDocumentOutputConfig) ProtoMessage() {}
  3384  
  3385  func (x *BatchDocumentOutputConfig) ProtoReflect() protoreflect.Message {
  3386  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[34]
  3387  	if protoimpl.UnsafeEnabled && x != nil {
  3388  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3389  		if ms.LoadMessageInfo() == nil {
  3390  			ms.StoreMessageInfo(mi)
  3391  		}
  3392  		return ms
  3393  	}
  3394  	return mi.MessageOf(x)
  3395  }
  3396  
  3397  // Deprecated: Use BatchDocumentOutputConfig.ProtoReflect.Descriptor instead.
  3398  func (*BatchDocumentOutputConfig) Descriptor() ([]byte, []int) {
  3399  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{34}
  3400  }
  3401  
  3402  func (m *BatchDocumentOutputConfig) GetDestination() isBatchDocumentOutputConfig_Destination {
  3403  	if m != nil {
  3404  		return m.Destination
  3405  	}
  3406  	return nil
  3407  }
  3408  
  3409  func (x *BatchDocumentOutputConfig) GetGcsDestination() *GcsDestination {
  3410  	if x, ok := x.GetDestination().(*BatchDocumentOutputConfig_GcsDestination); ok {
  3411  		return x.GcsDestination
  3412  	}
  3413  	return nil
  3414  }
  3415  
  3416  type isBatchDocumentOutputConfig_Destination interface {
  3417  	isBatchDocumentOutputConfig_Destination()
  3418  }
  3419  
  3420  type BatchDocumentOutputConfig_GcsDestination struct {
  3421  	// Google Cloud Storage destination for output content.
  3422  	// For every single input document (for example, gs://a/b/c.[extension]), we
  3423  	// generate at most 2 * n output files. (n is the # of target_language_codes
  3424  	// in the BatchTranslateDocumentRequest).
  3425  	//
  3426  	// While the input documents are being processed, we write/update an index
  3427  	// file `index.csv` under `gcs_destination.output_uri_prefix` (for example,
  3428  	// gs://translation_output/index.csv) The index file is generated/updated as
  3429  	// new files are being translated. The format is:
  3430  	//
  3431  	// input_document,target_language_code,translation_output,error_output,
  3432  	// glossary_translation_output,glossary_error_output
  3433  	//
  3434  	// `input_document` is one file we matched using gcs_source.input_uri.
  3435  	// `target_language_code` is provided in the request.
  3436  	// `translation_output` contains the translations. (details provided below)
  3437  	// `error_output` contains the error message during processing of the file.
  3438  	// Both translations_file and errors_file could be empty strings if we have
  3439  	// no content to output.
  3440  	// `glossary_translation_output` and `glossary_error_output` are the
  3441  	// translated output/error when we apply glossaries. They could also be
  3442  	// empty if we have no content to output.
  3443  	//
  3444  	// Once a row is present in index.csv, the input/output matching never
  3445  	// changes. Callers should also expect all the content in input_file are
  3446  	// processed and ready to be consumed (that is, no partial output file is
  3447  	// written).
  3448  	//
  3449  	// Since index.csv will be keeping updated during the process, please make
  3450  	// sure there is no custom retention policy applied on the output bucket
  3451  	// that may avoid file updating.
  3452  	// (https://cloud.google.com/storage/docs/bucket-lock?hl=en#retention-policy)
  3453  	//
  3454  	// The naming format of translation output files follows (for target
  3455  	// language code [trg]): `translation_output`:
  3456  	// gs://translation_output/a_b_c_[trg]_translation.[extension]
  3457  	// `glossary_translation_output`:
  3458  	// gs://translation_test/a_b_c_[trg]_glossary_translation.[extension] The
  3459  	// output document will maintain the same file format as the input document.
  3460  	//
  3461  	// The naming format of error output files follows (for target language code
  3462  	// [trg]): `error_output`: gs://translation_test/a_b_c_[trg]_errors.txt
  3463  	// `glossary_error_output`:
  3464  	// gs://translation_test/a_b_c_[trg]_glossary_translation.txt The error
  3465  	// output is a txt file containing error details.
  3466  	GcsDestination *GcsDestination `protobuf:"bytes,1,opt,name=gcs_destination,json=gcsDestination,proto3,oneof"`
  3467  }
  3468  
  3469  func (*BatchDocumentOutputConfig_GcsDestination) isBatchDocumentOutputConfig_Destination() {}
  3470  
  3471  // Stored in the
  3472  // [google.longrunning.Operation.response][google.longrunning.Operation.response]
  3473  // field returned by BatchTranslateDocument if at least one document is
  3474  // translated successfully.
  3475  type BatchTranslateDocumentResponse struct {
  3476  	state         protoimpl.MessageState
  3477  	sizeCache     protoimpl.SizeCache
  3478  	unknownFields protoimpl.UnknownFields
  3479  
  3480  	// Total number of pages to translate in all documents. Documents without
  3481  	// clear page definition (such as XLSX) are not counted.
  3482  	TotalPages int64 `protobuf:"varint,1,opt,name=total_pages,json=totalPages,proto3" json:"total_pages,omitempty"`
  3483  	// Number of successfully translated pages in all documents. Documents without
  3484  	// clear page definition (such as XLSX) are not counted.
  3485  	TranslatedPages int64 `protobuf:"varint,2,opt,name=translated_pages,json=translatedPages,proto3" json:"translated_pages,omitempty"`
  3486  	// Number of pages that failed to process in all documents. Documents without
  3487  	// clear page definition (such as XLSX) are not counted.
  3488  	FailedPages int64 `protobuf:"varint,3,opt,name=failed_pages,json=failedPages,proto3" json:"failed_pages,omitempty"`
  3489  	// Number of billable pages in documents with clear page definition (such as
  3490  	// PDF, DOCX, PPTX)
  3491  	TotalBillablePages int64 `protobuf:"varint,4,opt,name=total_billable_pages,json=totalBillablePages,proto3" json:"total_billable_pages,omitempty"`
  3492  	// Total number of characters (Unicode codepoints) in all documents.
  3493  	TotalCharacters int64 `protobuf:"varint,5,opt,name=total_characters,json=totalCharacters,proto3" json:"total_characters,omitempty"`
  3494  	// Number of successfully translated characters (Unicode codepoints) in all
  3495  	// documents.
  3496  	TranslatedCharacters int64 `protobuf:"varint,6,opt,name=translated_characters,json=translatedCharacters,proto3" json:"translated_characters,omitempty"`
  3497  	// Number of characters that have failed to process (Unicode codepoints) in
  3498  	// all documents.
  3499  	FailedCharacters int64 `protobuf:"varint,7,opt,name=failed_characters,json=failedCharacters,proto3" json:"failed_characters,omitempty"`
  3500  	// Number of billable characters (Unicode codepoints) in documents without
  3501  	// clear page definition, such as XLSX.
  3502  	TotalBillableCharacters int64 `protobuf:"varint,8,opt,name=total_billable_characters,json=totalBillableCharacters,proto3" json:"total_billable_characters,omitempty"`
  3503  	// Time when the operation was submitted.
  3504  	SubmitTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=submit_time,json=submitTime,proto3" json:"submit_time,omitempty"`
  3505  	// The time when the operation is finished and
  3506  	// [google.longrunning.Operation.done][google.longrunning.Operation.done] is
  3507  	// set to true.
  3508  	EndTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
  3509  }
  3510  
  3511  func (x *BatchTranslateDocumentResponse) Reset() {
  3512  	*x = BatchTranslateDocumentResponse{}
  3513  	if protoimpl.UnsafeEnabled {
  3514  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[35]
  3515  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3516  		ms.StoreMessageInfo(mi)
  3517  	}
  3518  }
  3519  
  3520  func (x *BatchTranslateDocumentResponse) String() string {
  3521  	return protoimpl.X.MessageStringOf(x)
  3522  }
  3523  
  3524  func (*BatchTranslateDocumentResponse) ProtoMessage() {}
  3525  
  3526  func (x *BatchTranslateDocumentResponse) ProtoReflect() protoreflect.Message {
  3527  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[35]
  3528  	if protoimpl.UnsafeEnabled && x != nil {
  3529  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3530  		if ms.LoadMessageInfo() == nil {
  3531  			ms.StoreMessageInfo(mi)
  3532  		}
  3533  		return ms
  3534  	}
  3535  	return mi.MessageOf(x)
  3536  }
  3537  
  3538  // Deprecated: Use BatchTranslateDocumentResponse.ProtoReflect.Descriptor instead.
  3539  func (*BatchTranslateDocumentResponse) Descriptor() ([]byte, []int) {
  3540  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{35}
  3541  }
  3542  
  3543  func (x *BatchTranslateDocumentResponse) GetTotalPages() int64 {
  3544  	if x != nil {
  3545  		return x.TotalPages
  3546  	}
  3547  	return 0
  3548  }
  3549  
  3550  func (x *BatchTranslateDocumentResponse) GetTranslatedPages() int64 {
  3551  	if x != nil {
  3552  		return x.TranslatedPages
  3553  	}
  3554  	return 0
  3555  }
  3556  
  3557  func (x *BatchTranslateDocumentResponse) GetFailedPages() int64 {
  3558  	if x != nil {
  3559  		return x.FailedPages
  3560  	}
  3561  	return 0
  3562  }
  3563  
  3564  func (x *BatchTranslateDocumentResponse) GetTotalBillablePages() int64 {
  3565  	if x != nil {
  3566  		return x.TotalBillablePages
  3567  	}
  3568  	return 0
  3569  }
  3570  
  3571  func (x *BatchTranslateDocumentResponse) GetTotalCharacters() int64 {
  3572  	if x != nil {
  3573  		return x.TotalCharacters
  3574  	}
  3575  	return 0
  3576  }
  3577  
  3578  func (x *BatchTranslateDocumentResponse) GetTranslatedCharacters() int64 {
  3579  	if x != nil {
  3580  		return x.TranslatedCharacters
  3581  	}
  3582  	return 0
  3583  }
  3584  
  3585  func (x *BatchTranslateDocumentResponse) GetFailedCharacters() int64 {
  3586  	if x != nil {
  3587  		return x.FailedCharacters
  3588  	}
  3589  	return 0
  3590  }
  3591  
  3592  func (x *BatchTranslateDocumentResponse) GetTotalBillableCharacters() int64 {
  3593  	if x != nil {
  3594  		return x.TotalBillableCharacters
  3595  	}
  3596  	return 0
  3597  }
  3598  
  3599  func (x *BatchTranslateDocumentResponse) GetSubmitTime() *timestamppb.Timestamp {
  3600  	if x != nil {
  3601  		return x.SubmitTime
  3602  	}
  3603  	return nil
  3604  }
  3605  
  3606  func (x *BatchTranslateDocumentResponse) GetEndTime() *timestamppb.Timestamp {
  3607  	if x != nil {
  3608  		return x.EndTime
  3609  	}
  3610  	return nil
  3611  }
  3612  
  3613  // State metadata for the batch translation operation.
  3614  type BatchTranslateDocumentMetadata struct {
  3615  	state         protoimpl.MessageState
  3616  	sizeCache     protoimpl.SizeCache
  3617  	unknownFields protoimpl.UnknownFields
  3618  
  3619  	// The state of the operation.
  3620  	State BatchTranslateDocumentMetadata_State `protobuf:"varint,1,opt,name=state,proto3,enum=google.cloud.translation.v3beta1.BatchTranslateDocumentMetadata_State" json:"state,omitempty"`
  3621  	// Total number of pages to translate in all documents so far. Documents
  3622  	// without clear page definition (such as XLSX) are not counted.
  3623  	TotalPages int64 `protobuf:"varint,2,opt,name=total_pages,json=totalPages,proto3" json:"total_pages,omitempty"`
  3624  	// Number of successfully translated pages in all documents so far. Documents
  3625  	// without clear page definition (such as XLSX) are not counted.
  3626  	TranslatedPages int64 `protobuf:"varint,3,opt,name=translated_pages,json=translatedPages,proto3" json:"translated_pages,omitempty"`
  3627  	// Number of pages that failed to process in all documents so far. Documents
  3628  	// without clear page definition (such as XLSX) are not counted.
  3629  	FailedPages int64 `protobuf:"varint,4,opt,name=failed_pages,json=failedPages,proto3" json:"failed_pages,omitempty"`
  3630  	// Number of billable pages in documents with clear page definition (such as
  3631  	// PDF, DOCX, PPTX) so far.
  3632  	TotalBillablePages int64 `protobuf:"varint,5,opt,name=total_billable_pages,json=totalBillablePages,proto3" json:"total_billable_pages,omitempty"`
  3633  	// Total number of characters (Unicode codepoints) in all documents so far.
  3634  	TotalCharacters int64 `protobuf:"varint,6,opt,name=total_characters,json=totalCharacters,proto3" json:"total_characters,omitempty"`
  3635  	// Number of successfully translated characters (Unicode codepoints) in all
  3636  	// documents so far.
  3637  	TranslatedCharacters int64 `protobuf:"varint,7,opt,name=translated_characters,json=translatedCharacters,proto3" json:"translated_characters,omitempty"`
  3638  	// Number of characters that have failed to process (Unicode codepoints) in
  3639  	// all documents so far.
  3640  	FailedCharacters int64 `protobuf:"varint,8,opt,name=failed_characters,json=failedCharacters,proto3" json:"failed_characters,omitempty"`
  3641  	// Number of billable characters (Unicode codepoints) in documents without
  3642  	// clear page definition (such as XLSX) so far.
  3643  	TotalBillableCharacters int64 `protobuf:"varint,9,opt,name=total_billable_characters,json=totalBillableCharacters,proto3" json:"total_billable_characters,omitempty"`
  3644  	// Time when the operation was submitted.
  3645  	SubmitTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=submit_time,json=submitTime,proto3" json:"submit_time,omitempty"`
  3646  }
  3647  
  3648  func (x *BatchTranslateDocumentMetadata) Reset() {
  3649  	*x = BatchTranslateDocumentMetadata{}
  3650  	if protoimpl.UnsafeEnabled {
  3651  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[36]
  3652  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3653  		ms.StoreMessageInfo(mi)
  3654  	}
  3655  }
  3656  
  3657  func (x *BatchTranslateDocumentMetadata) String() string {
  3658  	return protoimpl.X.MessageStringOf(x)
  3659  }
  3660  
  3661  func (*BatchTranslateDocumentMetadata) ProtoMessage() {}
  3662  
  3663  func (x *BatchTranslateDocumentMetadata) ProtoReflect() protoreflect.Message {
  3664  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[36]
  3665  	if protoimpl.UnsafeEnabled && x != nil {
  3666  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3667  		if ms.LoadMessageInfo() == nil {
  3668  			ms.StoreMessageInfo(mi)
  3669  		}
  3670  		return ms
  3671  	}
  3672  	return mi.MessageOf(x)
  3673  }
  3674  
  3675  // Deprecated: Use BatchTranslateDocumentMetadata.ProtoReflect.Descriptor instead.
  3676  func (*BatchTranslateDocumentMetadata) Descriptor() ([]byte, []int) {
  3677  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{36}
  3678  }
  3679  
  3680  func (x *BatchTranslateDocumentMetadata) GetState() BatchTranslateDocumentMetadata_State {
  3681  	if x != nil {
  3682  		return x.State
  3683  	}
  3684  	return BatchTranslateDocumentMetadata_STATE_UNSPECIFIED
  3685  }
  3686  
  3687  func (x *BatchTranslateDocumentMetadata) GetTotalPages() int64 {
  3688  	if x != nil {
  3689  		return x.TotalPages
  3690  	}
  3691  	return 0
  3692  }
  3693  
  3694  func (x *BatchTranslateDocumentMetadata) GetTranslatedPages() int64 {
  3695  	if x != nil {
  3696  		return x.TranslatedPages
  3697  	}
  3698  	return 0
  3699  }
  3700  
  3701  func (x *BatchTranslateDocumentMetadata) GetFailedPages() int64 {
  3702  	if x != nil {
  3703  		return x.FailedPages
  3704  	}
  3705  	return 0
  3706  }
  3707  
  3708  func (x *BatchTranslateDocumentMetadata) GetTotalBillablePages() int64 {
  3709  	if x != nil {
  3710  		return x.TotalBillablePages
  3711  	}
  3712  	return 0
  3713  }
  3714  
  3715  func (x *BatchTranslateDocumentMetadata) GetTotalCharacters() int64 {
  3716  	if x != nil {
  3717  		return x.TotalCharacters
  3718  	}
  3719  	return 0
  3720  }
  3721  
  3722  func (x *BatchTranslateDocumentMetadata) GetTranslatedCharacters() int64 {
  3723  	if x != nil {
  3724  		return x.TranslatedCharacters
  3725  	}
  3726  	return 0
  3727  }
  3728  
  3729  func (x *BatchTranslateDocumentMetadata) GetFailedCharacters() int64 {
  3730  	if x != nil {
  3731  		return x.FailedCharacters
  3732  	}
  3733  	return 0
  3734  }
  3735  
  3736  func (x *BatchTranslateDocumentMetadata) GetTotalBillableCharacters() int64 {
  3737  	if x != nil {
  3738  		return x.TotalBillableCharacters
  3739  	}
  3740  	return 0
  3741  }
  3742  
  3743  func (x *BatchTranslateDocumentMetadata) GetSubmitTime() *timestamppb.Timestamp {
  3744  	if x != nil {
  3745  		return x.SubmitTime
  3746  	}
  3747  	return nil
  3748  }
  3749  
  3750  // Used with unidirectional glossaries.
  3751  type Glossary_LanguageCodePair struct {
  3752  	state         protoimpl.MessageState
  3753  	sizeCache     protoimpl.SizeCache
  3754  	unknownFields protoimpl.UnknownFields
  3755  
  3756  	// Required. The BCP-47 language code of the input text, for example,
  3757  	// "en-US". Expected to be an exact match for GlossaryTerm.language_code.
  3758  	SourceLanguageCode string `protobuf:"bytes,1,opt,name=source_language_code,json=sourceLanguageCode,proto3" json:"source_language_code,omitempty"`
  3759  	// Required. The BCP-47 language code for translation output, for example,
  3760  	// "zh-CN". Expected to be an exact match for GlossaryTerm.language_code.
  3761  	TargetLanguageCode string `protobuf:"bytes,2,opt,name=target_language_code,json=targetLanguageCode,proto3" json:"target_language_code,omitempty"`
  3762  }
  3763  
  3764  func (x *Glossary_LanguageCodePair) Reset() {
  3765  	*x = Glossary_LanguageCodePair{}
  3766  	if protoimpl.UnsafeEnabled {
  3767  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[43]
  3768  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3769  		ms.StoreMessageInfo(mi)
  3770  	}
  3771  }
  3772  
  3773  func (x *Glossary_LanguageCodePair) String() string {
  3774  	return protoimpl.X.MessageStringOf(x)
  3775  }
  3776  
  3777  func (*Glossary_LanguageCodePair) ProtoMessage() {}
  3778  
  3779  func (x *Glossary_LanguageCodePair) ProtoReflect() protoreflect.Message {
  3780  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[43]
  3781  	if protoimpl.UnsafeEnabled && x != nil {
  3782  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3783  		if ms.LoadMessageInfo() == nil {
  3784  			ms.StoreMessageInfo(mi)
  3785  		}
  3786  		return ms
  3787  	}
  3788  	return mi.MessageOf(x)
  3789  }
  3790  
  3791  // Deprecated: Use Glossary_LanguageCodePair.ProtoReflect.Descriptor instead.
  3792  func (*Glossary_LanguageCodePair) Descriptor() ([]byte, []int) {
  3793  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{23, 0}
  3794  }
  3795  
  3796  func (x *Glossary_LanguageCodePair) GetSourceLanguageCode() string {
  3797  	if x != nil {
  3798  		return x.SourceLanguageCode
  3799  	}
  3800  	return ""
  3801  }
  3802  
  3803  func (x *Glossary_LanguageCodePair) GetTargetLanguageCode() string {
  3804  	if x != nil {
  3805  		return x.TargetLanguageCode
  3806  	}
  3807  	return ""
  3808  }
  3809  
  3810  // Used with equivalent term set glossaries.
  3811  type Glossary_LanguageCodesSet struct {
  3812  	state         protoimpl.MessageState
  3813  	sizeCache     protoimpl.SizeCache
  3814  	unknownFields protoimpl.UnknownFields
  3815  
  3816  	// The BCP-47 language code(s) for terms defined in the glossary.
  3817  	// All entries are unique. The list contains at least two entries.
  3818  	// Expected to be an exact match for GlossaryTerm.language_code.
  3819  	LanguageCodes []string `protobuf:"bytes,1,rep,name=language_codes,json=languageCodes,proto3" json:"language_codes,omitempty"`
  3820  }
  3821  
  3822  func (x *Glossary_LanguageCodesSet) Reset() {
  3823  	*x = Glossary_LanguageCodesSet{}
  3824  	if protoimpl.UnsafeEnabled {
  3825  		mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[44]
  3826  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3827  		ms.StoreMessageInfo(mi)
  3828  	}
  3829  }
  3830  
  3831  func (x *Glossary_LanguageCodesSet) String() string {
  3832  	return protoimpl.X.MessageStringOf(x)
  3833  }
  3834  
  3835  func (*Glossary_LanguageCodesSet) ProtoMessage() {}
  3836  
  3837  func (x *Glossary_LanguageCodesSet) ProtoReflect() protoreflect.Message {
  3838  	mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[44]
  3839  	if protoimpl.UnsafeEnabled && x != nil {
  3840  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3841  		if ms.LoadMessageInfo() == nil {
  3842  			ms.StoreMessageInfo(mi)
  3843  		}
  3844  		return ms
  3845  	}
  3846  	return mi.MessageOf(x)
  3847  }
  3848  
  3849  // Deprecated: Use Glossary_LanguageCodesSet.ProtoReflect.Descriptor instead.
  3850  func (*Glossary_LanguageCodesSet) Descriptor() ([]byte, []int) {
  3851  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{23, 1}
  3852  }
  3853  
  3854  func (x *Glossary_LanguageCodesSet) GetLanguageCodes() []string {
  3855  	if x != nil {
  3856  		return x.LanguageCodes
  3857  	}
  3858  	return nil
  3859  }
  3860  
  3861  var File_google_cloud_translate_v3beta1_translation_service_proto protoreflect.FileDescriptor
  3862  
  3863  var file_google_cloud_translate_v3beta1_translation_service_proto_rawDesc = []byte{
  3864  	0x0a, 0x38, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x74,
  3865  	0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31,
  3866  	0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x72,
  3867  	0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x67, 0x6f, 0x6f, 0x67,
  3868  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61,
  3869  	0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1c, 0x67, 0x6f,
  3870  	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
  3871  	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67,
  3872  	0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72,
  3873  	0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f,
  3874  	0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70,
  3875  	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69,
  3876  	0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
  3877  	0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e,
  3878  	0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70,
  3879  	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
  3880  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e,
  3881  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x64, 0x0a, 0x1b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61,
  3882  	0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x43, 0x6f,
  3883  	0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x08, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79,
  3884  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x67, 0x6c, 0x6f,
  3885  	0x73, 0x73, 0x61, 0x72, 0x79, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f,
  3886  	0x63, 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
  3887  	0x0a, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x43, 0x61, 0x73, 0x65, 0x22, 0xae, 0x04, 0x0a, 0x14,
  3888  	0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71,
  3889  	0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73,
  3890  	0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x63, 0x6f, 0x6e,
  3891  	0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79,
  3892  	0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6d,
  3893  	0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x35, 0x0a, 0x14, 0x73, 0x6f, 0x75, 0x72, 0x63,
  3894  	0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18,
  3895  	0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x73, 0x6f, 0x75, 0x72,
  3896  	0x63, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x35,
  3897  	0x0a, 0x14, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67,
  3898  	0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
  3899  	0x02, 0x52, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67,
  3900  	0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18,
  3901  	0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c,
  3902  	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
  3903  	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  3904  	0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65,
  3905  	0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x6d, 0x6f,
  3906  	0x64, 0x65, 0x6c, 0x12, 0x6b, 0x0a, 0x0f, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x5f,
  3907  	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67,
  3908  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e,
  3909  	0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
  3910  	0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x47, 0x6c, 0x6f,
  3911  	0x73, 0x73, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01,
  3912  	0x52, 0x0e, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
  3913  	0x12, 0x5f, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b,
  3914  	0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  3915  	0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65,
  3916  	0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78,
  3917  	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45,
  3918  	0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c,
  3919  	0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
  3920  	0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
  3921  	0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
  3922  	0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xce, 0x01, 0x0a,
  3923  	0x15, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x52, 0x65,
  3924  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c,
  3925  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67,
  3926  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e,
  3927  	0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
  3928  	0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x74, 0x72, 0x61,
  3929  	0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x62, 0x0a, 0x15, 0x67, 0x6c, 0x6f,
  3930  	0x73, 0x73, 0x61, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f,
  3931  	0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  3932  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74,
  3933  	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e,
  3934  	0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72,
  3935  	0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xea, 0x01,
  3936  	0x0a, 0x0b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a,
  3937  	0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x65, 0x78, 0x74,
  3938  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74,
  3939  	0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18,
  3940  	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x34, 0x0a, 0x16,
  3941  	0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67,
  3942  	0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x64, 0x65,
  3943  	0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f,
  3944  	0x64, 0x65, 0x12, 0x66, 0x0a, 0x0f, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x5f, 0x63,
  3945  	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f,
  3946  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73,
  3947  	0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54,
  3948  	0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x47, 0x6c, 0x6f, 0x73,
  3949  	0x73, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x67, 0x6c, 0x6f, 0x73,
  3950  	0x73, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xda, 0x02, 0x0a, 0x15, 0x44,
  3951  	0x65, 0x74, 0x65, 0x63, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71,
  3952  	0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x05,
  3953  	0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f,
  3954  	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
  3955  	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
  3956  	0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
  3957  	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x6d, 0x6f, 0x64,
  3958  	0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20,
  3959  	0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x20,
  3960  	0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
  3961  	0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65,
  3962  	0x12, 0x60, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b,
  3963  	0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  3964  	0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65,
  3965  	0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61,
  3966  	0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73,
  3967  	0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65,
  3968  	0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72,
  3969  	0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
  3970  	0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
  3971  	0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x08, 0x0a,
  3972  	0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x57, 0x0a, 0x10, 0x44, 0x65, 0x74, 0x65, 0x63,
  3973  	0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c,
  3974  	0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01,
  3975  	0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65,
  3976  	0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02,
  3977  	0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65,
  3978  	0x22, 0x6a, 0x0a, 0x16, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61,
  3979  	0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x09, 0x6c, 0x61,
  3980  	0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e,
  3981  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61,
  3982  	0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31,
  3983  	0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67,
  3984  	0x65, 0x52, 0x09, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x22, 0xb5, 0x01, 0x0a,
  3985  	0x1c, 0x47, 0x65, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e,
  3986  	0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a,
  3987  	0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0,
  3988  	0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
  3989  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
  3990  	0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
  3991  	0x12, 0x37, 0x0a, 0x15, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6c, 0x61, 0x6e, 0x67,
  3992  	0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
  3993  	0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4c, 0x61, 0x6e,
  3994  	0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f, 0x64,
  3995  	0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x6d,
  3996  	0x6f, 0x64, 0x65, 0x6c, 0x22, 0x67, 0x0a, 0x12, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65,
  3997  	0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x12, 0x51, 0x0a, 0x09, 0x6c, 0x61,
  3998  	0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e,
  3999  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61,
  4000  	0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31,
  4001  	0x2e, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61,
  4002  	0x67, 0x65, 0x52, 0x09, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x22, 0xa9, 0x01,
  4003  	0x0a, 0x11, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75,
  4004  	0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f,
  4005  	0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67,
  4006  	0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70,
  4007  	0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
  4008  	0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x73,
  4009  	0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20,
  4010  	0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x75, 0x72,
  4011  	0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x74, 0x61,
  4012  	0x72, 0x67, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x75, 0x70, 0x70,
  4013  	0x6f, 0x72, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x2d, 0x0a, 0x09, 0x47, 0x63, 0x73,
  4014  	0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f,
  4015  	0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08,
  4016  	0x69, 0x6e, 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, 0x22, 0x87, 0x01, 0x0a, 0x0b, 0x49, 0x6e, 0x70,
  4017  	0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65,
  4018  	0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01,
  4019  	0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4c, 0x0a, 0x0a, 0x67, 0x63,
  4020  	0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b,
  4021  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72,
  4022  	0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61,
  4023  	0x31, 0x2e, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x09, 0x67,
  4024  	0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72,
  4025  	0x63, 0x65, 0x22, 0x41, 0x0a, 0x0e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61,
  4026  	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x11, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x75,
  4027  	0x72, 0x69, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
  4028  	0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, 0x50,
  4029  	0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0x7a, 0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43,
  4030  	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5b, 0x0a, 0x0f, 0x67, 0x63, 0x73, 0x5f, 0x64, 0x65, 0x73,
  4031  	0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30,
  4032  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72,
  4033  	0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61,
  4034  	0x31, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  4035  	0x48, 0x00, 0x52, 0x0e, 0x67, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69,
  4036  	0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f,
  4037  	0x6e, 0x22, 0xa6, 0x01, 0x0a, 0x13, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e,
  4038  	0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x07, 0x63, 0x6f, 0x6e,
  4039  	0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6f,
  4040  	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x4c, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x6f, 0x75,
  4041  	0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  4042  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61,
  4043  	0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x63, 0x73,
  4044  	0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x09, 0x67, 0x63, 0x73, 0x53, 0x6f, 0x75,
  4045  	0x72, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65,
  4046  	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65,
  4047  	0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xa9, 0x01, 0x0a, 0x14, 0x44,
  4048  	0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e,
  4049  	0x66, 0x69, 0x67, 0x12, 0x60, 0x0a, 0x0f, 0x67, 0x63, 0x73, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69,
  4050  	0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67,
  4051  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e,
  4052  	0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
  4053  	0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03,
  4054  	0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0e, 0x67, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e,
  4055  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79,
  4056  	0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6d,
  4057  	0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69,
  4058  	0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb0, 0x05, 0x0a, 0x18, 0x54, 0x72, 0x61, 0x6e, 0x73,
  4059  	0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75,
  4060  	0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20,
  4061  	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
  4062  	0x12, 0x35, 0x0a, 0x14, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75,
  4063  	0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
  4064  	0xe0, 0x41, 0x01, 0x52, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x75,
  4065  	0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x35, 0x0a, 0x14, 0x74, 0x61, 0x72, 0x67, 0x65,
  4066  	0x74, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18,
  4067  	0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x74, 0x61, 0x72, 0x67,
  4068  	0x65, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x6e,
  4069  	0x0a, 0x15, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74,
  4070  	0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e,
  4071  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61,
  4072  	0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31,
  4073  	0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f,
  4074  	0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x64, 0x6f, 0x63, 0x75, 0x6d,
  4075  	0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x71,
  4076  	0x0a, 0x16, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75,
  4077  	0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36,
  4078  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72,
  4079  	0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61,
  4080  	0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74,
  4081  	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x64, 0x6f, 0x63,
  4082  	0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69,
  4083  	0x67, 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
  4084  	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x6b, 0x0a, 0x0f,
  4085  	0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18,
  4086  	0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
  4087  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  4088  	0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61,
  4089  	0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x43, 0x6f,
  4090  	0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x67, 0x6c, 0x6f, 0x73, 0x73,
  4091  	0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x63, 0x0a, 0x06, 0x6c, 0x61, 0x62,
  4092  	0x65, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  4093  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61,
  4094  	0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61,
  4095  	0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65,
  4096  	0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72,
  4097  	0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39,
  4098  	0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
  4099  	0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
  4100  	0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
  4101  	0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x98, 0x01, 0x0a, 0x13, 0x44, 0x6f,
  4102  	0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f,
  4103  	0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x62, 0x79, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d,
  4104  	0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x11,
  4105  	0x62, 0x79, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74,
  4106  	0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02,
  4107  	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x34,
  4108  	0x0a, 0x16, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75,
  4109  	0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14,
  4110  	0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65,
  4111  	0x43, 0x6f, 0x64, 0x65, 0x22, 0xfe, 0x02, 0x0a, 0x19, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61,
  4112  	0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
  4113  	0x73, 0x65, 0x12, 0x68, 0x0a, 0x14, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74,
  4114  	0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
  4115  	0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  4116  	0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65,
  4117  	0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e,
  4118  	0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e,
  4119  	0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x79, 0x0a, 0x1d,
  4120  	0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x5f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e,
  4121  	0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20,
  4122  	0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  4123  	0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76,
  4124  	0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54,
  4125  	0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1b, 0x67, 0x6c, 0x6f, 0x73,
  4126  	0x73, 0x61, 0x72, 0x79, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e,
  4127  	0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
  4128  	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x66, 0x0a,
  4129  	0x0f, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
  4130  	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  4131  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f,
  4132  	0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c,
  4133  	0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x43,
  4134  	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x43,
  4135  	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xb3, 0x07, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54,
  4136  	0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75,
  4137  	0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20,
  4138  	0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63,
  4139  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
  4140  	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06,
  4141  	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x14, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
  4142  	0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02,
  4143  	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63,
  4144  	0x65, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x37, 0x0a,
  4145  	0x15, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65,
  4146  	0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
  4147  	0x02, 0x52, 0x13, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67,
  4148  	0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x64, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73,
  4149  	0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  4150  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f,
  4151  	0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54,
  4152  	0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75,
  4153  	0x65, 0x73, 0x74, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42,
  4154  	0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x57, 0x0a, 0x0d,
  4155  	0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x05, 0x20,
  4156  	0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  4157  	0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76,
  4158  	0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66,
  4159  	0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f,
  4160  	0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x58, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f,
  4161  	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67,
  4162  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e,
  4163  	0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
  4164  	0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41,
  4165  	0x02, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
  4166  	0x70, 0x0a, 0x0a, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20,
  4167  	0x03, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  4168  	0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76,
  4169  	0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e,
  4170  	0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  4171  	0x2e, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
  4172  	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65,
  4173  	0x73, 0x12, 0x64, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28,
  4174  	0x0b, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  4175  	0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62,
  4176  	0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c,
  4177  	0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c,
  4178  	0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
  4179  	0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4d, 0x6f, 0x64, 0x65, 0x6c,
  4180  	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
  4181  	0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
  4182  	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
  4183  	0x38, 0x01, 0x1a, 0x7c, 0x0a, 0x0f, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73,
  4184  	0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
  4185  	0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x53, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
  4186  	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  4187  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f,
  4188  	0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c,
  4189  	0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x43,
  4190  	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
  4191  	0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
  4192  	0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
  4193  	0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
  4194  	0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x9f, 0x03, 0x0a, 0x16,
  4195  	0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x65,
  4196  	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x54, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18,
  4197  	0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
  4198  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  4199  	0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72,
  4200  	0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e,
  4201  	0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x33, 0x0a, 0x15,
  4202  	0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61,
  4203  	0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x74, 0x72, 0x61,
  4204  	0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72,
  4205  	0x73, 0x12, 0x2b, 0x0a, 0x11, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x72,
  4206  	0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x66, 0x61,
  4207  	0x69, 0x6c, 0x65, 0x64, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x12, 0x29,
  4208  	0x0a, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65,
  4209  	0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43,
  4210  	0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x73, 0x75, 0x62,
  4211  	0x6d, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
  4212  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  4213  	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d,
  4214  	0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x65, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12,
  4215  	0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
  4216  	0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e,
  4217  	0x47, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44,
  4218  	0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0e,
  4219  	0x0a, 0x0a, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x0d,
  4220  	0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x22, 0x99, 0x02,
  4221  	0x0a, 0x16, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65,
  4222  	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x6f, 0x74, 0x61,
  4223  	0x6c, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01,
  4224  	0x28, 0x03, 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74,
  4225  	0x65, 0x72, 0x73, 0x12, 0x33, 0x0a, 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65,
  4226  	0x64, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01,
  4227  	0x28, 0x03, 0x52, 0x14, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68,
  4228  	0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x66, 0x61, 0x69, 0x6c,
  4229  	0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20,
  4230  	0x01, 0x28, 0x03, 0x52, 0x10, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x43, 0x68, 0x61, 0x72, 0x61,
  4231  	0x63, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x5f,
  4232  	0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
  4233  	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
  4234  	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69,
  4235  	0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05,
  4236  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  4237  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
  4238  	0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x6d, 0x0a, 0x13, 0x47, 0x6c, 0x6f,
  4239  	0x73, 0x73, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
  4240  	0x12, 0x4c, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01,
  4241  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
  4242  	0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
  4243  	0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63,
  4244  	0x65, 0x48, 0x00, 0x52, 0x09, 0x67, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08,
  4245  	0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x99, 0x06, 0x0a, 0x08, 0x47, 0x6c, 0x6f,
  4246  	0x73, 0x73, 0x61, 0x72, 0x79, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
  4247  	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x62,
  4248  	0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x18,
  4249  	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
  4250  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  4251  	0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72,
  4252  	0x79, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x50, 0x61,
  4253  	0x69, 0x72, 0x48, 0x00, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x50, 0x61,
  4254  	0x69, 0x72, 0x12, 0x6b, 0x0a, 0x12, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63,
  4255  	0x6f, 0x64, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b,
  4256  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72,
  4257  	0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61,
  4258  	0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x75,
  4259  	0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x10, 0x6c,
  4260  	0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x53, 0x65, 0x74, 0x12,
  4261  	0x58, 0x0a, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18,
  4262  	0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
  4263  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  4264  	0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72,
  4265  	0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x69, 0x6e,
  4266  	0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x24, 0x0a, 0x0b, 0x65, 0x6e, 0x74,
  4267  	0x72, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03,
  4268  	0xe0, 0x41, 0x03, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12,
  4269  	0x40, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07,
  4270  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  4271  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
  4272  	0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d,
  4273  	0x65, 0x12, 0x3a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20,
  4274  	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
  4275  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42,
  4276  	0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x76, 0x0a,
  4277  	0x10, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x50, 0x61, 0x69,
  4278  	0x72, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x67,
  4279  	0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
  4280  	0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43,
  4281  	0x6f, 0x64, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x61,
  4282  	0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
  4283  	0x09, 0x52, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67,
  4284  	0x65, 0x43, 0x6f, 0x64, 0x65, 0x1a, 0x39, 0x0a, 0x10, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67,
  4285  	0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x53, 0x65, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x61, 0x6e,
  4286  	0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
  4287  	0x09, 0x52, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73,
  4288  	0x3a, 0x65, 0xea, 0x41, 0x62, 0x0a, 0x21, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65,
  4289  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
  4290  	0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x12, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
  4291  	0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63,
  4292  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  4293  	0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x67, 0x6c,
  4294  	0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x7d, 0x42, 0x0b, 0x0a, 0x09, 0x6c, 0x61, 0x6e, 0x67, 0x75,
  4295  	0x61, 0x67, 0x65, 0x73, 0x22, 0xa7, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47,
  4296  	0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41,
  4297  	0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29,
  4298  	0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  4299  	0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
  4300  	0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e,
  4301  	0x74, 0x12, 0x4b, 0x0a, 0x08, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20,
  4302  	0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  4303  	0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76,
  4304  	0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x42,
  4305  	0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x22, 0x53,
  4306  	0x0a, 0x12, 0x47, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71,
  4307  	0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
  4308  	0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x74, 0x72, 0x61, 0x6e,
  4309  	0x73, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
  4310  	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x52, 0x04, 0x6e,
  4311  	0x61, 0x6d, 0x65, 0x22, 0x56, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f,
  4312  	0x73, 0x73, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04,
  4313  	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa,
  4314  	0x41, 0x23, 0x0a, 0x21, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x67, 0x6f,
  4315  	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x6c, 0x6f,
  4316  	0x73, 0x73, 0x61, 0x72, 0x79, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xbd, 0x01, 0x0a, 0x15,
  4317  	0x4c, 0x69, 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65,
  4318  	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18,
  4319  	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c,
  4320  	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
  4321  	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  4322  	0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65,
  4323  	0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01,
  4324  	0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61,
  4325  	0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
  4326  	0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b,
  4327  	0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
  4328  	0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x8c, 0x01, 0x0a, 0x16,
  4329  	0x4c, 0x69, 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65,
  4330  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0a, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61,
  4331  	0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f,
  4332  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c,
  4333  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x6c,
  4334  	0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x52, 0x0a, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69,
  4335  	0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f,
  4336  	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78,
  4337  	0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa6, 0x02, 0x0a, 0x16, 0x43,
  4338  	0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x4d, 0x65, 0x74,
  4339  	0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
  4340  	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x54, 0x0a, 0x05, 0x73, 0x74, 0x61,
  4341  	0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  4342  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74,
  4343  	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61,
  4344  	0x74, 0x65, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
  4345  	0x74, 0x61, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12,
  4346  	0x3b, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03,
  4347  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  4348  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
  4349  	0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x65, 0x0a, 0x05,
  4350  	0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55,
  4351  	0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07,
  4352  	0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x55, 0x43,
  4353  	0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c,
  4354  	0x45, 0x44, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x49,
  4355  	0x4e, 0x47, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45,
  4356  	0x44, 0x10, 0x05, 0x22, 0xa6, 0x02, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c,
  4357  	0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12,
  4358  	0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
  4359  	0x6d, 0x65, 0x12, 0x54, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
  4360  	0x0e, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  4361  	0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62,
  4362  	0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x73, 0x73,
  4363  	0x61, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x61, 0x74,
  4364  	0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6d,
  4365  	0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
  4366  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
  4367  	0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69,
  4368  	0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x65, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15,
  4369  	0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46,
  4370  	0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47,
  4371  	0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10,
  4372  	0x02, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0e, 0x0a,
  4373  	0x0a, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x0d, 0x0a,
  4374  	0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x22, 0xa0, 0x01, 0x0a,
  4375  	0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x52,
  4376  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
  4377  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x73,
  4378  	0x75, 0x62, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
  4379  	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  4380  	0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x73, 0x75,
  4381  	0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f,
  4382  	0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
  4383  	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
  4384  	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22,
  4385  	0x8b, 0x08, 0x0a, 0x1d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61,
  4386  	0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  4387  	0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
  4388  	0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74,
  4389  	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
  4390  	0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61,
  4391  	0x72, 0x65, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x14, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c,
  4392  	0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01,
  4393  	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c,
  4394  	0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x37, 0x0a, 0x15, 0x74,
  4395  	0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63,
  4396  	0x6f, 0x64, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
  4397  	0x13, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43,
  4398  	0x6f, 0x64, 0x65, 0x73, 0x12, 0x64, 0x0a, 0x0d, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f,
  4399  	0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f,
  4400  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73,
  4401  	0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42,
  4402  	0x61, 0x74, 0x63, 0x68, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75,
  4403  	0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x69, 0x6e,
  4404  	0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x65, 0x0a, 0x0d, 0x6f, 0x75,
  4405  	0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28,
  4406  	0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  4407  	0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62,
  4408  	0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65,
  4409  	0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03,
  4410  	0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69,
  4411  	0x67, 0x12, 0x68, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28,
  4412  	0x0b, 0x32, 0x4b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  4413  	0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62,
  4414  	0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c,
  4415  	0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
  4416  	0x73, 0x74, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03,
  4417  	0xe0, 0x41, 0x01, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x74, 0x0a, 0x0a, 0x67,
  4418  	0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32,
  4419  	0x4f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74,
  4420  	0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74,
  4421  	0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74,
  4422  	0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  4423  	0x2e, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
  4424  	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65,
  4425  	0x73, 0x12, 0x8a, 0x01, 0x0a, 0x12, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x63, 0x6f, 0x6e,
  4426  	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x56,
  4427  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72,
  4428  	0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61,
  4429  	0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65,
  4430  	0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e,
  4431  	0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
  4432  	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x66, 0x6f, 0x72,
  4433  	0x6d, 0x61, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x39,
  4434  	0x0a, 0x0b, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
  4435  	0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
  4436  	0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
  4437  	0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x7c, 0x0a, 0x0f, 0x47, 0x6c, 0x6f,
  4438  	0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
  4439  	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x53,
  4440  	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e,
  4441  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61,
  4442  	0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31,
  4443  	0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x47, 0x6c,
  4444  	0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x76, 0x61,
  4445  	0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x44, 0x0a, 0x16, 0x46, 0x6f, 0x72, 0x6d, 0x61,
  4446  	0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72,
  4447  	0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
  4448  	0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
  4449  	0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x72, 0x0a,
  4450  	0x18, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e,
  4451  	0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4c, 0x0a, 0x0a, 0x67, 0x63, 0x73,
  4452  	0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e,
  4453  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61,
  4454  	0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31,
  4455  	0x2e, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x09, 0x67, 0x63,
  4456  	0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63,
  4457  	0x65, 0x22, 0x87, 0x01, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x6f, 0x63, 0x75, 0x6d,
  4458  	0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
  4459  	0x5b, 0x0a, 0x0f, 0x67, 0x63, 0x73, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69,
  4460  	0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  4461  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74,
  4462  	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x44,
  4463  	0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x67, 0x63,
  4464  	0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b,
  4465  	0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xfe, 0x03, 0x0a, 0x1e,
  4466  	0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f,
  4467  	0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f,
  4468  	0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20,
  4469  	0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x61, 0x67, 0x65, 0x73, 0x12,
  4470  	0x29, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x61,
  4471  	0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73,
  4472  	0x6c, 0x61, 0x74, 0x65, 0x64, 0x50, 0x61, 0x67, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x61,
  4473  	0x69, 0x6c, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03,
  4474  	0x52, 0x0b, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x50, 0x61, 0x67, 0x65, 0x73, 0x12, 0x30, 0x0a,
  4475  	0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x69, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f,
  4476  	0x70, 0x61, 0x67, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x74, 0x6f, 0x74,
  4477  	0x61, 0x6c, 0x42, 0x69, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, 0x67, 0x65, 0x73, 0x12,
  4478  	0x29, 0x0a, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74,
  4479  	0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c,
  4480  	0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x12, 0x33, 0x0a, 0x15, 0x74, 0x72,
  4481  	0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74,
  4482  	0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x74, 0x72, 0x61, 0x6e, 0x73,
  4483  	0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x12,
  4484  	0x2b, 0x0a, 0x11, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63,
  4485  	0x74, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x66, 0x61, 0x69, 0x6c,
  4486  	0x65, 0x64, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3a, 0x0a, 0x19,
  4487  	0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x69, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63,
  4488  	0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52,
  4489  	0x17, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x69, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x68,
  4490  	0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6d,
  4491  	0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
  4492  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
  4493  	0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69,
  4494  	0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d,
  4495  	0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  4496  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
  4497  	0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x8c, 0x05, 0x0a,
  4498  	0x1e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44,
  4499  	0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12,
  4500  	0x5c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x46,
  4501  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72,
  4502  	0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61,
  4503  	0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65,
  4504  	0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
  4505  	0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a,
  4506  	0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01,
  4507  	0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x61, 0x67, 0x65, 0x73, 0x12, 0x29,
  4508  	0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x67,
  4509  	0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c,
  4510  	0x61, 0x74, 0x65, 0x64, 0x50, 0x61, 0x67, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x61, 0x69,
  4511  	0x6c, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52,
  4512  	0x0b, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x50, 0x61, 0x67, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x14,
  4513  	0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x69, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70,
  4514  	0x61, 0x67, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61,
  4515  	0x6c, 0x42, 0x69, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, 0x67, 0x65, 0x73, 0x12, 0x29,
  4516  	0x0a, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65,
  4517  	0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43,
  4518  	0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x12, 0x33, 0x0a, 0x15, 0x74, 0x72, 0x61,
  4519  	0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65,
  4520  	0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c,
  4521  	0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2b,
  4522  	0x0a, 0x11, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74,
  4523  	0x65, 0x72, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x66, 0x61, 0x69, 0x6c, 0x65,
  4524  	0x64, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3a, 0x0a, 0x19, 0x74,
  4525  	0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x69, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x68,
  4526  	0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17,
  4527  	0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x69, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x68, 0x61,
  4528  	0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6d, 0x69,
  4529  	0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
  4530  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
  4531  	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74,
  4532  	0x54, 0x69, 0x6d, 0x65, 0x22, 0x65, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a,
  4533  	0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49,
  4534  	0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10,
  4535  	0x01, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x02,
  4536  	0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a,
  4537  	0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09,
  4538  	0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x32, 0xc2, 0x14, 0x0a, 0x12,
  4539  	0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69,
  4540  	0x63, 0x65, 0x12, 0xf4, 0x01, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65,
  4541  	0x54, 0x65, 0x78, 0x74, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
  4542  	0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
  4543  	0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74,
  4544  	0x65, 0x54, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67,
  4545  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e,
  4546  	0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
  4547  	0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x52, 0x65, 0x73,
  4548  	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6c, 0x22, 0x36, 0x2f,
  4549  	0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d,
  4550  	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74,
  4551  	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74,
  4552  	0x65, 0x54, 0x65, 0x78, 0x74, 0x3a, 0x01, 0x2a, 0x5a, 0x2f, 0x22, 0x2a, 0x2f, 0x76, 0x33, 0x62,
  4553  	0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f,
  4554  	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61,
  4555  	0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x93, 0x02, 0x0a, 0x0e, 0x44, 0x65,
  4556  	0x74, 0x65, 0x63, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x37, 0x2e, 0x67,
  4557  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e,
  4558  	0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
  4559  	0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x52, 0x65,
  4560  	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
  4561  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  4562  	0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x4c,
  4563  	0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
  4564  	0x8d, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6e, 0x22, 0x37, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74,
  4565  	0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
  4566  	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
  4567  	0x2a, 0x7d, 0x3a, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67,
  4568  	0x65, 0x3a, 0x01, 0x2a, 0x5a, 0x30, 0x22, 0x2b, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31,
  4569  	0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
  4570  	0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75,
  4571  	0x61, 0x67, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x16, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c,
  4572  	0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12,
  4573  	0xab, 0x02, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64,
  4574  	0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  4575  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61,
  4576  	0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74,
  4577  	0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67,
  4578  	0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  4579  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61,
  4580  	0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x75, 0x70,
  4581  	0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x22,
  4582  	0x9b, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x70, 0x12, 0x3b, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74,
  4583  	0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
  4584  	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
  4585  	0x2a, 0x7d, 0x2f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67,
  4586  	0x75, 0x61, 0x67, 0x65, 0x73, 0x5a, 0x31, 0x12, 0x2f, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61,
  4587  	0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
  4588  	0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4c,
  4589  	0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0xda, 0x41, 0x22, 0x70, 0x61, 0x72, 0x65, 0x6e,
  4590  	0x74, 0x2c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61,
  4591  	0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x2c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0xd3, 0x01,
  4592  	0x0a, 0x11, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d,
  4593  	0x65, 0x6e, 0x74, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  4594  	0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76,
  4595  	0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65,
  4596  	0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
  4597  	0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74,
  4598  	0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74,
  4599  	0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75,
  4600  	0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0x82, 0xd3,
  4601  	0xe4, 0x93, 0x02, 0x3f, 0x22, 0x3a, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b,
  4602  	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
  4603  	0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x74,
  4604  	0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,
  4605  	0x3a, 0x01, 0x2a, 0x12, 0xeb, 0x01, 0x0a, 0x12, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61,
  4606  	0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f,
  4607  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c,
  4608  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61,
  4609  	0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74,
  4610  	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  4611  	0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65,
  4612  	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x22, 0x3b,
  4613  	0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
  4614  	0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61,
  4615  	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72,
  4616  	0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x3a, 0x01, 0x2a, 0xca, 0x41,
  4617  	0x30, 0x0a, 0x16, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74,
  4618  	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x42, 0x61, 0x74, 0x63, 0x68,
  4619  	0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
  4620  	0x61, 0x12, 0xd8, 0x02, 0x0a, 0x16, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73,
  4621  	0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3f, 0x2e, 0x67,
  4622  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e,
  4623  	0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
  4624  	0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f,
  4625  	0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e,
  4626  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69,
  4627  	0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xdd, 0x01, 0x82,
  4628  	0xd3, 0xe4, 0x93, 0x02, 0x44, 0x22, 0x3f, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f,
  4629  	0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
  4630  	0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a,
  4631  	0x62, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f,
  4632  	0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x4d, 0x70, 0x61, 0x72, 0x65,
  4633  	0x6e, 0x74, 0x2c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61,
  4634  	0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c,
  4635  	0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x2c, 0x69, 0x6e,
  4636  	0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2c, 0x6f, 0x75, 0x74, 0x70,
  4637  	0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0xca, 0x41, 0x40, 0x0a, 0x1e, 0x42, 0x61,
  4638  	0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75,
  4639  	0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x42, 0x61,
  4640  	0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75,
  4641  	0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xe6, 0x01, 0x0a,
  4642  	0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x12,
  4643  	0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74,
  4644  	0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74,
  4645  	0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72,
  4646  	0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  4647  	0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70,
  4648  	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x22,
  4649  	0x33, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e,
  4650  	0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63,
  4651  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61,
  4652  	0x72, 0x69, 0x65, 0x73, 0x3a, 0x08, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0xda, 0x41,
  4653  	0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79,
  4654  	0xca, 0x41, 0x22, 0x0a, 0x08, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x12, 0x16, 0x43,
  4655  	0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x4d, 0x65, 0x74,
  4656  	0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xd0, 0x01, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x6c,
  4657  	0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  4658  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74,
  4659  	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74,
  4660  	0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  4661  	0x74, 0x1a, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  4662  	0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62,
  4663  	0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72,
  4664  	0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x82, 0xd3, 0xe4,
  4665  	0x93, 0x02, 0x35, 0x12, 0x33, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70,
  4666  	0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a,
  4667  	0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x67, 0x6c,
  4668  	0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0xda, 0x41, 0x0d, 0x70, 0x61, 0x72, 0x65, 0x6e,
  4669  	0x74, 0x2c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0xb3, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74,
  4670  	0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  4671  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74,
  4672  	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47,
  4673  	0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a,
  4674  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72,
  4675  	0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61,
  4676  	0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93,
  4677  	0x02, 0x35, 0x12, 0x33, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61,
  4678  	0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f,
  4679  	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61,
  4680  	0x72, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xdf,
  4681  	0x01, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72,
  4682  	0x79, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  4683  	0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62,
  4684  	0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x73, 0x73,
  4685  	0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f,
  4686  	0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e,
  4687  	0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x75, 0x82, 0xd3, 0xe4, 0x93, 0x02,
  4688  	0x35, 0x2a, 0x33, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d,
  4689  	0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63,
  4690  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72,
  4691  	0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x30,
  4692  	0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79,
  4693  	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
  4694  	0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
  4695  	0x1a, 0x7e, 0xca, 0x41, 0x18, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x67,
  4696  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x60,
  4697  	0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  4698  	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f,
  4699  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68,
  4700  	0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  4701  	0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63,
  4702  	0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  4703  	0x42, 0xf1, 0x01, 0x0a, 0x22, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  4704  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x2e,
  4705  	0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x17, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61,
  4706  	0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f,
  4707  	0x50, 0x01, 0x5a, 0x47, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e,
  4708  	0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67,
  4709  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f,
  4710  	0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61,
  4711  	0x31, 0x3b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0xf8, 0x01, 0x01, 0xaa, 0x02,
  4712  	0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x54, 0x72,
  4713  	0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x56, 0x33, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca,
  4714  	0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x54,
  4715  	0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x5c, 0x56, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31,
  4716  	0xea, 0x02, 0x21, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64,
  4717  	0x3a, 0x3a, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x3a, 0x3a, 0x56, 0x33, 0x62,
  4718  	0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  4719  }
  4720  
  4721  var (
  4722  	file_google_cloud_translate_v3beta1_translation_service_proto_rawDescOnce sync.Once
  4723  	file_google_cloud_translate_v3beta1_translation_service_proto_rawDescData = file_google_cloud_translate_v3beta1_translation_service_proto_rawDesc
  4724  )
  4725  
  4726  func file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP() []byte {
  4727  	file_google_cloud_translate_v3beta1_translation_service_proto_rawDescOnce.Do(func() {
  4728  		file_google_cloud_translate_v3beta1_translation_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_translate_v3beta1_translation_service_proto_rawDescData)
  4729  	})
  4730  	return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescData
  4731  }
  4732  
  4733  var file_google_cloud_translate_v3beta1_translation_service_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
  4734  var file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes = make([]protoimpl.MessageInfo, 48)
  4735  var file_google_cloud_translate_v3beta1_translation_service_proto_goTypes = []interface{}{
  4736  	(BatchTranslateMetadata_State)(0),         // 0: google.cloud.translation.v3beta1.BatchTranslateMetadata.State
  4737  	(CreateGlossaryMetadata_State)(0),         // 1: google.cloud.translation.v3beta1.CreateGlossaryMetadata.State
  4738  	(DeleteGlossaryMetadata_State)(0),         // 2: google.cloud.translation.v3beta1.DeleteGlossaryMetadata.State
  4739  	(BatchTranslateDocumentMetadata_State)(0), // 3: google.cloud.translation.v3beta1.BatchTranslateDocumentMetadata.State
  4740  	(*TranslateTextGlossaryConfig)(nil),       // 4: google.cloud.translation.v3beta1.TranslateTextGlossaryConfig
  4741  	(*TranslateTextRequest)(nil),              // 5: google.cloud.translation.v3beta1.TranslateTextRequest
  4742  	(*TranslateTextResponse)(nil),             // 6: google.cloud.translation.v3beta1.TranslateTextResponse
  4743  	(*Translation)(nil),                       // 7: google.cloud.translation.v3beta1.Translation
  4744  	(*DetectLanguageRequest)(nil),             // 8: google.cloud.translation.v3beta1.DetectLanguageRequest
  4745  	(*DetectedLanguage)(nil),                  // 9: google.cloud.translation.v3beta1.DetectedLanguage
  4746  	(*DetectLanguageResponse)(nil),            // 10: google.cloud.translation.v3beta1.DetectLanguageResponse
  4747  	(*GetSupportedLanguagesRequest)(nil),      // 11: google.cloud.translation.v3beta1.GetSupportedLanguagesRequest
  4748  	(*SupportedLanguages)(nil),                // 12: google.cloud.translation.v3beta1.SupportedLanguages
  4749  	(*SupportedLanguage)(nil),                 // 13: google.cloud.translation.v3beta1.SupportedLanguage
  4750  	(*GcsSource)(nil),                         // 14: google.cloud.translation.v3beta1.GcsSource
  4751  	(*InputConfig)(nil),                       // 15: google.cloud.translation.v3beta1.InputConfig
  4752  	(*GcsDestination)(nil),                    // 16: google.cloud.translation.v3beta1.GcsDestination
  4753  	(*OutputConfig)(nil),                      // 17: google.cloud.translation.v3beta1.OutputConfig
  4754  	(*DocumentInputConfig)(nil),               // 18: google.cloud.translation.v3beta1.DocumentInputConfig
  4755  	(*DocumentOutputConfig)(nil),              // 19: google.cloud.translation.v3beta1.DocumentOutputConfig
  4756  	(*TranslateDocumentRequest)(nil),          // 20: google.cloud.translation.v3beta1.TranslateDocumentRequest
  4757  	(*DocumentTranslation)(nil),               // 21: google.cloud.translation.v3beta1.DocumentTranslation
  4758  	(*TranslateDocumentResponse)(nil),         // 22: google.cloud.translation.v3beta1.TranslateDocumentResponse
  4759  	(*BatchTranslateTextRequest)(nil),         // 23: google.cloud.translation.v3beta1.BatchTranslateTextRequest
  4760  	(*BatchTranslateMetadata)(nil),            // 24: google.cloud.translation.v3beta1.BatchTranslateMetadata
  4761  	(*BatchTranslateResponse)(nil),            // 25: google.cloud.translation.v3beta1.BatchTranslateResponse
  4762  	(*GlossaryInputConfig)(nil),               // 26: google.cloud.translation.v3beta1.GlossaryInputConfig
  4763  	(*Glossary)(nil),                          // 27: google.cloud.translation.v3beta1.Glossary
  4764  	(*CreateGlossaryRequest)(nil),             // 28: google.cloud.translation.v3beta1.CreateGlossaryRequest
  4765  	(*GetGlossaryRequest)(nil),                // 29: google.cloud.translation.v3beta1.GetGlossaryRequest
  4766  	(*DeleteGlossaryRequest)(nil),             // 30: google.cloud.translation.v3beta1.DeleteGlossaryRequest
  4767  	(*ListGlossariesRequest)(nil),             // 31: google.cloud.translation.v3beta1.ListGlossariesRequest
  4768  	(*ListGlossariesResponse)(nil),            // 32: google.cloud.translation.v3beta1.ListGlossariesResponse
  4769  	(*CreateGlossaryMetadata)(nil),            // 33: google.cloud.translation.v3beta1.CreateGlossaryMetadata
  4770  	(*DeleteGlossaryMetadata)(nil),            // 34: google.cloud.translation.v3beta1.DeleteGlossaryMetadata
  4771  	(*DeleteGlossaryResponse)(nil),            // 35: google.cloud.translation.v3beta1.DeleteGlossaryResponse
  4772  	(*BatchTranslateDocumentRequest)(nil),     // 36: google.cloud.translation.v3beta1.BatchTranslateDocumentRequest
  4773  	(*BatchDocumentInputConfig)(nil),          // 37: google.cloud.translation.v3beta1.BatchDocumentInputConfig
  4774  	(*BatchDocumentOutputConfig)(nil),         // 38: google.cloud.translation.v3beta1.BatchDocumentOutputConfig
  4775  	(*BatchTranslateDocumentResponse)(nil),    // 39: google.cloud.translation.v3beta1.BatchTranslateDocumentResponse
  4776  	(*BatchTranslateDocumentMetadata)(nil),    // 40: google.cloud.translation.v3beta1.BatchTranslateDocumentMetadata
  4777  	nil,                                       // 41: google.cloud.translation.v3beta1.TranslateTextRequest.LabelsEntry
  4778  	nil,                                       // 42: google.cloud.translation.v3beta1.DetectLanguageRequest.LabelsEntry
  4779  	nil,                                       // 43: google.cloud.translation.v3beta1.TranslateDocumentRequest.LabelsEntry
  4780  	nil,                                       // 44: google.cloud.translation.v3beta1.BatchTranslateTextRequest.ModelsEntry
  4781  	nil,                                       // 45: google.cloud.translation.v3beta1.BatchTranslateTextRequest.GlossariesEntry
  4782  	nil,                                       // 46: google.cloud.translation.v3beta1.BatchTranslateTextRequest.LabelsEntry
  4783  	(*Glossary_LanguageCodePair)(nil),         // 47: google.cloud.translation.v3beta1.Glossary.LanguageCodePair
  4784  	(*Glossary_LanguageCodesSet)(nil),         // 48: google.cloud.translation.v3beta1.Glossary.LanguageCodesSet
  4785  	nil,                                       // 49: google.cloud.translation.v3beta1.BatchTranslateDocumentRequest.ModelsEntry
  4786  	nil,                                       // 50: google.cloud.translation.v3beta1.BatchTranslateDocumentRequest.GlossariesEntry
  4787  	nil,                                       // 51: google.cloud.translation.v3beta1.BatchTranslateDocumentRequest.FormatConversionsEntry
  4788  	(*timestamppb.Timestamp)(nil),             // 52: google.protobuf.Timestamp
  4789  	(*longrunning.Operation)(nil),             // 53: google.longrunning.Operation
  4790  }
  4791  var file_google_cloud_translate_v3beta1_translation_service_proto_depIdxs = []int32{
  4792  	4,  // 0: google.cloud.translation.v3beta1.TranslateTextRequest.glossary_config:type_name -> google.cloud.translation.v3beta1.TranslateTextGlossaryConfig
  4793  	41, // 1: google.cloud.translation.v3beta1.TranslateTextRequest.labels:type_name -> google.cloud.translation.v3beta1.TranslateTextRequest.LabelsEntry
  4794  	7,  // 2: google.cloud.translation.v3beta1.TranslateTextResponse.translations:type_name -> google.cloud.translation.v3beta1.Translation
  4795  	7,  // 3: google.cloud.translation.v3beta1.TranslateTextResponse.glossary_translations:type_name -> google.cloud.translation.v3beta1.Translation
  4796  	4,  // 4: google.cloud.translation.v3beta1.Translation.glossary_config:type_name -> google.cloud.translation.v3beta1.TranslateTextGlossaryConfig
  4797  	42, // 5: google.cloud.translation.v3beta1.DetectLanguageRequest.labels:type_name -> google.cloud.translation.v3beta1.DetectLanguageRequest.LabelsEntry
  4798  	9,  // 6: google.cloud.translation.v3beta1.DetectLanguageResponse.languages:type_name -> google.cloud.translation.v3beta1.DetectedLanguage
  4799  	13, // 7: google.cloud.translation.v3beta1.SupportedLanguages.languages:type_name -> google.cloud.translation.v3beta1.SupportedLanguage
  4800  	14, // 8: google.cloud.translation.v3beta1.InputConfig.gcs_source:type_name -> google.cloud.translation.v3beta1.GcsSource
  4801  	16, // 9: google.cloud.translation.v3beta1.OutputConfig.gcs_destination:type_name -> google.cloud.translation.v3beta1.GcsDestination
  4802  	14, // 10: google.cloud.translation.v3beta1.DocumentInputConfig.gcs_source:type_name -> google.cloud.translation.v3beta1.GcsSource
  4803  	16, // 11: google.cloud.translation.v3beta1.DocumentOutputConfig.gcs_destination:type_name -> google.cloud.translation.v3beta1.GcsDestination
  4804  	18, // 12: google.cloud.translation.v3beta1.TranslateDocumentRequest.document_input_config:type_name -> google.cloud.translation.v3beta1.DocumentInputConfig
  4805  	19, // 13: google.cloud.translation.v3beta1.TranslateDocumentRequest.document_output_config:type_name -> google.cloud.translation.v3beta1.DocumentOutputConfig
  4806  	4,  // 14: google.cloud.translation.v3beta1.TranslateDocumentRequest.glossary_config:type_name -> google.cloud.translation.v3beta1.TranslateTextGlossaryConfig
  4807  	43, // 15: google.cloud.translation.v3beta1.TranslateDocumentRequest.labels:type_name -> google.cloud.translation.v3beta1.TranslateDocumentRequest.LabelsEntry
  4808  	21, // 16: google.cloud.translation.v3beta1.TranslateDocumentResponse.document_translation:type_name -> google.cloud.translation.v3beta1.DocumentTranslation
  4809  	21, // 17: google.cloud.translation.v3beta1.TranslateDocumentResponse.glossary_document_translation:type_name -> google.cloud.translation.v3beta1.DocumentTranslation
  4810  	4,  // 18: google.cloud.translation.v3beta1.TranslateDocumentResponse.glossary_config:type_name -> google.cloud.translation.v3beta1.TranslateTextGlossaryConfig
  4811  	44, // 19: google.cloud.translation.v3beta1.BatchTranslateTextRequest.models:type_name -> google.cloud.translation.v3beta1.BatchTranslateTextRequest.ModelsEntry
  4812  	15, // 20: google.cloud.translation.v3beta1.BatchTranslateTextRequest.input_configs:type_name -> google.cloud.translation.v3beta1.InputConfig
  4813  	17, // 21: google.cloud.translation.v3beta1.BatchTranslateTextRequest.output_config:type_name -> google.cloud.translation.v3beta1.OutputConfig
  4814  	45, // 22: google.cloud.translation.v3beta1.BatchTranslateTextRequest.glossaries:type_name -> google.cloud.translation.v3beta1.BatchTranslateTextRequest.GlossariesEntry
  4815  	46, // 23: google.cloud.translation.v3beta1.BatchTranslateTextRequest.labels:type_name -> google.cloud.translation.v3beta1.BatchTranslateTextRequest.LabelsEntry
  4816  	0,  // 24: google.cloud.translation.v3beta1.BatchTranslateMetadata.state:type_name -> google.cloud.translation.v3beta1.BatchTranslateMetadata.State
  4817  	52, // 25: google.cloud.translation.v3beta1.BatchTranslateMetadata.submit_time:type_name -> google.protobuf.Timestamp
  4818  	52, // 26: google.cloud.translation.v3beta1.BatchTranslateResponse.submit_time:type_name -> google.protobuf.Timestamp
  4819  	52, // 27: google.cloud.translation.v3beta1.BatchTranslateResponse.end_time:type_name -> google.protobuf.Timestamp
  4820  	14, // 28: google.cloud.translation.v3beta1.GlossaryInputConfig.gcs_source:type_name -> google.cloud.translation.v3beta1.GcsSource
  4821  	47, // 29: google.cloud.translation.v3beta1.Glossary.language_pair:type_name -> google.cloud.translation.v3beta1.Glossary.LanguageCodePair
  4822  	48, // 30: google.cloud.translation.v3beta1.Glossary.language_codes_set:type_name -> google.cloud.translation.v3beta1.Glossary.LanguageCodesSet
  4823  	26, // 31: google.cloud.translation.v3beta1.Glossary.input_config:type_name -> google.cloud.translation.v3beta1.GlossaryInputConfig
  4824  	52, // 32: google.cloud.translation.v3beta1.Glossary.submit_time:type_name -> google.protobuf.Timestamp
  4825  	52, // 33: google.cloud.translation.v3beta1.Glossary.end_time:type_name -> google.protobuf.Timestamp
  4826  	27, // 34: google.cloud.translation.v3beta1.CreateGlossaryRequest.glossary:type_name -> google.cloud.translation.v3beta1.Glossary
  4827  	27, // 35: google.cloud.translation.v3beta1.ListGlossariesResponse.glossaries:type_name -> google.cloud.translation.v3beta1.Glossary
  4828  	1,  // 36: google.cloud.translation.v3beta1.CreateGlossaryMetadata.state:type_name -> google.cloud.translation.v3beta1.CreateGlossaryMetadata.State
  4829  	52, // 37: google.cloud.translation.v3beta1.CreateGlossaryMetadata.submit_time:type_name -> google.protobuf.Timestamp
  4830  	2,  // 38: google.cloud.translation.v3beta1.DeleteGlossaryMetadata.state:type_name -> google.cloud.translation.v3beta1.DeleteGlossaryMetadata.State
  4831  	52, // 39: google.cloud.translation.v3beta1.DeleteGlossaryMetadata.submit_time:type_name -> google.protobuf.Timestamp
  4832  	52, // 40: google.cloud.translation.v3beta1.DeleteGlossaryResponse.submit_time:type_name -> google.protobuf.Timestamp
  4833  	52, // 41: google.cloud.translation.v3beta1.DeleteGlossaryResponse.end_time:type_name -> google.protobuf.Timestamp
  4834  	37, // 42: google.cloud.translation.v3beta1.BatchTranslateDocumentRequest.input_configs:type_name -> google.cloud.translation.v3beta1.BatchDocumentInputConfig
  4835  	38, // 43: google.cloud.translation.v3beta1.BatchTranslateDocumentRequest.output_config:type_name -> google.cloud.translation.v3beta1.BatchDocumentOutputConfig
  4836  	49, // 44: google.cloud.translation.v3beta1.BatchTranslateDocumentRequest.models:type_name -> google.cloud.translation.v3beta1.BatchTranslateDocumentRequest.ModelsEntry
  4837  	50, // 45: google.cloud.translation.v3beta1.BatchTranslateDocumentRequest.glossaries:type_name -> google.cloud.translation.v3beta1.BatchTranslateDocumentRequest.GlossariesEntry
  4838  	51, // 46: google.cloud.translation.v3beta1.BatchTranslateDocumentRequest.format_conversions:type_name -> google.cloud.translation.v3beta1.BatchTranslateDocumentRequest.FormatConversionsEntry
  4839  	14, // 47: google.cloud.translation.v3beta1.BatchDocumentInputConfig.gcs_source:type_name -> google.cloud.translation.v3beta1.GcsSource
  4840  	16, // 48: google.cloud.translation.v3beta1.BatchDocumentOutputConfig.gcs_destination:type_name -> google.cloud.translation.v3beta1.GcsDestination
  4841  	52, // 49: google.cloud.translation.v3beta1.BatchTranslateDocumentResponse.submit_time:type_name -> google.protobuf.Timestamp
  4842  	52, // 50: google.cloud.translation.v3beta1.BatchTranslateDocumentResponse.end_time:type_name -> google.protobuf.Timestamp
  4843  	3,  // 51: google.cloud.translation.v3beta1.BatchTranslateDocumentMetadata.state:type_name -> google.cloud.translation.v3beta1.BatchTranslateDocumentMetadata.State
  4844  	52, // 52: google.cloud.translation.v3beta1.BatchTranslateDocumentMetadata.submit_time:type_name -> google.protobuf.Timestamp
  4845  	4,  // 53: google.cloud.translation.v3beta1.BatchTranslateTextRequest.GlossariesEntry.value:type_name -> google.cloud.translation.v3beta1.TranslateTextGlossaryConfig
  4846  	4,  // 54: google.cloud.translation.v3beta1.BatchTranslateDocumentRequest.GlossariesEntry.value:type_name -> google.cloud.translation.v3beta1.TranslateTextGlossaryConfig
  4847  	5,  // 55: google.cloud.translation.v3beta1.TranslationService.TranslateText:input_type -> google.cloud.translation.v3beta1.TranslateTextRequest
  4848  	8,  // 56: google.cloud.translation.v3beta1.TranslationService.DetectLanguage:input_type -> google.cloud.translation.v3beta1.DetectLanguageRequest
  4849  	11, // 57: google.cloud.translation.v3beta1.TranslationService.GetSupportedLanguages:input_type -> google.cloud.translation.v3beta1.GetSupportedLanguagesRequest
  4850  	20, // 58: google.cloud.translation.v3beta1.TranslationService.TranslateDocument:input_type -> google.cloud.translation.v3beta1.TranslateDocumentRequest
  4851  	23, // 59: google.cloud.translation.v3beta1.TranslationService.BatchTranslateText:input_type -> google.cloud.translation.v3beta1.BatchTranslateTextRequest
  4852  	36, // 60: google.cloud.translation.v3beta1.TranslationService.BatchTranslateDocument:input_type -> google.cloud.translation.v3beta1.BatchTranslateDocumentRequest
  4853  	28, // 61: google.cloud.translation.v3beta1.TranslationService.CreateGlossary:input_type -> google.cloud.translation.v3beta1.CreateGlossaryRequest
  4854  	31, // 62: google.cloud.translation.v3beta1.TranslationService.ListGlossaries:input_type -> google.cloud.translation.v3beta1.ListGlossariesRequest
  4855  	29, // 63: google.cloud.translation.v3beta1.TranslationService.GetGlossary:input_type -> google.cloud.translation.v3beta1.GetGlossaryRequest
  4856  	30, // 64: google.cloud.translation.v3beta1.TranslationService.DeleteGlossary:input_type -> google.cloud.translation.v3beta1.DeleteGlossaryRequest
  4857  	6,  // 65: google.cloud.translation.v3beta1.TranslationService.TranslateText:output_type -> google.cloud.translation.v3beta1.TranslateTextResponse
  4858  	10, // 66: google.cloud.translation.v3beta1.TranslationService.DetectLanguage:output_type -> google.cloud.translation.v3beta1.DetectLanguageResponse
  4859  	12, // 67: google.cloud.translation.v3beta1.TranslationService.GetSupportedLanguages:output_type -> google.cloud.translation.v3beta1.SupportedLanguages
  4860  	22, // 68: google.cloud.translation.v3beta1.TranslationService.TranslateDocument:output_type -> google.cloud.translation.v3beta1.TranslateDocumentResponse
  4861  	53, // 69: google.cloud.translation.v3beta1.TranslationService.BatchTranslateText:output_type -> google.longrunning.Operation
  4862  	53, // 70: google.cloud.translation.v3beta1.TranslationService.BatchTranslateDocument:output_type -> google.longrunning.Operation
  4863  	53, // 71: google.cloud.translation.v3beta1.TranslationService.CreateGlossary:output_type -> google.longrunning.Operation
  4864  	32, // 72: google.cloud.translation.v3beta1.TranslationService.ListGlossaries:output_type -> google.cloud.translation.v3beta1.ListGlossariesResponse
  4865  	27, // 73: google.cloud.translation.v3beta1.TranslationService.GetGlossary:output_type -> google.cloud.translation.v3beta1.Glossary
  4866  	53, // 74: google.cloud.translation.v3beta1.TranslationService.DeleteGlossary:output_type -> google.longrunning.Operation
  4867  	65, // [65:75] is the sub-list for method output_type
  4868  	55, // [55:65] is the sub-list for method input_type
  4869  	55, // [55:55] is the sub-list for extension type_name
  4870  	55, // [55:55] is the sub-list for extension extendee
  4871  	0,  // [0:55] is the sub-list for field type_name
  4872  }
  4873  
  4874  func init() { file_google_cloud_translate_v3beta1_translation_service_proto_init() }
  4875  func file_google_cloud_translate_v3beta1_translation_service_proto_init() {
  4876  	if File_google_cloud_translate_v3beta1_translation_service_proto != nil {
  4877  		return
  4878  	}
  4879  	if !protoimpl.UnsafeEnabled {
  4880  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  4881  			switch v := v.(*TranslateTextGlossaryConfig); i {
  4882  			case 0:
  4883  				return &v.state
  4884  			case 1:
  4885  				return &v.sizeCache
  4886  			case 2:
  4887  				return &v.unknownFields
  4888  			default:
  4889  				return nil
  4890  			}
  4891  		}
  4892  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  4893  			switch v := v.(*TranslateTextRequest); i {
  4894  			case 0:
  4895  				return &v.state
  4896  			case 1:
  4897  				return &v.sizeCache
  4898  			case 2:
  4899  				return &v.unknownFields
  4900  			default:
  4901  				return nil
  4902  			}
  4903  		}
  4904  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  4905  			switch v := v.(*TranslateTextResponse); i {
  4906  			case 0:
  4907  				return &v.state
  4908  			case 1:
  4909  				return &v.sizeCache
  4910  			case 2:
  4911  				return &v.unknownFields
  4912  			default:
  4913  				return nil
  4914  			}
  4915  		}
  4916  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  4917  			switch v := v.(*Translation); i {
  4918  			case 0:
  4919  				return &v.state
  4920  			case 1:
  4921  				return &v.sizeCache
  4922  			case 2:
  4923  				return &v.unknownFields
  4924  			default:
  4925  				return nil
  4926  			}
  4927  		}
  4928  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  4929  			switch v := v.(*DetectLanguageRequest); i {
  4930  			case 0:
  4931  				return &v.state
  4932  			case 1:
  4933  				return &v.sizeCache
  4934  			case 2:
  4935  				return &v.unknownFields
  4936  			default:
  4937  				return nil
  4938  			}
  4939  		}
  4940  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  4941  			switch v := v.(*DetectedLanguage); i {
  4942  			case 0:
  4943  				return &v.state
  4944  			case 1:
  4945  				return &v.sizeCache
  4946  			case 2:
  4947  				return &v.unknownFields
  4948  			default:
  4949  				return nil
  4950  			}
  4951  		}
  4952  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  4953  			switch v := v.(*DetectLanguageResponse); i {
  4954  			case 0:
  4955  				return &v.state
  4956  			case 1:
  4957  				return &v.sizeCache
  4958  			case 2:
  4959  				return &v.unknownFields
  4960  			default:
  4961  				return nil
  4962  			}
  4963  		}
  4964  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  4965  			switch v := v.(*GetSupportedLanguagesRequest); i {
  4966  			case 0:
  4967  				return &v.state
  4968  			case 1:
  4969  				return &v.sizeCache
  4970  			case 2:
  4971  				return &v.unknownFields
  4972  			default:
  4973  				return nil
  4974  			}
  4975  		}
  4976  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  4977  			switch v := v.(*SupportedLanguages); i {
  4978  			case 0:
  4979  				return &v.state
  4980  			case 1:
  4981  				return &v.sizeCache
  4982  			case 2:
  4983  				return &v.unknownFields
  4984  			default:
  4985  				return nil
  4986  			}
  4987  		}
  4988  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  4989  			switch v := v.(*SupportedLanguage); i {
  4990  			case 0:
  4991  				return &v.state
  4992  			case 1:
  4993  				return &v.sizeCache
  4994  			case 2:
  4995  				return &v.unknownFields
  4996  			default:
  4997  				return nil
  4998  			}
  4999  		}
  5000  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  5001  			switch v := v.(*GcsSource); i {
  5002  			case 0:
  5003  				return &v.state
  5004  			case 1:
  5005  				return &v.sizeCache
  5006  			case 2:
  5007  				return &v.unknownFields
  5008  			default:
  5009  				return nil
  5010  			}
  5011  		}
  5012  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  5013  			switch v := v.(*InputConfig); i {
  5014  			case 0:
  5015  				return &v.state
  5016  			case 1:
  5017  				return &v.sizeCache
  5018  			case 2:
  5019  				return &v.unknownFields
  5020  			default:
  5021  				return nil
  5022  			}
  5023  		}
  5024  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  5025  			switch v := v.(*GcsDestination); i {
  5026  			case 0:
  5027  				return &v.state
  5028  			case 1:
  5029  				return &v.sizeCache
  5030  			case 2:
  5031  				return &v.unknownFields
  5032  			default:
  5033  				return nil
  5034  			}
  5035  		}
  5036  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  5037  			switch v := v.(*OutputConfig); i {
  5038  			case 0:
  5039  				return &v.state
  5040  			case 1:
  5041  				return &v.sizeCache
  5042  			case 2:
  5043  				return &v.unknownFields
  5044  			default:
  5045  				return nil
  5046  			}
  5047  		}
  5048  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
  5049  			switch v := v.(*DocumentInputConfig); i {
  5050  			case 0:
  5051  				return &v.state
  5052  			case 1:
  5053  				return &v.sizeCache
  5054  			case 2:
  5055  				return &v.unknownFields
  5056  			default:
  5057  				return nil
  5058  			}
  5059  		}
  5060  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
  5061  			switch v := v.(*DocumentOutputConfig); i {
  5062  			case 0:
  5063  				return &v.state
  5064  			case 1:
  5065  				return &v.sizeCache
  5066  			case 2:
  5067  				return &v.unknownFields
  5068  			default:
  5069  				return nil
  5070  			}
  5071  		}
  5072  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
  5073  			switch v := v.(*TranslateDocumentRequest); i {
  5074  			case 0:
  5075  				return &v.state
  5076  			case 1:
  5077  				return &v.sizeCache
  5078  			case 2:
  5079  				return &v.unknownFields
  5080  			default:
  5081  				return nil
  5082  			}
  5083  		}
  5084  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
  5085  			switch v := v.(*DocumentTranslation); i {
  5086  			case 0:
  5087  				return &v.state
  5088  			case 1:
  5089  				return &v.sizeCache
  5090  			case 2:
  5091  				return &v.unknownFields
  5092  			default:
  5093  				return nil
  5094  			}
  5095  		}
  5096  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
  5097  			switch v := v.(*TranslateDocumentResponse); i {
  5098  			case 0:
  5099  				return &v.state
  5100  			case 1:
  5101  				return &v.sizeCache
  5102  			case 2:
  5103  				return &v.unknownFields
  5104  			default:
  5105  				return nil
  5106  			}
  5107  		}
  5108  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
  5109  			switch v := v.(*BatchTranslateTextRequest); i {
  5110  			case 0:
  5111  				return &v.state
  5112  			case 1:
  5113  				return &v.sizeCache
  5114  			case 2:
  5115  				return &v.unknownFields
  5116  			default:
  5117  				return nil
  5118  			}
  5119  		}
  5120  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
  5121  			switch v := v.(*BatchTranslateMetadata); i {
  5122  			case 0:
  5123  				return &v.state
  5124  			case 1:
  5125  				return &v.sizeCache
  5126  			case 2:
  5127  				return &v.unknownFields
  5128  			default:
  5129  				return nil
  5130  			}
  5131  		}
  5132  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
  5133  			switch v := v.(*BatchTranslateResponse); i {
  5134  			case 0:
  5135  				return &v.state
  5136  			case 1:
  5137  				return &v.sizeCache
  5138  			case 2:
  5139  				return &v.unknownFields
  5140  			default:
  5141  				return nil
  5142  			}
  5143  		}
  5144  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
  5145  			switch v := v.(*GlossaryInputConfig); i {
  5146  			case 0:
  5147  				return &v.state
  5148  			case 1:
  5149  				return &v.sizeCache
  5150  			case 2:
  5151  				return &v.unknownFields
  5152  			default:
  5153  				return nil
  5154  			}
  5155  		}
  5156  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
  5157  			switch v := v.(*Glossary); i {
  5158  			case 0:
  5159  				return &v.state
  5160  			case 1:
  5161  				return &v.sizeCache
  5162  			case 2:
  5163  				return &v.unknownFields
  5164  			default:
  5165  				return nil
  5166  			}
  5167  		}
  5168  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
  5169  			switch v := v.(*CreateGlossaryRequest); i {
  5170  			case 0:
  5171  				return &v.state
  5172  			case 1:
  5173  				return &v.sizeCache
  5174  			case 2:
  5175  				return &v.unknownFields
  5176  			default:
  5177  				return nil
  5178  			}
  5179  		}
  5180  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
  5181  			switch v := v.(*GetGlossaryRequest); i {
  5182  			case 0:
  5183  				return &v.state
  5184  			case 1:
  5185  				return &v.sizeCache
  5186  			case 2:
  5187  				return &v.unknownFields
  5188  			default:
  5189  				return nil
  5190  			}
  5191  		}
  5192  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
  5193  			switch v := v.(*DeleteGlossaryRequest); i {
  5194  			case 0:
  5195  				return &v.state
  5196  			case 1:
  5197  				return &v.sizeCache
  5198  			case 2:
  5199  				return &v.unknownFields
  5200  			default:
  5201  				return nil
  5202  			}
  5203  		}
  5204  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
  5205  			switch v := v.(*ListGlossariesRequest); i {
  5206  			case 0:
  5207  				return &v.state
  5208  			case 1:
  5209  				return &v.sizeCache
  5210  			case 2:
  5211  				return &v.unknownFields
  5212  			default:
  5213  				return nil
  5214  			}
  5215  		}
  5216  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
  5217  			switch v := v.(*ListGlossariesResponse); i {
  5218  			case 0:
  5219  				return &v.state
  5220  			case 1:
  5221  				return &v.sizeCache
  5222  			case 2:
  5223  				return &v.unknownFields
  5224  			default:
  5225  				return nil
  5226  			}
  5227  		}
  5228  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
  5229  			switch v := v.(*CreateGlossaryMetadata); i {
  5230  			case 0:
  5231  				return &v.state
  5232  			case 1:
  5233  				return &v.sizeCache
  5234  			case 2:
  5235  				return &v.unknownFields
  5236  			default:
  5237  				return nil
  5238  			}
  5239  		}
  5240  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
  5241  			switch v := v.(*DeleteGlossaryMetadata); i {
  5242  			case 0:
  5243  				return &v.state
  5244  			case 1:
  5245  				return &v.sizeCache
  5246  			case 2:
  5247  				return &v.unknownFields
  5248  			default:
  5249  				return nil
  5250  			}
  5251  		}
  5252  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
  5253  			switch v := v.(*DeleteGlossaryResponse); i {
  5254  			case 0:
  5255  				return &v.state
  5256  			case 1:
  5257  				return &v.sizeCache
  5258  			case 2:
  5259  				return &v.unknownFields
  5260  			default:
  5261  				return nil
  5262  			}
  5263  		}
  5264  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
  5265  			switch v := v.(*BatchTranslateDocumentRequest); i {
  5266  			case 0:
  5267  				return &v.state
  5268  			case 1:
  5269  				return &v.sizeCache
  5270  			case 2:
  5271  				return &v.unknownFields
  5272  			default:
  5273  				return nil
  5274  			}
  5275  		}
  5276  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
  5277  			switch v := v.(*BatchDocumentInputConfig); i {
  5278  			case 0:
  5279  				return &v.state
  5280  			case 1:
  5281  				return &v.sizeCache
  5282  			case 2:
  5283  				return &v.unknownFields
  5284  			default:
  5285  				return nil
  5286  			}
  5287  		}
  5288  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
  5289  			switch v := v.(*BatchDocumentOutputConfig); i {
  5290  			case 0:
  5291  				return &v.state
  5292  			case 1:
  5293  				return &v.sizeCache
  5294  			case 2:
  5295  				return &v.unknownFields
  5296  			default:
  5297  				return nil
  5298  			}
  5299  		}
  5300  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
  5301  			switch v := v.(*BatchTranslateDocumentResponse); i {
  5302  			case 0:
  5303  				return &v.state
  5304  			case 1:
  5305  				return &v.sizeCache
  5306  			case 2:
  5307  				return &v.unknownFields
  5308  			default:
  5309  				return nil
  5310  			}
  5311  		}
  5312  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
  5313  			switch v := v.(*BatchTranslateDocumentMetadata); i {
  5314  			case 0:
  5315  				return &v.state
  5316  			case 1:
  5317  				return &v.sizeCache
  5318  			case 2:
  5319  				return &v.unknownFields
  5320  			default:
  5321  				return nil
  5322  			}
  5323  		}
  5324  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
  5325  			switch v := v.(*Glossary_LanguageCodePair); i {
  5326  			case 0:
  5327  				return &v.state
  5328  			case 1:
  5329  				return &v.sizeCache
  5330  			case 2:
  5331  				return &v.unknownFields
  5332  			default:
  5333  				return nil
  5334  			}
  5335  		}
  5336  		file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
  5337  			switch v := v.(*Glossary_LanguageCodesSet); i {
  5338  			case 0:
  5339  				return &v.state
  5340  			case 1:
  5341  				return &v.sizeCache
  5342  			case 2:
  5343  				return &v.unknownFields
  5344  			default:
  5345  				return nil
  5346  			}
  5347  		}
  5348  	}
  5349  	file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[4].OneofWrappers = []interface{}{
  5350  		(*DetectLanguageRequest_Content)(nil),
  5351  	}
  5352  	file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[11].OneofWrappers = []interface{}{
  5353  		(*InputConfig_GcsSource)(nil),
  5354  	}
  5355  	file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[13].OneofWrappers = []interface{}{
  5356  		(*OutputConfig_GcsDestination)(nil),
  5357  	}
  5358  	file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[14].OneofWrappers = []interface{}{
  5359  		(*DocumentInputConfig_Content)(nil),
  5360  		(*DocumentInputConfig_GcsSource)(nil),
  5361  	}
  5362  	file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[15].OneofWrappers = []interface{}{
  5363  		(*DocumentOutputConfig_GcsDestination)(nil),
  5364  	}
  5365  	file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[22].OneofWrappers = []interface{}{
  5366  		(*GlossaryInputConfig_GcsSource)(nil),
  5367  	}
  5368  	file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[23].OneofWrappers = []interface{}{
  5369  		(*Glossary_LanguagePair)(nil),
  5370  		(*Glossary_LanguageCodesSet_)(nil),
  5371  	}
  5372  	file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[33].OneofWrappers = []interface{}{
  5373  		(*BatchDocumentInputConfig_GcsSource)(nil),
  5374  	}
  5375  	file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[34].OneofWrappers = []interface{}{
  5376  		(*BatchDocumentOutputConfig_GcsDestination)(nil),
  5377  	}
  5378  	type x struct{}
  5379  	out := protoimpl.TypeBuilder{
  5380  		File: protoimpl.DescBuilder{
  5381  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  5382  			RawDescriptor: file_google_cloud_translate_v3beta1_translation_service_proto_rawDesc,
  5383  			NumEnums:      4,
  5384  			NumMessages:   48,
  5385  			NumExtensions: 0,
  5386  			NumServices:   1,
  5387  		},
  5388  		GoTypes:           file_google_cloud_translate_v3beta1_translation_service_proto_goTypes,
  5389  		DependencyIndexes: file_google_cloud_translate_v3beta1_translation_service_proto_depIdxs,
  5390  		EnumInfos:         file_google_cloud_translate_v3beta1_translation_service_proto_enumTypes,
  5391  		MessageInfos:      file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes,
  5392  	}.Build()
  5393  	File_google_cloud_translate_v3beta1_translation_service_proto = out.File
  5394  	file_google_cloud_translate_v3beta1_translation_service_proto_rawDesc = nil
  5395  	file_google_cloud_translate_v3beta1_translation_service_proto_goTypes = nil
  5396  	file_google_cloud_translate_v3beta1_translation_service_proto_depIdxs = nil
  5397  }
  5398  
  5399  // Reference imports to suppress errors if they are not otherwise used.
  5400  var _ context.Context
  5401  var _ grpc.ClientConnInterface
  5402  
  5403  // This is a compile-time assertion to ensure that this generated file
  5404  // is compatible with the grpc package it is being compiled against.
  5405  const _ = grpc.SupportPackageIsVersion6
  5406  
  5407  // TranslationServiceClient is the client API for TranslationService service.
  5408  //
  5409  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
  5410  type TranslationServiceClient interface {
  5411  	// Translates input text and returns translated text.
  5412  	TranslateText(ctx context.Context, in *TranslateTextRequest, opts ...grpc.CallOption) (*TranslateTextResponse, error)
  5413  	// Detects the language of text within a request.
  5414  	DetectLanguage(ctx context.Context, in *DetectLanguageRequest, opts ...grpc.CallOption) (*DetectLanguageResponse, error)
  5415  	// Returns a list of supported languages for translation.
  5416  	GetSupportedLanguages(ctx context.Context, in *GetSupportedLanguagesRequest, opts ...grpc.CallOption) (*SupportedLanguages, error)
  5417  	// Translates documents in synchronous mode.
  5418  	TranslateDocument(ctx context.Context, in *TranslateDocumentRequest, opts ...grpc.CallOption) (*TranslateDocumentResponse, error)
  5419  	// Translates a large volume of text in asynchronous batch mode.
  5420  	// This function provides real-time output as the inputs are being processed.
  5421  	// If caller cancels a request, the partial results (for an input file, it's
  5422  	// all or nothing) may still be available on the specified output location.
  5423  	//
  5424  	// This call returns immediately and you can
  5425  	// use google.longrunning.Operation.name to poll the status of the call.
  5426  	BatchTranslateText(ctx context.Context, in *BatchTranslateTextRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
  5427  	// Translates a large volume of documents in asynchronous batch mode.
  5428  	// This function provides real-time output as the inputs are being processed.
  5429  	// If caller cancels a request, the partial results (for an input file, it's
  5430  	// all or nothing) may still be available on the specified output location.
  5431  	//
  5432  	// This call returns immediately and you can use
  5433  	// google.longrunning.Operation.name to poll the status of the call.
  5434  	BatchTranslateDocument(ctx context.Context, in *BatchTranslateDocumentRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
  5435  	// Creates a glossary and returns the long-running operation. Returns
  5436  	// NOT_FOUND, if the project doesn't exist.
  5437  	CreateGlossary(ctx context.Context, in *CreateGlossaryRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
  5438  	// Lists glossaries in a project. Returns NOT_FOUND, if the project doesn't
  5439  	// exist.
  5440  	ListGlossaries(ctx context.Context, in *ListGlossariesRequest, opts ...grpc.CallOption) (*ListGlossariesResponse, error)
  5441  	// Gets a glossary. Returns NOT_FOUND, if the glossary doesn't
  5442  	// exist.
  5443  	GetGlossary(ctx context.Context, in *GetGlossaryRequest, opts ...grpc.CallOption) (*Glossary, error)
  5444  	// Deletes a glossary, or cancels glossary construction
  5445  	// if the glossary isn't created yet.
  5446  	// Returns NOT_FOUND, if the glossary doesn't exist.
  5447  	DeleteGlossary(ctx context.Context, in *DeleteGlossaryRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
  5448  }
  5449  
  5450  type translationServiceClient struct {
  5451  	cc grpc.ClientConnInterface
  5452  }
  5453  
  5454  func NewTranslationServiceClient(cc grpc.ClientConnInterface) TranslationServiceClient {
  5455  	return &translationServiceClient{cc}
  5456  }
  5457  
  5458  func (c *translationServiceClient) TranslateText(ctx context.Context, in *TranslateTextRequest, opts ...grpc.CallOption) (*TranslateTextResponse, error) {
  5459  	out := new(TranslateTextResponse)
  5460  	err := c.cc.Invoke(ctx, "/google.cloud.translation.v3beta1.TranslationService/TranslateText", in, out, opts...)
  5461  	if err != nil {
  5462  		return nil, err
  5463  	}
  5464  	return out, nil
  5465  }
  5466  
  5467  func (c *translationServiceClient) DetectLanguage(ctx context.Context, in *DetectLanguageRequest, opts ...grpc.CallOption) (*DetectLanguageResponse, error) {
  5468  	out := new(DetectLanguageResponse)
  5469  	err := c.cc.Invoke(ctx, "/google.cloud.translation.v3beta1.TranslationService/DetectLanguage", in, out, opts...)
  5470  	if err != nil {
  5471  		return nil, err
  5472  	}
  5473  	return out, nil
  5474  }
  5475  
  5476  func (c *translationServiceClient) GetSupportedLanguages(ctx context.Context, in *GetSupportedLanguagesRequest, opts ...grpc.CallOption) (*SupportedLanguages, error) {
  5477  	out := new(SupportedLanguages)
  5478  	err := c.cc.Invoke(ctx, "/google.cloud.translation.v3beta1.TranslationService/GetSupportedLanguages", in, out, opts...)
  5479  	if err != nil {
  5480  		return nil, err
  5481  	}
  5482  	return out, nil
  5483  }
  5484  
  5485  func (c *translationServiceClient) TranslateDocument(ctx context.Context, in *TranslateDocumentRequest, opts ...grpc.CallOption) (*TranslateDocumentResponse, error) {
  5486  	out := new(TranslateDocumentResponse)
  5487  	err := c.cc.Invoke(ctx, "/google.cloud.translation.v3beta1.TranslationService/TranslateDocument", in, out, opts...)
  5488  	if err != nil {
  5489  		return nil, err
  5490  	}
  5491  	return out, nil
  5492  }
  5493  
  5494  func (c *translationServiceClient) BatchTranslateText(ctx context.Context, in *BatchTranslateTextRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
  5495  	out := new(longrunning.Operation)
  5496  	err := c.cc.Invoke(ctx, "/google.cloud.translation.v3beta1.TranslationService/BatchTranslateText", in, out, opts...)
  5497  	if err != nil {
  5498  		return nil, err
  5499  	}
  5500  	return out, nil
  5501  }
  5502  
  5503  func (c *translationServiceClient) BatchTranslateDocument(ctx context.Context, in *BatchTranslateDocumentRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
  5504  	out := new(longrunning.Operation)
  5505  	err := c.cc.Invoke(ctx, "/google.cloud.translation.v3beta1.TranslationService/BatchTranslateDocument", in, out, opts...)
  5506  	if err != nil {
  5507  		return nil, err
  5508  	}
  5509  	return out, nil
  5510  }
  5511  
  5512  func (c *translationServiceClient) CreateGlossary(ctx context.Context, in *CreateGlossaryRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
  5513  	out := new(longrunning.Operation)
  5514  	err := c.cc.Invoke(ctx, "/google.cloud.translation.v3beta1.TranslationService/CreateGlossary", in, out, opts...)
  5515  	if err != nil {
  5516  		return nil, err
  5517  	}
  5518  	return out, nil
  5519  }
  5520  
  5521  func (c *translationServiceClient) ListGlossaries(ctx context.Context, in *ListGlossariesRequest, opts ...grpc.CallOption) (*ListGlossariesResponse, error) {
  5522  	out := new(ListGlossariesResponse)
  5523  	err := c.cc.Invoke(ctx, "/google.cloud.translation.v3beta1.TranslationService/ListGlossaries", in, out, opts...)
  5524  	if err != nil {
  5525  		return nil, err
  5526  	}
  5527  	return out, nil
  5528  }
  5529  
  5530  func (c *translationServiceClient) GetGlossary(ctx context.Context, in *GetGlossaryRequest, opts ...grpc.CallOption) (*Glossary, error) {
  5531  	out := new(Glossary)
  5532  	err := c.cc.Invoke(ctx, "/google.cloud.translation.v3beta1.TranslationService/GetGlossary", in, out, opts...)
  5533  	if err != nil {
  5534  		return nil, err
  5535  	}
  5536  	return out, nil
  5537  }
  5538  
  5539  func (c *translationServiceClient) DeleteGlossary(ctx context.Context, in *DeleteGlossaryRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
  5540  	out := new(longrunning.Operation)
  5541  	err := c.cc.Invoke(ctx, "/google.cloud.translation.v3beta1.TranslationService/DeleteGlossary", in, out, opts...)
  5542  	if err != nil {
  5543  		return nil, err
  5544  	}
  5545  	return out, nil
  5546  }
  5547  
  5548  // TranslationServiceServer is the server API for TranslationService service.
  5549  type TranslationServiceServer interface {
  5550  	// Translates input text and returns translated text.
  5551  	TranslateText(context.Context, *TranslateTextRequest) (*TranslateTextResponse, error)
  5552  	// Detects the language of text within a request.
  5553  	DetectLanguage(context.Context, *DetectLanguageRequest) (*DetectLanguageResponse, error)
  5554  	// Returns a list of supported languages for translation.
  5555  	GetSupportedLanguages(context.Context, *GetSupportedLanguagesRequest) (*SupportedLanguages, error)
  5556  	// Translates documents in synchronous mode.
  5557  	TranslateDocument(context.Context, *TranslateDocumentRequest) (*TranslateDocumentResponse, error)
  5558  	// Translates a large volume of text in asynchronous batch mode.
  5559  	// This function provides real-time output as the inputs are being processed.
  5560  	// If caller cancels a request, the partial results (for an input file, it's
  5561  	// all or nothing) may still be available on the specified output location.
  5562  	//
  5563  	// This call returns immediately and you can
  5564  	// use google.longrunning.Operation.name to poll the status of the call.
  5565  	BatchTranslateText(context.Context, *BatchTranslateTextRequest) (*longrunning.Operation, error)
  5566  	// Translates a large volume of documents in asynchronous batch mode.
  5567  	// This function provides real-time output as the inputs are being processed.
  5568  	// If caller cancels a request, the partial results (for an input file, it's
  5569  	// all or nothing) may still be available on the specified output location.
  5570  	//
  5571  	// This call returns immediately and you can use
  5572  	// google.longrunning.Operation.name to poll the status of the call.
  5573  	BatchTranslateDocument(context.Context, *BatchTranslateDocumentRequest) (*longrunning.Operation, error)
  5574  	// Creates a glossary and returns the long-running operation. Returns
  5575  	// NOT_FOUND, if the project doesn't exist.
  5576  	CreateGlossary(context.Context, *CreateGlossaryRequest) (*longrunning.Operation, error)
  5577  	// Lists glossaries in a project. Returns NOT_FOUND, if the project doesn't
  5578  	// exist.
  5579  	ListGlossaries(context.Context, *ListGlossariesRequest) (*ListGlossariesResponse, error)
  5580  	// Gets a glossary. Returns NOT_FOUND, if the glossary doesn't
  5581  	// exist.
  5582  	GetGlossary(context.Context, *GetGlossaryRequest) (*Glossary, error)
  5583  	// Deletes a glossary, or cancels glossary construction
  5584  	// if the glossary isn't created yet.
  5585  	// Returns NOT_FOUND, if the glossary doesn't exist.
  5586  	DeleteGlossary(context.Context, *DeleteGlossaryRequest) (*longrunning.Operation, error)
  5587  }
  5588  
  5589  // UnimplementedTranslationServiceServer can be embedded to have forward compatible implementations.
  5590  type UnimplementedTranslationServiceServer struct {
  5591  }
  5592  
  5593  func (*UnimplementedTranslationServiceServer) TranslateText(context.Context, *TranslateTextRequest) (*TranslateTextResponse, error) {
  5594  	return nil, status.Errorf(codes.Unimplemented, "method TranslateText not implemented")
  5595  }
  5596  func (*UnimplementedTranslationServiceServer) DetectLanguage(context.Context, *DetectLanguageRequest) (*DetectLanguageResponse, error) {
  5597  	return nil, status.Errorf(codes.Unimplemented, "method DetectLanguage not implemented")
  5598  }
  5599  func (*UnimplementedTranslationServiceServer) GetSupportedLanguages(context.Context, *GetSupportedLanguagesRequest) (*SupportedLanguages, error) {
  5600  	return nil, status.Errorf(codes.Unimplemented, "method GetSupportedLanguages not implemented")
  5601  }
  5602  func (*UnimplementedTranslationServiceServer) TranslateDocument(context.Context, *TranslateDocumentRequest) (*TranslateDocumentResponse, error) {
  5603  	return nil, status.Errorf(codes.Unimplemented, "method TranslateDocument not implemented")
  5604  }
  5605  func (*UnimplementedTranslationServiceServer) BatchTranslateText(context.Context, *BatchTranslateTextRequest) (*longrunning.Operation, error) {
  5606  	return nil, status.Errorf(codes.Unimplemented, "method BatchTranslateText not implemented")
  5607  }
  5608  func (*UnimplementedTranslationServiceServer) BatchTranslateDocument(context.Context, *BatchTranslateDocumentRequest) (*longrunning.Operation, error) {
  5609  	return nil, status.Errorf(codes.Unimplemented, "method BatchTranslateDocument not implemented")
  5610  }
  5611  func (*UnimplementedTranslationServiceServer) CreateGlossary(context.Context, *CreateGlossaryRequest) (*longrunning.Operation, error) {
  5612  	return nil, status.Errorf(codes.Unimplemented, "method CreateGlossary not implemented")
  5613  }
  5614  func (*UnimplementedTranslationServiceServer) ListGlossaries(context.Context, *ListGlossariesRequest) (*ListGlossariesResponse, error) {
  5615  	return nil, status.Errorf(codes.Unimplemented, "method ListGlossaries not implemented")
  5616  }
  5617  func (*UnimplementedTranslationServiceServer) GetGlossary(context.Context, *GetGlossaryRequest) (*Glossary, error) {
  5618  	return nil, status.Errorf(codes.Unimplemented, "method GetGlossary not implemented")
  5619  }
  5620  func (*UnimplementedTranslationServiceServer) DeleteGlossary(context.Context, *DeleteGlossaryRequest) (*longrunning.Operation, error) {
  5621  	return nil, status.Errorf(codes.Unimplemented, "method DeleteGlossary not implemented")
  5622  }
  5623  
  5624  func RegisterTranslationServiceServer(s *grpc.Server, srv TranslationServiceServer) {
  5625  	s.RegisterService(&_TranslationService_serviceDesc, srv)
  5626  }
  5627  
  5628  func _TranslationService_TranslateText_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  5629  	in := new(TranslateTextRequest)
  5630  	if err := dec(in); err != nil {
  5631  		return nil, err
  5632  	}
  5633  	if interceptor == nil {
  5634  		return srv.(TranslationServiceServer).TranslateText(ctx, in)
  5635  	}
  5636  	info := &grpc.UnaryServerInfo{
  5637  		Server:     srv,
  5638  		FullMethod: "/google.cloud.translation.v3beta1.TranslationService/TranslateText",
  5639  	}
  5640  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  5641  		return srv.(TranslationServiceServer).TranslateText(ctx, req.(*TranslateTextRequest))
  5642  	}
  5643  	return interceptor(ctx, in, info, handler)
  5644  }
  5645  
  5646  func _TranslationService_DetectLanguage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  5647  	in := new(DetectLanguageRequest)
  5648  	if err := dec(in); err != nil {
  5649  		return nil, err
  5650  	}
  5651  	if interceptor == nil {
  5652  		return srv.(TranslationServiceServer).DetectLanguage(ctx, in)
  5653  	}
  5654  	info := &grpc.UnaryServerInfo{
  5655  		Server:     srv,
  5656  		FullMethod: "/google.cloud.translation.v3beta1.TranslationService/DetectLanguage",
  5657  	}
  5658  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  5659  		return srv.(TranslationServiceServer).DetectLanguage(ctx, req.(*DetectLanguageRequest))
  5660  	}
  5661  	return interceptor(ctx, in, info, handler)
  5662  }
  5663  
  5664  func _TranslationService_GetSupportedLanguages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  5665  	in := new(GetSupportedLanguagesRequest)
  5666  	if err := dec(in); err != nil {
  5667  		return nil, err
  5668  	}
  5669  	if interceptor == nil {
  5670  		return srv.(TranslationServiceServer).GetSupportedLanguages(ctx, in)
  5671  	}
  5672  	info := &grpc.UnaryServerInfo{
  5673  		Server:     srv,
  5674  		FullMethod: "/google.cloud.translation.v3beta1.TranslationService/GetSupportedLanguages",
  5675  	}
  5676  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  5677  		return srv.(TranslationServiceServer).GetSupportedLanguages(ctx, req.(*GetSupportedLanguagesRequest))
  5678  	}
  5679  	return interceptor(ctx, in, info, handler)
  5680  }
  5681  
  5682  func _TranslationService_TranslateDocument_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  5683  	in := new(TranslateDocumentRequest)
  5684  	if err := dec(in); err != nil {
  5685  		return nil, err
  5686  	}
  5687  	if interceptor == nil {
  5688  		return srv.(TranslationServiceServer).TranslateDocument(ctx, in)
  5689  	}
  5690  	info := &grpc.UnaryServerInfo{
  5691  		Server:     srv,
  5692  		FullMethod: "/google.cloud.translation.v3beta1.TranslationService/TranslateDocument",
  5693  	}
  5694  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  5695  		return srv.(TranslationServiceServer).TranslateDocument(ctx, req.(*TranslateDocumentRequest))
  5696  	}
  5697  	return interceptor(ctx, in, info, handler)
  5698  }
  5699  
  5700  func _TranslationService_BatchTranslateText_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  5701  	in := new(BatchTranslateTextRequest)
  5702  	if err := dec(in); err != nil {
  5703  		return nil, err
  5704  	}
  5705  	if interceptor == nil {
  5706  		return srv.(TranslationServiceServer).BatchTranslateText(ctx, in)
  5707  	}
  5708  	info := &grpc.UnaryServerInfo{
  5709  		Server:     srv,
  5710  		FullMethod: "/google.cloud.translation.v3beta1.TranslationService/BatchTranslateText",
  5711  	}
  5712  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  5713  		return srv.(TranslationServiceServer).BatchTranslateText(ctx, req.(*BatchTranslateTextRequest))
  5714  	}
  5715  	return interceptor(ctx, in, info, handler)
  5716  }
  5717  
  5718  func _TranslationService_BatchTranslateDocument_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  5719  	in := new(BatchTranslateDocumentRequest)
  5720  	if err := dec(in); err != nil {
  5721  		return nil, err
  5722  	}
  5723  	if interceptor == nil {
  5724  		return srv.(TranslationServiceServer).BatchTranslateDocument(ctx, in)
  5725  	}
  5726  	info := &grpc.UnaryServerInfo{
  5727  		Server:     srv,
  5728  		FullMethod: "/google.cloud.translation.v3beta1.TranslationService/BatchTranslateDocument",
  5729  	}
  5730  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  5731  		return srv.(TranslationServiceServer).BatchTranslateDocument(ctx, req.(*BatchTranslateDocumentRequest))
  5732  	}
  5733  	return interceptor(ctx, in, info, handler)
  5734  }
  5735  
  5736  func _TranslationService_CreateGlossary_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  5737  	in := new(CreateGlossaryRequest)
  5738  	if err := dec(in); err != nil {
  5739  		return nil, err
  5740  	}
  5741  	if interceptor == nil {
  5742  		return srv.(TranslationServiceServer).CreateGlossary(ctx, in)
  5743  	}
  5744  	info := &grpc.UnaryServerInfo{
  5745  		Server:     srv,
  5746  		FullMethod: "/google.cloud.translation.v3beta1.TranslationService/CreateGlossary",
  5747  	}
  5748  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  5749  		return srv.(TranslationServiceServer).CreateGlossary(ctx, req.(*CreateGlossaryRequest))
  5750  	}
  5751  	return interceptor(ctx, in, info, handler)
  5752  }
  5753  
  5754  func _TranslationService_ListGlossaries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  5755  	in := new(ListGlossariesRequest)
  5756  	if err := dec(in); err != nil {
  5757  		return nil, err
  5758  	}
  5759  	if interceptor == nil {
  5760  		return srv.(TranslationServiceServer).ListGlossaries(ctx, in)
  5761  	}
  5762  	info := &grpc.UnaryServerInfo{
  5763  		Server:     srv,
  5764  		FullMethod: "/google.cloud.translation.v3beta1.TranslationService/ListGlossaries",
  5765  	}
  5766  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  5767  		return srv.(TranslationServiceServer).ListGlossaries(ctx, req.(*ListGlossariesRequest))
  5768  	}
  5769  	return interceptor(ctx, in, info, handler)
  5770  }
  5771  
  5772  func _TranslationService_GetGlossary_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  5773  	in := new(GetGlossaryRequest)
  5774  	if err := dec(in); err != nil {
  5775  		return nil, err
  5776  	}
  5777  	if interceptor == nil {
  5778  		return srv.(TranslationServiceServer).GetGlossary(ctx, in)
  5779  	}
  5780  	info := &grpc.UnaryServerInfo{
  5781  		Server:     srv,
  5782  		FullMethod: "/google.cloud.translation.v3beta1.TranslationService/GetGlossary",
  5783  	}
  5784  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  5785  		return srv.(TranslationServiceServer).GetGlossary(ctx, req.(*GetGlossaryRequest))
  5786  	}
  5787  	return interceptor(ctx, in, info, handler)
  5788  }
  5789  
  5790  func _TranslationService_DeleteGlossary_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  5791  	in := new(DeleteGlossaryRequest)
  5792  	if err := dec(in); err != nil {
  5793  		return nil, err
  5794  	}
  5795  	if interceptor == nil {
  5796  		return srv.(TranslationServiceServer).DeleteGlossary(ctx, in)
  5797  	}
  5798  	info := &grpc.UnaryServerInfo{
  5799  		Server:     srv,
  5800  		FullMethod: "/google.cloud.translation.v3beta1.TranslationService/DeleteGlossary",
  5801  	}
  5802  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  5803  		return srv.(TranslationServiceServer).DeleteGlossary(ctx, req.(*DeleteGlossaryRequest))
  5804  	}
  5805  	return interceptor(ctx, in, info, handler)
  5806  }
  5807  
  5808  var _TranslationService_serviceDesc = grpc.ServiceDesc{
  5809  	ServiceName: "google.cloud.translation.v3beta1.TranslationService",
  5810  	HandlerType: (*TranslationServiceServer)(nil),
  5811  	Methods: []grpc.MethodDesc{
  5812  		{
  5813  			MethodName: "TranslateText",
  5814  			Handler:    _TranslationService_TranslateText_Handler,
  5815  		},
  5816  		{
  5817  			MethodName: "DetectLanguage",
  5818  			Handler:    _TranslationService_DetectLanguage_Handler,
  5819  		},
  5820  		{
  5821  			MethodName: "GetSupportedLanguages",
  5822  			Handler:    _TranslationService_GetSupportedLanguages_Handler,
  5823  		},
  5824  		{
  5825  			MethodName: "TranslateDocument",
  5826  			Handler:    _TranslationService_TranslateDocument_Handler,
  5827  		},
  5828  		{
  5829  			MethodName: "BatchTranslateText",
  5830  			Handler:    _TranslationService_BatchTranslateText_Handler,
  5831  		},
  5832  		{
  5833  			MethodName: "BatchTranslateDocument",
  5834  			Handler:    _TranslationService_BatchTranslateDocument_Handler,
  5835  		},
  5836  		{
  5837  			MethodName: "CreateGlossary",
  5838  			Handler:    _TranslationService_CreateGlossary_Handler,
  5839  		},
  5840  		{
  5841  			MethodName: "ListGlossaries",
  5842  			Handler:    _TranslationService_ListGlossaries_Handler,
  5843  		},
  5844  		{
  5845  			MethodName: "GetGlossary",
  5846  			Handler:    _TranslationService_GetGlossary_Handler,
  5847  		},
  5848  		{
  5849  			MethodName: "DeleteGlossary",
  5850  			Handler:    _TranslationService_DeleteGlossary_Handler,
  5851  		},
  5852  	},
  5853  	Streams:  []grpc.StreamDesc{},
  5854  	Metadata: "google/cloud/translate/v3beta1/translation_service.proto",
  5855  }
  5856  

View as plain text