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