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