1// Protocol Buffers - Google's data interchange format 2// Copyright 2008 Google Inc. All rights reserved. 3// https://developers.google.com/protocol-buffers/ 4// 5// Redistribution and use in source and binary forms, with or without 6// modification, are permitted provided that the following conditions are 7// met: 8// 9// * Redistributions of source code must retain the above copyright 10// notice, this list of conditions and the following disclaimer. 11// * Redistributions in binary form must reproduce the above 12// copyright notice, this list of conditions and the following disclaimer 13// in the documentation and/or other materials provided with the 14// distribution. 15// * Neither the name of Google Inc. nor the names of its 16// contributors may be used to endorse or promote products derived from 17// this software without specific prior written permission. 18// 19// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 22// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 23// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 24// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 25// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 26// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 27// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 31// Author: kenton@google.com (Kenton Varda) 32// Based on original Protocol Buffers design by 33// Sanjay Ghemawat, Jeff Dean, and others. 34// 35// The messages in this file describe the definitions found in .proto files. 36// A valid .proto file can be translated directly to a FileDescriptorProto 37// without any other information (e.g. without reading its imports). 38 39// Code generated by protoc-gen-go. DO NOT EDIT. 40// source: google/protobuf/descriptor.proto 41 42package descriptorpb 43 44import ( 45 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 46 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 47 reflect "reflect" 48 sync "sync" 49) 50 51type FieldDescriptorProto_Type int32 52 53const ( 54 // 0 is reserved for errors. 55 // Order is weird for historical reasons. 56 FieldDescriptorProto_TYPE_DOUBLE FieldDescriptorProto_Type = 1 57 FieldDescriptorProto_TYPE_FLOAT FieldDescriptorProto_Type = 2 58 // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if 59 // negative values are likely. 60 FieldDescriptorProto_TYPE_INT64 FieldDescriptorProto_Type = 3 61 FieldDescriptorProto_TYPE_UINT64 FieldDescriptorProto_Type = 4 62 // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if 63 // negative values are likely. 64 FieldDescriptorProto_TYPE_INT32 FieldDescriptorProto_Type = 5 65 FieldDescriptorProto_TYPE_FIXED64 FieldDescriptorProto_Type = 6 66 FieldDescriptorProto_TYPE_FIXED32 FieldDescriptorProto_Type = 7 67 FieldDescriptorProto_TYPE_BOOL FieldDescriptorProto_Type = 8 68 FieldDescriptorProto_TYPE_STRING FieldDescriptorProto_Type = 9 69 // Tag-delimited aggregate. 70 // Group type is deprecated and not supported in proto3. However, Proto3 71 // implementations should still be able to parse the group wire format and 72 // treat group fields as unknown fields. 73 FieldDescriptorProto_TYPE_GROUP FieldDescriptorProto_Type = 10 74 FieldDescriptorProto_TYPE_MESSAGE FieldDescriptorProto_Type = 11 // Length-delimited aggregate. 75 // New in version 2. 76 FieldDescriptorProto_TYPE_BYTES FieldDescriptorProto_Type = 12 77 FieldDescriptorProto_TYPE_UINT32 FieldDescriptorProto_Type = 13 78 FieldDescriptorProto_TYPE_ENUM FieldDescriptorProto_Type = 14 79 FieldDescriptorProto_TYPE_SFIXED32 FieldDescriptorProto_Type = 15 80 FieldDescriptorProto_TYPE_SFIXED64 FieldDescriptorProto_Type = 16 81 FieldDescriptorProto_TYPE_SINT32 FieldDescriptorProto_Type = 17 // Uses ZigZag encoding. 82 FieldDescriptorProto_TYPE_SINT64 FieldDescriptorProto_Type = 18 // Uses ZigZag encoding. 83) 84 85// Enum value maps for FieldDescriptorProto_Type. 86var ( 87 FieldDescriptorProto_Type_name = map[int32]string{ 88 1: "TYPE_DOUBLE", 89 2: "TYPE_FLOAT", 90 3: "TYPE_INT64", 91 4: "TYPE_UINT64", 92 5: "TYPE_INT32", 93 6: "TYPE_FIXED64", 94 7: "TYPE_FIXED32", 95 8: "TYPE_BOOL", 96 9: "TYPE_STRING", 97 10: "TYPE_GROUP", 98 11: "TYPE_MESSAGE", 99 12: "TYPE_BYTES", 100 13: "TYPE_UINT32", 101 14: "TYPE_ENUM", 102 15: "TYPE_SFIXED32", 103 16: "TYPE_SFIXED64", 104 17: "TYPE_SINT32", 105 18: "TYPE_SINT64", 106 } 107 FieldDescriptorProto_Type_value = map[string]int32{ 108 "TYPE_DOUBLE": 1, 109 "TYPE_FLOAT": 2, 110 "TYPE_INT64": 3, 111 "TYPE_UINT64": 4, 112 "TYPE_INT32": 5, 113 "TYPE_FIXED64": 6, 114 "TYPE_FIXED32": 7, 115 "TYPE_BOOL": 8, 116 "TYPE_STRING": 9, 117 "TYPE_GROUP": 10, 118 "TYPE_MESSAGE": 11, 119 "TYPE_BYTES": 12, 120 "TYPE_UINT32": 13, 121 "TYPE_ENUM": 14, 122 "TYPE_SFIXED32": 15, 123 "TYPE_SFIXED64": 16, 124 "TYPE_SINT32": 17, 125 "TYPE_SINT64": 18, 126 } 127) 128 129func (x FieldDescriptorProto_Type) Enum() *FieldDescriptorProto_Type { 130 p := new(FieldDescriptorProto_Type) 131 *p = x 132 return p 133} 134 135func (x FieldDescriptorProto_Type) String() string { 136 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 137} 138 139func (FieldDescriptorProto_Type) Descriptor() protoreflect.EnumDescriptor { 140 return file_google_protobuf_descriptor_proto_enumTypes[0].Descriptor() 141} 142 143func (FieldDescriptorProto_Type) Type() protoreflect.EnumType { 144 return &file_google_protobuf_descriptor_proto_enumTypes[0] 145} 146 147func (x FieldDescriptorProto_Type) Number() protoreflect.EnumNumber { 148 return protoreflect.EnumNumber(x) 149} 150 151// Deprecated: Do not use. 152func (x *FieldDescriptorProto_Type) UnmarshalJSON(b []byte) error { 153 num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) 154 if err != nil { 155 return err 156 } 157 *x = FieldDescriptorProto_Type(num) 158 return nil 159} 160 161// Deprecated: Use FieldDescriptorProto_Type.Descriptor instead. 162func (FieldDescriptorProto_Type) EnumDescriptor() ([]byte, []int) { 163 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{4, 0} 164} 165 166type FieldDescriptorProto_Label int32 167 168const ( 169 // 0 is reserved for errors 170 FieldDescriptorProto_LABEL_OPTIONAL FieldDescriptorProto_Label = 1 171 FieldDescriptorProto_LABEL_REQUIRED FieldDescriptorProto_Label = 2 172 FieldDescriptorProto_LABEL_REPEATED FieldDescriptorProto_Label = 3 173) 174 175// Enum value maps for FieldDescriptorProto_Label. 176var ( 177 FieldDescriptorProto_Label_name = map[int32]string{ 178 1: "LABEL_OPTIONAL", 179 2: "LABEL_REQUIRED", 180 3: "LABEL_REPEATED", 181 } 182 FieldDescriptorProto_Label_value = map[string]int32{ 183 "LABEL_OPTIONAL": 1, 184 "LABEL_REQUIRED": 2, 185 "LABEL_REPEATED": 3, 186 } 187) 188 189func (x FieldDescriptorProto_Label) Enum() *FieldDescriptorProto_Label { 190 p := new(FieldDescriptorProto_Label) 191 *p = x 192 return p 193} 194 195func (x FieldDescriptorProto_Label) String() string { 196 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 197} 198 199func (FieldDescriptorProto_Label) Descriptor() protoreflect.EnumDescriptor { 200 return file_google_protobuf_descriptor_proto_enumTypes[1].Descriptor() 201} 202 203func (FieldDescriptorProto_Label) Type() protoreflect.EnumType { 204 return &file_google_protobuf_descriptor_proto_enumTypes[1] 205} 206 207func (x FieldDescriptorProto_Label) Number() protoreflect.EnumNumber { 208 return protoreflect.EnumNumber(x) 209} 210 211// Deprecated: Do not use. 212func (x *FieldDescriptorProto_Label) UnmarshalJSON(b []byte) error { 213 num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) 214 if err != nil { 215 return err 216 } 217 *x = FieldDescriptorProto_Label(num) 218 return nil 219} 220 221// Deprecated: Use FieldDescriptorProto_Label.Descriptor instead. 222func (FieldDescriptorProto_Label) EnumDescriptor() ([]byte, []int) { 223 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{4, 1} 224} 225 226// Generated classes can be optimized for speed or code size. 227type FileOptions_OptimizeMode int32 228 229const ( 230 FileOptions_SPEED FileOptions_OptimizeMode = 1 // Generate complete code for parsing, serialization, 231 // etc. 232 FileOptions_CODE_SIZE FileOptions_OptimizeMode = 2 // Use ReflectionOps to implement these methods. 233 FileOptions_LITE_RUNTIME FileOptions_OptimizeMode = 3 // Generate code using MessageLite and the lite runtime. 234) 235 236// Enum value maps for FileOptions_OptimizeMode. 237var ( 238 FileOptions_OptimizeMode_name = map[int32]string{ 239 1: "SPEED", 240 2: "CODE_SIZE", 241 3: "LITE_RUNTIME", 242 } 243 FileOptions_OptimizeMode_value = map[string]int32{ 244 "SPEED": 1, 245 "CODE_SIZE": 2, 246 "LITE_RUNTIME": 3, 247 } 248) 249 250func (x FileOptions_OptimizeMode) Enum() *FileOptions_OptimizeMode { 251 p := new(FileOptions_OptimizeMode) 252 *p = x 253 return p 254} 255 256func (x FileOptions_OptimizeMode) String() string { 257 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 258} 259 260func (FileOptions_OptimizeMode) Descriptor() protoreflect.EnumDescriptor { 261 return file_google_protobuf_descriptor_proto_enumTypes[2].Descriptor() 262} 263 264func (FileOptions_OptimizeMode) Type() protoreflect.EnumType { 265 return &file_google_protobuf_descriptor_proto_enumTypes[2] 266} 267 268func (x FileOptions_OptimizeMode) Number() protoreflect.EnumNumber { 269 return protoreflect.EnumNumber(x) 270} 271 272// Deprecated: Do not use. 273func (x *FileOptions_OptimizeMode) UnmarshalJSON(b []byte) error { 274 num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) 275 if err != nil { 276 return err 277 } 278 *x = FileOptions_OptimizeMode(num) 279 return nil 280} 281 282// Deprecated: Use FileOptions_OptimizeMode.Descriptor instead. 283func (FileOptions_OptimizeMode) EnumDescriptor() ([]byte, []int) { 284 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{10, 0} 285} 286 287type FieldOptions_CType int32 288 289const ( 290 // Default mode. 291 FieldOptions_STRING FieldOptions_CType = 0 292 FieldOptions_CORD FieldOptions_CType = 1 293 FieldOptions_STRING_PIECE FieldOptions_CType = 2 294) 295 296// Enum value maps for FieldOptions_CType. 297var ( 298 FieldOptions_CType_name = map[int32]string{ 299 0: "STRING", 300 1: "CORD", 301 2: "STRING_PIECE", 302 } 303 FieldOptions_CType_value = map[string]int32{ 304 "STRING": 0, 305 "CORD": 1, 306 "STRING_PIECE": 2, 307 } 308) 309 310func (x FieldOptions_CType) Enum() *FieldOptions_CType { 311 p := new(FieldOptions_CType) 312 *p = x 313 return p 314} 315 316func (x FieldOptions_CType) String() string { 317 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 318} 319 320func (FieldOptions_CType) Descriptor() protoreflect.EnumDescriptor { 321 return file_google_protobuf_descriptor_proto_enumTypes[3].Descriptor() 322} 323 324func (FieldOptions_CType) Type() protoreflect.EnumType { 325 return &file_google_protobuf_descriptor_proto_enumTypes[3] 326} 327 328func (x FieldOptions_CType) Number() protoreflect.EnumNumber { 329 return protoreflect.EnumNumber(x) 330} 331 332// Deprecated: Do not use. 333func (x *FieldOptions_CType) UnmarshalJSON(b []byte) error { 334 num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) 335 if err != nil { 336 return err 337 } 338 *x = FieldOptions_CType(num) 339 return nil 340} 341 342// Deprecated: Use FieldOptions_CType.Descriptor instead. 343func (FieldOptions_CType) EnumDescriptor() ([]byte, []int) { 344 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{12, 0} 345} 346 347type FieldOptions_JSType int32 348 349const ( 350 // Use the default type. 351 FieldOptions_JS_NORMAL FieldOptions_JSType = 0 352 // Use JavaScript strings. 353 FieldOptions_JS_STRING FieldOptions_JSType = 1 354 // Use JavaScript numbers. 355 FieldOptions_JS_NUMBER FieldOptions_JSType = 2 356) 357 358// Enum value maps for FieldOptions_JSType. 359var ( 360 FieldOptions_JSType_name = map[int32]string{ 361 0: "JS_NORMAL", 362 1: "JS_STRING", 363 2: "JS_NUMBER", 364 } 365 FieldOptions_JSType_value = map[string]int32{ 366 "JS_NORMAL": 0, 367 "JS_STRING": 1, 368 "JS_NUMBER": 2, 369 } 370) 371 372func (x FieldOptions_JSType) Enum() *FieldOptions_JSType { 373 p := new(FieldOptions_JSType) 374 *p = x 375 return p 376} 377 378func (x FieldOptions_JSType) String() string { 379 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 380} 381 382func (FieldOptions_JSType) Descriptor() protoreflect.EnumDescriptor { 383 return file_google_protobuf_descriptor_proto_enumTypes[4].Descriptor() 384} 385 386func (FieldOptions_JSType) Type() protoreflect.EnumType { 387 return &file_google_protobuf_descriptor_proto_enumTypes[4] 388} 389 390func (x FieldOptions_JSType) Number() protoreflect.EnumNumber { 391 return protoreflect.EnumNumber(x) 392} 393 394// Deprecated: Do not use. 395func (x *FieldOptions_JSType) UnmarshalJSON(b []byte) error { 396 num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) 397 if err != nil { 398 return err 399 } 400 *x = FieldOptions_JSType(num) 401 return nil 402} 403 404// Deprecated: Use FieldOptions_JSType.Descriptor instead. 405func (FieldOptions_JSType) EnumDescriptor() ([]byte, []int) { 406 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{12, 1} 407} 408 409// If set to RETENTION_SOURCE, the option will be omitted from the binary. 410// Note: as of January 2023, support for this is in progress and does not yet 411// have an effect (b/264593489). 412type FieldOptions_OptionRetention int32 413 414const ( 415 FieldOptions_RETENTION_UNKNOWN FieldOptions_OptionRetention = 0 416 FieldOptions_RETENTION_RUNTIME FieldOptions_OptionRetention = 1 417 FieldOptions_RETENTION_SOURCE FieldOptions_OptionRetention = 2 418) 419 420// Enum value maps for FieldOptions_OptionRetention. 421var ( 422 FieldOptions_OptionRetention_name = map[int32]string{ 423 0: "RETENTION_UNKNOWN", 424 1: "RETENTION_RUNTIME", 425 2: "RETENTION_SOURCE", 426 } 427 FieldOptions_OptionRetention_value = map[string]int32{ 428 "RETENTION_UNKNOWN": 0, 429 "RETENTION_RUNTIME": 1, 430 "RETENTION_SOURCE": 2, 431 } 432) 433 434func (x FieldOptions_OptionRetention) Enum() *FieldOptions_OptionRetention { 435 p := new(FieldOptions_OptionRetention) 436 *p = x 437 return p 438} 439 440func (x FieldOptions_OptionRetention) String() string { 441 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 442} 443 444func (FieldOptions_OptionRetention) Descriptor() protoreflect.EnumDescriptor { 445 return file_google_protobuf_descriptor_proto_enumTypes[5].Descriptor() 446} 447 448func (FieldOptions_OptionRetention) Type() protoreflect.EnumType { 449 return &file_google_protobuf_descriptor_proto_enumTypes[5] 450} 451 452func (x FieldOptions_OptionRetention) Number() protoreflect.EnumNumber { 453 return protoreflect.EnumNumber(x) 454} 455 456// Deprecated: Do not use. 457func (x *FieldOptions_OptionRetention) UnmarshalJSON(b []byte) error { 458 num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) 459 if err != nil { 460 return err 461 } 462 *x = FieldOptions_OptionRetention(num) 463 return nil 464} 465 466// Deprecated: Use FieldOptions_OptionRetention.Descriptor instead. 467func (FieldOptions_OptionRetention) EnumDescriptor() ([]byte, []int) { 468 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{12, 2} 469} 470 471// This indicates the types of entities that the field may apply to when used 472// as an option. If it is unset, then the field may be freely used as an 473// option on any kind of entity. Note: as of January 2023, support for this is 474// in progress and does not yet have an effect (b/264593489). 475type FieldOptions_OptionTargetType int32 476 477const ( 478 FieldOptions_TARGET_TYPE_UNKNOWN FieldOptions_OptionTargetType = 0 479 FieldOptions_TARGET_TYPE_FILE FieldOptions_OptionTargetType = 1 480 FieldOptions_TARGET_TYPE_EXTENSION_RANGE FieldOptions_OptionTargetType = 2 481 FieldOptions_TARGET_TYPE_MESSAGE FieldOptions_OptionTargetType = 3 482 FieldOptions_TARGET_TYPE_FIELD FieldOptions_OptionTargetType = 4 483 FieldOptions_TARGET_TYPE_ONEOF FieldOptions_OptionTargetType = 5 484 FieldOptions_TARGET_TYPE_ENUM FieldOptions_OptionTargetType = 6 485 FieldOptions_TARGET_TYPE_ENUM_ENTRY FieldOptions_OptionTargetType = 7 486 FieldOptions_TARGET_TYPE_SERVICE FieldOptions_OptionTargetType = 8 487 FieldOptions_TARGET_TYPE_METHOD FieldOptions_OptionTargetType = 9 488) 489 490// Enum value maps for FieldOptions_OptionTargetType. 491var ( 492 FieldOptions_OptionTargetType_name = map[int32]string{ 493 0: "TARGET_TYPE_UNKNOWN", 494 1: "TARGET_TYPE_FILE", 495 2: "TARGET_TYPE_EXTENSION_RANGE", 496 3: "TARGET_TYPE_MESSAGE", 497 4: "TARGET_TYPE_FIELD", 498 5: "TARGET_TYPE_ONEOF", 499 6: "TARGET_TYPE_ENUM", 500 7: "TARGET_TYPE_ENUM_ENTRY", 501 8: "TARGET_TYPE_SERVICE", 502 9: "TARGET_TYPE_METHOD", 503 } 504 FieldOptions_OptionTargetType_value = map[string]int32{ 505 "TARGET_TYPE_UNKNOWN": 0, 506 "TARGET_TYPE_FILE": 1, 507 "TARGET_TYPE_EXTENSION_RANGE": 2, 508 "TARGET_TYPE_MESSAGE": 3, 509 "TARGET_TYPE_FIELD": 4, 510 "TARGET_TYPE_ONEOF": 5, 511 "TARGET_TYPE_ENUM": 6, 512 "TARGET_TYPE_ENUM_ENTRY": 7, 513 "TARGET_TYPE_SERVICE": 8, 514 "TARGET_TYPE_METHOD": 9, 515 } 516) 517 518func (x FieldOptions_OptionTargetType) Enum() *FieldOptions_OptionTargetType { 519 p := new(FieldOptions_OptionTargetType) 520 *p = x 521 return p 522} 523 524func (x FieldOptions_OptionTargetType) String() string { 525 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 526} 527 528func (FieldOptions_OptionTargetType) Descriptor() protoreflect.EnumDescriptor { 529 return file_google_protobuf_descriptor_proto_enumTypes[6].Descriptor() 530} 531 532func (FieldOptions_OptionTargetType) Type() protoreflect.EnumType { 533 return &file_google_protobuf_descriptor_proto_enumTypes[6] 534} 535 536func (x FieldOptions_OptionTargetType) Number() protoreflect.EnumNumber { 537 return protoreflect.EnumNumber(x) 538} 539 540// Deprecated: Do not use. 541func (x *FieldOptions_OptionTargetType) UnmarshalJSON(b []byte) error { 542 num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) 543 if err != nil { 544 return err 545 } 546 *x = FieldOptions_OptionTargetType(num) 547 return nil 548} 549 550// Deprecated: Use FieldOptions_OptionTargetType.Descriptor instead. 551func (FieldOptions_OptionTargetType) EnumDescriptor() ([]byte, []int) { 552 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{12, 3} 553} 554 555// Is this method side-effect-free (or safe in HTTP parlance), or idempotent, 556// or neither? HTTP based RPC implementation may choose GET verb for safe 557// methods, and PUT verb for idempotent methods instead of the default POST. 558type MethodOptions_IdempotencyLevel int32 559 560const ( 561 MethodOptions_IDEMPOTENCY_UNKNOWN MethodOptions_IdempotencyLevel = 0 562 MethodOptions_NO_SIDE_EFFECTS MethodOptions_IdempotencyLevel = 1 // implies idempotent 563 MethodOptions_IDEMPOTENT MethodOptions_IdempotencyLevel = 2 // idempotent, but may have side effects 564) 565 566// Enum value maps for MethodOptions_IdempotencyLevel. 567var ( 568 MethodOptions_IdempotencyLevel_name = map[int32]string{ 569 0: "IDEMPOTENCY_UNKNOWN", 570 1: "NO_SIDE_EFFECTS", 571 2: "IDEMPOTENT", 572 } 573 MethodOptions_IdempotencyLevel_value = map[string]int32{ 574 "IDEMPOTENCY_UNKNOWN": 0, 575 "NO_SIDE_EFFECTS": 1, 576 "IDEMPOTENT": 2, 577 } 578) 579 580func (x MethodOptions_IdempotencyLevel) Enum() *MethodOptions_IdempotencyLevel { 581 p := new(MethodOptions_IdempotencyLevel) 582 *p = x 583 return p 584} 585 586func (x MethodOptions_IdempotencyLevel) String() string { 587 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 588} 589 590func (MethodOptions_IdempotencyLevel) Descriptor() protoreflect.EnumDescriptor { 591 return file_google_protobuf_descriptor_proto_enumTypes[7].Descriptor() 592} 593 594func (MethodOptions_IdempotencyLevel) Type() protoreflect.EnumType { 595 return &file_google_protobuf_descriptor_proto_enumTypes[7] 596} 597 598func (x MethodOptions_IdempotencyLevel) Number() protoreflect.EnumNumber { 599 return protoreflect.EnumNumber(x) 600} 601 602// Deprecated: Do not use. 603func (x *MethodOptions_IdempotencyLevel) UnmarshalJSON(b []byte) error { 604 num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) 605 if err != nil { 606 return err 607 } 608 *x = MethodOptions_IdempotencyLevel(num) 609 return nil 610} 611 612// Deprecated: Use MethodOptions_IdempotencyLevel.Descriptor instead. 613func (MethodOptions_IdempotencyLevel) EnumDescriptor() ([]byte, []int) { 614 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{17, 0} 615} 616 617// Represents the identified object's effect on the element in the original 618// .proto file. 619type GeneratedCodeInfo_Annotation_Semantic int32 620 621const ( 622 // There is no effect or the effect is indescribable. 623 GeneratedCodeInfo_Annotation_NONE GeneratedCodeInfo_Annotation_Semantic = 0 624 // The element is set or otherwise mutated. 625 GeneratedCodeInfo_Annotation_SET GeneratedCodeInfo_Annotation_Semantic = 1 626 // An alias to the element is returned. 627 GeneratedCodeInfo_Annotation_ALIAS GeneratedCodeInfo_Annotation_Semantic = 2 628) 629 630// Enum value maps for GeneratedCodeInfo_Annotation_Semantic. 631var ( 632 GeneratedCodeInfo_Annotation_Semantic_name = map[int32]string{ 633 0: "NONE", 634 1: "SET", 635 2: "ALIAS", 636 } 637 GeneratedCodeInfo_Annotation_Semantic_value = map[string]int32{ 638 "NONE": 0, 639 "SET": 1, 640 "ALIAS": 2, 641 } 642) 643 644func (x GeneratedCodeInfo_Annotation_Semantic) Enum() *GeneratedCodeInfo_Annotation_Semantic { 645 p := new(GeneratedCodeInfo_Annotation_Semantic) 646 *p = x 647 return p 648} 649 650func (x GeneratedCodeInfo_Annotation_Semantic) String() string { 651 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 652} 653 654func (GeneratedCodeInfo_Annotation_Semantic) Descriptor() protoreflect.EnumDescriptor { 655 return file_google_protobuf_descriptor_proto_enumTypes[8].Descriptor() 656} 657 658func (GeneratedCodeInfo_Annotation_Semantic) Type() protoreflect.EnumType { 659 return &file_google_protobuf_descriptor_proto_enumTypes[8] 660} 661 662func (x GeneratedCodeInfo_Annotation_Semantic) Number() protoreflect.EnumNumber { 663 return protoreflect.EnumNumber(x) 664} 665 666// Deprecated: Do not use. 667func (x *GeneratedCodeInfo_Annotation_Semantic) UnmarshalJSON(b []byte) error { 668 num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) 669 if err != nil { 670 return err 671 } 672 *x = GeneratedCodeInfo_Annotation_Semantic(num) 673 return nil 674} 675 676// Deprecated: Use GeneratedCodeInfo_Annotation_Semantic.Descriptor instead. 677func (GeneratedCodeInfo_Annotation_Semantic) EnumDescriptor() ([]byte, []int) { 678 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{20, 0, 0} 679} 680 681// The protocol compiler can output a FileDescriptorSet containing the .proto 682// files it parses. 683type FileDescriptorSet struct { 684 state protoimpl.MessageState 685 sizeCache protoimpl.SizeCache 686 unknownFields protoimpl.UnknownFields 687 688 File []*FileDescriptorProto `protobuf:"bytes,1,rep,name=file" json:"file,omitempty"` 689} 690 691func (x *FileDescriptorSet) Reset() { 692 *x = FileDescriptorSet{} 693 if protoimpl.UnsafeEnabled { 694 mi := &file_google_protobuf_descriptor_proto_msgTypes[0] 695 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 696 ms.StoreMessageInfo(mi) 697 } 698} 699 700func (x *FileDescriptorSet) String() string { 701 return protoimpl.X.MessageStringOf(x) 702} 703 704func (*FileDescriptorSet) ProtoMessage() {} 705 706func (x *FileDescriptorSet) ProtoReflect() protoreflect.Message { 707 mi := &file_google_protobuf_descriptor_proto_msgTypes[0] 708 if protoimpl.UnsafeEnabled && x != nil { 709 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 710 if ms.LoadMessageInfo() == nil { 711 ms.StoreMessageInfo(mi) 712 } 713 return ms 714 } 715 return mi.MessageOf(x) 716} 717 718// Deprecated: Use FileDescriptorSet.ProtoReflect.Descriptor instead. 719func (*FileDescriptorSet) Descriptor() ([]byte, []int) { 720 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{0} 721} 722 723func (x *FileDescriptorSet) GetFile() []*FileDescriptorProto { 724 if x != nil { 725 return x.File 726 } 727 return nil 728} 729 730// Describes a complete .proto file. 731type FileDescriptorProto struct { 732 state protoimpl.MessageState 733 sizeCache protoimpl.SizeCache 734 unknownFields protoimpl.UnknownFields 735 736 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` // file name, relative to root of source tree 737 Package *string `protobuf:"bytes,2,opt,name=package" json:"package,omitempty"` // e.g. "foo", "foo.bar", etc. 738 // Names of files imported by this file. 739 Dependency []string `protobuf:"bytes,3,rep,name=dependency" json:"dependency,omitempty"` 740 // Indexes of the public imported files in the dependency list above. 741 PublicDependency []int32 `protobuf:"varint,10,rep,name=public_dependency,json=publicDependency" json:"public_dependency,omitempty"` 742 // Indexes of the weak imported files in the dependency list. 743 // For Google-internal migration only. Do not use. 744 WeakDependency []int32 `protobuf:"varint,11,rep,name=weak_dependency,json=weakDependency" json:"weak_dependency,omitempty"` 745 // All top-level definitions in this file. 746 MessageType []*DescriptorProto `protobuf:"bytes,4,rep,name=message_type,json=messageType" json:"message_type,omitempty"` 747 EnumType []*EnumDescriptorProto `protobuf:"bytes,5,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"` 748 Service []*ServiceDescriptorProto `protobuf:"bytes,6,rep,name=service" json:"service,omitempty"` 749 Extension []*FieldDescriptorProto `protobuf:"bytes,7,rep,name=extension" json:"extension,omitempty"` 750 Options *FileOptions `protobuf:"bytes,8,opt,name=options" json:"options,omitempty"` 751 // This field contains optional information about the original source code. 752 // You may safely remove this entire field without harming runtime 753 // functionality of the descriptors -- the information is needed only by 754 // development tools. 755 SourceCodeInfo *SourceCodeInfo `protobuf:"bytes,9,opt,name=source_code_info,json=sourceCodeInfo" json:"source_code_info,omitempty"` 756 // The syntax of the proto file. 757 // The supported values are "proto2", "proto3", and "editions". 758 // 759 // If `edition` is present, this value must be "editions". 760 Syntax *string `protobuf:"bytes,12,opt,name=syntax" json:"syntax,omitempty"` 761 // The edition of the proto file, which is an opaque string. 762 Edition *string `protobuf:"bytes,13,opt,name=edition" json:"edition,omitempty"` 763} 764 765func (x *FileDescriptorProto) Reset() { 766 *x = FileDescriptorProto{} 767 if protoimpl.UnsafeEnabled { 768 mi := &file_google_protobuf_descriptor_proto_msgTypes[1] 769 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 770 ms.StoreMessageInfo(mi) 771 } 772} 773 774func (x *FileDescriptorProto) String() string { 775 return protoimpl.X.MessageStringOf(x) 776} 777 778func (*FileDescriptorProto) ProtoMessage() {} 779 780func (x *FileDescriptorProto) ProtoReflect() protoreflect.Message { 781 mi := &file_google_protobuf_descriptor_proto_msgTypes[1] 782 if protoimpl.UnsafeEnabled && x != nil { 783 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 784 if ms.LoadMessageInfo() == nil { 785 ms.StoreMessageInfo(mi) 786 } 787 return ms 788 } 789 return mi.MessageOf(x) 790} 791 792// Deprecated: Use FileDescriptorProto.ProtoReflect.Descriptor instead. 793func (*FileDescriptorProto) Descriptor() ([]byte, []int) { 794 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{1} 795} 796 797func (x *FileDescriptorProto) GetName() string { 798 if x != nil && x.Name != nil { 799 return *x.Name 800 } 801 return "" 802} 803 804func (x *FileDescriptorProto) GetPackage() string { 805 if x != nil && x.Package != nil { 806 return *x.Package 807 } 808 return "" 809} 810 811func (x *FileDescriptorProto) GetDependency() []string { 812 if x != nil { 813 return x.Dependency 814 } 815 return nil 816} 817 818func (x *FileDescriptorProto) GetPublicDependency() []int32 { 819 if x != nil { 820 return x.PublicDependency 821 } 822 return nil 823} 824 825func (x *FileDescriptorProto) GetWeakDependency() []int32 { 826 if x != nil { 827 return x.WeakDependency 828 } 829 return nil 830} 831 832func (x *FileDescriptorProto) GetMessageType() []*DescriptorProto { 833 if x != nil { 834 return x.MessageType 835 } 836 return nil 837} 838 839func (x *FileDescriptorProto) GetEnumType() []*EnumDescriptorProto { 840 if x != nil { 841 return x.EnumType 842 } 843 return nil 844} 845 846func (x *FileDescriptorProto) GetService() []*ServiceDescriptorProto { 847 if x != nil { 848 return x.Service 849 } 850 return nil 851} 852 853func (x *FileDescriptorProto) GetExtension() []*FieldDescriptorProto { 854 if x != nil { 855 return x.Extension 856 } 857 return nil 858} 859 860func (x *FileDescriptorProto) GetOptions() *FileOptions { 861 if x != nil { 862 return x.Options 863 } 864 return nil 865} 866 867func (x *FileDescriptorProto) GetSourceCodeInfo() *SourceCodeInfo { 868 if x != nil { 869 return x.SourceCodeInfo 870 } 871 return nil 872} 873 874func (x *FileDescriptorProto) GetSyntax() string { 875 if x != nil && x.Syntax != nil { 876 return *x.Syntax 877 } 878 return "" 879} 880 881func (x *FileDescriptorProto) GetEdition() string { 882 if x != nil && x.Edition != nil { 883 return *x.Edition 884 } 885 return "" 886} 887 888// Describes a message type. 889type DescriptorProto struct { 890 state protoimpl.MessageState 891 sizeCache protoimpl.SizeCache 892 unknownFields protoimpl.UnknownFields 893 894 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` 895 Field []*FieldDescriptorProto `protobuf:"bytes,2,rep,name=field" json:"field,omitempty"` 896 Extension []*FieldDescriptorProto `protobuf:"bytes,6,rep,name=extension" json:"extension,omitempty"` 897 NestedType []*DescriptorProto `protobuf:"bytes,3,rep,name=nested_type,json=nestedType" json:"nested_type,omitempty"` 898 EnumType []*EnumDescriptorProto `protobuf:"bytes,4,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"` 899 ExtensionRange []*DescriptorProto_ExtensionRange `protobuf:"bytes,5,rep,name=extension_range,json=extensionRange" json:"extension_range,omitempty"` 900 OneofDecl []*OneofDescriptorProto `protobuf:"bytes,8,rep,name=oneof_decl,json=oneofDecl" json:"oneof_decl,omitempty"` 901 Options *MessageOptions `protobuf:"bytes,7,opt,name=options" json:"options,omitempty"` 902 ReservedRange []*DescriptorProto_ReservedRange `protobuf:"bytes,9,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"` 903 // Reserved field names, which may not be used by fields in the same message. 904 // A given name may only be reserved once. 905 ReservedName []string `protobuf:"bytes,10,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"` 906} 907 908func (x *DescriptorProto) Reset() { 909 *x = DescriptorProto{} 910 if protoimpl.UnsafeEnabled { 911 mi := &file_google_protobuf_descriptor_proto_msgTypes[2] 912 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 913 ms.StoreMessageInfo(mi) 914 } 915} 916 917func (x *DescriptorProto) String() string { 918 return protoimpl.X.MessageStringOf(x) 919} 920 921func (*DescriptorProto) ProtoMessage() {} 922 923func (x *DescriptorProto) ProtoReflect() protoreflect.Message { 924 mi := &file_google_protobuf_descriptor_proto_msgTypes[2] 925 if protoimpl.UnsafeEnabled && x != nil { 926 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 927 if ms.LoadMessageInfo() == nil { 928 ms.StoreMessageInfo(mi) 929 } 930 return ms 931 } 932 return mi.MessageOf(x) 933} 934 935// Deprecated: Use DescriptorProto.ProtoReflect.Descriptor instead. 936func (*DescriptorProto) Descriptor() ([]byte, []int) { 937 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{2} 938} 939 940func (x *DescriptorProto) GetName() string { 941 if x != nil && x.Name != nil { 942 return *x.Name 943 } 944 return "" 945} 946 947func (x *DescriptorProto) GetField() []*FieldDescriptorProto { 948 if x != nil { 949 return x.Field 950 } 951 return nil 952} 953 954func (x *DescriptorProto) GetExtension() []*FieldDescriptorProto { 955 if x != nil { 956 return x.Extension 957 } 958 return nil 959} 960 961func (x *DescriptorProto) GetNestedType() []*DescriptorProto { 962 if x != nil { 963 return x.NestedType 964 } 965 return nil 966} 967 968func (x *DescriptorProto) GetEnumType() []*EnumDescriptorProto { 969 if x != nil { 970 return x.EnumType 971 } 972 return nil 973} 974 975func (x *DescriptorProto) GetExtensionRange() []*DescriptorProto_ExtensionRange { 976 if x != nil { 977 return x.ExtensionRange 978 } 979 return nil 980} 981 982func (x *DescriptorProto) GetOneofDecl() []*OneofDescriptorProto { 983 if x != nil { 984 return x.OneofDecl 985 } 986 return nil 987} 988 989func (x *DescriptorProto) GetOptions() *MessageOptions { 990 if x != nil { 991 return x.Options 992 } 993 return nil 994} 995 996func (x *DescriptorProto) GetReservedRange() []*DescriptorProto_ReservedRange { 997 if x != nil { 998 return x.ReservedRange 999 } 1000 return nil 1001} 1002 1003func (x *DescriptorProto) GetReservedName() []string { 1004 if x != nil { 1005 return x.ReservedName 1006 } 1007 return nil 1008} 1009 1010type ExtensionRangeOptions struct { 1011 state protoimpl.MessageState 1012 sizeCache protoimpl.SizeCache 1013 unknownFields protoimpl.UnknownFields 1014 extensionFields protoimpl.ExtensionFields 1015 1016 // The parser stores options it doesn't recognize here. See above. 1017 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` 1018} 1019 1020func (x *ExtensionRangeOptions) Reset() { 1021 *x = ExtensionRangeOptions{} 1022 if protoimpl.UnsafeEnabled { 1023 mi := &file_google_protobuf_descriptor_proto_msgTypes[3] 1024 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1025 ms.StoreMessageInfo(mi) 1026 } 1027} 1028 1029func (x *ExtensionRangeOptions) String() string { 1030 return protoimpl.X.MessageStringOf(x) 1031} 1032 1033func (*ExtensionRangeOptions) ProtoMessage() {} 1034 1035func (x *ExtensionRangeOptions) ProtoReflect() protoreflect.Message { 1036 mi := &file_google_protobuf_descriptor_proto_msgTypes[3] 1037 if protoimpl.UnsafeEnabled && x != nil { 1038 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1039 if ms.LoadMessageInfo() == nil { 1040 ms.StoreMessageInfo(mi) 1041 } 1042 return ms 1043 } 1044 return mi.MessageOf(x) 1045} 1046 1047// Deprecated: Use ExtensionRangeOptions.ProtoReflect.Descriptor instead. 1048func (*ExtensionRangeOptions) Descriptor() ([]byte, []int) { 1049 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{3} 1050} 1051 1052func (x *ExtensionRangeOptions) GetUninterpretedOption() []*UninterpretedOption { 1053 if x != nil { 1054 return x.UninterpretedOption 1055 } 1056 return nil 1057} 1058 1059// Describes a field within a message. 1060type FieldDescriptorProto struct { 1061 state protoimpl.MessageState 1062 sizeCache protoimpl.SizeCache 1063 unknownFields protoimpl.UnknownFields 1064 1065 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` 1066 Number *int32 `protobuf:"varint,3,opt,name=number" json:"number,omitempty"` 1067 Label *FieldDescriptorProto_Label `protobuf:"varint,4,opt,name=label,enum=google.protobuf.FieldDescriptorProto_Label" json:"label,omitempty"` 1068 // If type_name is set, this need not be set. If both this and type_name 1069 // are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP. 1070 Type *FieldDescriptorProto_Type `protobuf:"varint,5,opt,name=type,enum=google.protobuf.FieldDescriptorProto_Type" json:"type,omitempty"` 1071 // For message and enum types, this is the name of the type. If the name 1072 // starts with a '.', it is fully-qualified. Otherwise, C++-like scoping 1073 // rules are used to find the type (i.e. first the nested types within this 1074 // message are searched, then within the parent, on up to the root 1075 // namespace). 1076 TypeName *string `protobuf:"bytes,6,opt,name=type_name,json=typeName" json:"type_name,omitempty"` 1077 // For extensions, this is the name of the type being extended. It is 1078 // resolved in the same manner as type_name. 1079 Extendee *string `protobuf:"bytes,2,opt,name=extendee" json:"extendee,omitempty"` 1080 // For numeric types, contains the original text representation of the value. 1081 // For booleans, "true" or "false". 1082 // For strings, contains the default text contents (not escaped in any way). 1083 // For bytes, contains the C escaped value. All bytes >= 128 are escaped. 1084 DefaultValue *string `protobuf:"bytes,7,opt,name=default_value,json=defaultValue" json:"default_value,omitempty"` 1085 // If set, gives the index of a oneof in the containing type's oneof_decl 1086 // list. This field is a member of that oneof. 1087 OneofIndex *int32 `protobuf:"varint,9,opt,name=oneof_index,json=oneofIndex" json:"oneof_index,omitempty"` 1088 // JSON name of this field. The value is set by protocol compiler. If the 1089 // user has set a "json_name" option on this field, that option's value 1090 // will be used. Otherwise, it's deduced from the field's name by converting 1091 // it to camelCase. 1092 JsonName *string `protobuf:"bytes,10,opt,name=json_name,json=jsonName" json:"json_name,omitempty"` 1093 Options *FieldOptions `protobuf:"bytes,8,opt,name=options" json:"options,omitempty"` 1094 // If true, this is a proto3 "optional". When a proto3 field is optional, it 1095 // tracks presence regardless of field type. 1096 // 1097 // When proto3_optional is true, this field must be belong to a oneof to 1098 // signal to old proto3 clients that presence is tracked for this field. This 1099 // oneof is known as a "synthetic" oneof, and this field must be its sole 1100 // member (each proto3 optional field gets its own synthetic oneof). Synthetic 1101 // oneofs exist in the descriptor only, and do not generate any API. Synthetic 1102 // oneofs must be ordered after all "real" oneofs. 1103 // 1104 // For message fields, proto3_optional doesn't create any semantic change, 1105 // since non-repeated message fields always track presence. However it still 1106 // indicates the semantic detail of whether the user wrote "optional" or not. 1107 // This can be useful for round-tripping the .proto file. For consistency we 1108 // give message fields a synthetic oneof also, even though it is not required 1109 // to track presence. This is especially important because the parser can't 1110 // tell if a field is a message or an enum, so it must always create a 1111 // synthetic oneof. 1112 // 1113 // Proto2 optional fields do not set this flag, because they already indicate 1114 // optional with `LABEL_OPTIONAL`. 1115 Proto3Optional *bool `protobuf:"varint,17,opt,name=proto3_optional,json=proto3Optional" json:"proto3_optional,omitempty"` 1116} 1117 1118func (x *FieldDescriptorProto) Reset() { 1119 *x = FieldDescriptorProto{} 1120 if protoimpl.UnsafeEnabled { 1121 mi := &file_google_protobuf_descriptor_proto_msgTypes[4] 1122 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1123 ms.StoreMessageInfo(mi) 1124 } 1125} 1126 1127func (x *FieldDescriptorProto) String() string { 1128 return protoimpl.X.MessageStringOf(x) 1129} 1130 1131func (*FieldDescriptorProto) ProtoMessage() {} 1132 1133func (x *FieldDescriptorProto) ProtoReflect() protoreflect.Message { 1134 mi := &file_google_protobuf_descriptor_proto_msgTypes[4] 1135 if protoimpl.UnsafeEnabled && x != nil { 1136 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1137 if ms.LoadMessageInfo() == nil { 1138 ms.StoreMessageInfo(mi) 1139 } 1140 return ms 1141 } 1142 return mi.MessageOf(x) 1143} 1144 1145// Deprecated: Use FieldDescriptorProto.ProtoReflect.Descriptor instead. 1146func (*FieldDescriptorProto) Descriptor() ([]byte, []int) { 1147 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{4} 1148} 1149 1150func (x *FieldDescriptorProto) GetName() string { 1151 if x != nil && x.Name != nil { 1152 return *x.Name 1153 } 1154 return "" 1155} 1156 1157func (x *FieldDescriptorProto) GetNumber() int32 { 1158 if x != nil && x.Number != nil { 1159 return *x.Number 1160 } 1161 return 0 1162} 1163 1164func (x *FieldDescriptorProto) GetLabel() FieldDescriptorProto_Label { 1165 if x != nil && x.Label != nil { 1166 return *x.Label 1167 } 1168 return FieldDescriptorProto_LABEL_OPTIONAL 1169} 1170 1171func (x *FieldDescriptorProto) GetType() FieldDescriptorProto_Type { 1172 if x != nil && x.Type != nil { 1173 return *x.Type 1174 } 1175 return FieldDescriptorProto_TYPE_DOUBLE 1176} 1177 1178func (x *FieldDescriptorProto) GetTypeName() string { 1179 if x != nil && x.TypeName != nil { 1180 return *x.TypeName 1181 } 1182 return "" 1183} 1184 1185func (x *FieldDescriptorProto) GetExtendee() string { 1186 if x != nil && x.Extendee != nil { 1187 return *x.Extendee 1188 } 1189 return "" 1190} 1191 1192func (x *FieldDescriptorProto) GetDefaultValue() string { 1193 if x != nil && x.DefaultValue != nil { 1194 return *x.DefaultValue 1195 } 1196 return "" 1197} 1198 1199func (x *FieldDescriptorProto) GetOneofIndex() int32 { 1200 if x != nil && x.OneofIndex != nil { 1201 return *x.OneofIndex 1202 } 1203 return 0 1204} 1205 1206func (x *FieldDescriptorProto) GetJsonName() string { 1207 if x != nil && x.JsonName != nil { 1208 return *x.JsonName 1209 } 1210 return "" 1211} 1212 1213func (x *FieldDescriptorProto) GetOptions() *FieldOptions { 1214 if x != nil { 1215 return x.Options 1216 } 1217 return nil 1218} 1219 1220func (x *FieldDescriptorProto) GetProto3Optional() bool { 1221 if x != nil && x.Proto3Optional != nil { 1222 return *x.Proto3Optional 1223 } 1224 return false 1225} 1226 1227// Describes a oneof. 1228type OneofDescriptorProto struct { 1229 state protoimpl.MessageState 1230 sizeCache protoimpl.SizeCache 1231 unknownFields protoimpl.UnknownFields 1232 1233 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` 1234 Options *OneofOptions `protobuf:"bytes,2,opt,name=options" json:"options,omitempty"` 1235} 1236 1237func (x *OneofDescriptorProto) Reset() { 1238 *x = OneofDescriptorProto{} 1239 if protoimpl.UnsafeEnabled { 1240 mi := &file_google_protobuf_descriptor_proto_msgTypes[5] 1241 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1242 ms.StoreMessageInfo(mi) 1243 } 1244} 1245 1246func (x *OneofDescriptorProto) String() string { 1247 return protoimpl.X.MessageStringOf(x) 1248} 1249 1250func (*OneofDescriptorProto) ProtoMessage() {} 1251 1252func (x *OneofDescriptorProto) ProtoReflect() protoreflect.Message { 1253 mi := &file_google_protobuf_descriptor_proto_msgTypes[5] 1254 if protoimpl.UnsafeEnabled && x != nil { 1255 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1256 if ms.LoadMessageInfo() == nil { 1257 ms.StoreMessageInfo(mi) 1258 } 1259 return ms 1260 } 1261 return mi.MessageOf(x) 1262} 1263 1264// Deprecated: Use OneofDescriptorProto.ProtoReflect.Descriptor instead. 1265func (*OneofDescriptorProto) Descriptor() ([]byte, []int) { 1266 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{5} 1267} 1268 1269func (x *OneofDescriptorProto) GetName() string { 1270 if x != nil && x.Name != nil { 1271 return *x.Name 1272 } 1273 return "" 1274} 1275 1276func (x *OneofDescriptorProto) GetOptions() *OneofOptions { 1277 if x != nil { 1278 return x.Options 1279 } 1280 return nil 1281} 1282 1283// Describes an enum type. 1284type EnumDescriptorProto struct { 1285 state protoimpl.MessageState 1286 sizeCache protoimpl.SizeCache 1287 unknownFields protoimpl.UnknownFields 1288 1289 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` 1290 Value []*EnumValueDescriptorProto `protobuf:"bytes,2,rep,name=value" json:"value,omitempty"` 1291 Options *EnumOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"` 1292 // Range of reserved numeric values. Reserved numeric values may not be used 1293 // by enum values in the same enum declaration. Reserved ranges may not 1294 // overlap. 1295 ReservedRange []*EnumDescriptorProto_EnumReservedRange `protobuf:"bytes,4,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"` 1296 // Reserved enum value names, which may not be reused. A given name may only 1297 // be reserved once. 1298 ReservedName []string `protobuf:"bytes,5,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"` 1299} 1300 1301func (x *EnumDescriptorProto) Reset() { 1302 *x = EnumDescriptorProto{} 1303 if protoimpl.UnsafeEnabled { 1304 mi := &file_google_protobuf_descriptor_proto_msgTypes[6] 1305 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1306 ms.StoreMessageInfo(mi) 1307 } 1308} 1309 1310func (x *EnumDescriptorProto) String() string { 1311 return protoimpl.X.MessageStringOf(x) 1312} 1313 1314func (*EnumDescriptorProto) ProtoMessage() {} 1315 1316func (x *EnumDescriptorProto) ProtoReflect() protoreflect.Message { 1317 mi := &file_google_protobuf_descriptor_proto_msgTypes[6] 1318 if protoimpl.UnsafeEnabled && x != nil { 1319 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1320 if ms.LoadMessageInfo() == nil { 1321 ms.StoreMessageInfo(mi) 1322 } 1323 return ms 1324 } 1325 return mi.MessageOf(x) 1326} 1327 1328// Deprecated: Use EnumDescriptorProto.ProtoReflect.Descriptor instead. 1329func (*EnumDescriptorProto) Descriptor() ([]byte, []int) { 1330 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{6} 1331} 1332 1333func (x *EnumDescriptorProto) GetName() string { 1334 if x != nil && x.Name != nil { 1335 return *x.Name 1336 } 1337 return "" 1338} 1339 1340func (x *EnumDescriptorProto) GetValue() []*EnumValueDescriptorProto { 1341 if x != nil { 1342 return x.Value 1343 } 1344 return nil 1345} 1346 1347func (x *EnumDescriptorProto) GetOptions() *EnumOptions { 1348 if x != nil { 1349 return x.Options 1350 } 1351 return nil 1352} 1353 1354func (x *EnumDescriptorProto) GetReservedRange() []*EnumDescriptorProto_EnumReservedRange { 1355 if x != nil { 1356 return x.ReservedRange 1357 } 1358 return nil 1359} 1360 1361func (x *EnumDescriptorProto) GetReservedName() []string { 1362 if x != nil { 1363 return x.ReservedName 1364 } 1365 return nil 1366} 1367 1368// Describes a value within an enum. 1369type EnumValueDescriptorProto struct { 1370 state protoimpl.MessageState 1371 sizeCache protoimpl.SizeCache 1372 unknownFields protoimpl.UnknownFields 1373 1374 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` 1375 Number *int32 `protobuf:"varint,2,opt,name=number" json:"number,omitempty"` 1376 Options *EnumValueOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"` 1377} 1378 1379func (x *EnumValueDescriptorProto) Reset() { 1380 *x = EnumValueDescriptorProto{} 1381 if protoimpl.UnsafeEnabled { 1382 mi := &file_google_protobuf_descriptor_proto_msgTypes[7] 1383 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1384 ms.StoreMessageInfo(mi) 1385 } 1386} 1387 1388func (x *EnumValueDescriptorProto) String() string { 1389 return protoimpl.X.MessageStringOf(x) 1390} 1391 1392func (*EnumValueDescriptorProto) ProtoMessage() {} 1393 1394func (x *EnumValueDescriptorProto) ProtoReflect() protoreflect.Message { 1395 mi := &file_google_protobuf_descriptor_proto_msgTypes[7] 1396 if protoimpl.UnsafeEnabled && x != nil { 1397 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1398 if ms.LoadMessageInfo() == nil { 1399 ms.StoreMessageInfo(mi) 1400 } 1401 return ms 1402 } 1403 return mi.MessageOf(x) 1404} 1405 1406// Deprecated: Use EnumValueDescriptorProto.ProtoReflect.Descriptor instead. 1407func (*EnumValueDescriptorProto) Descriptor() ([]byte, []int) { 1408 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{7} 1409} 1410 1411func (x *EnumValueDescriptorProto) GetName() string { 1412 if x != nil && x.Name != nil { 1413 return *x.Name 1414 } 1415 return "" 1416} 1417 1418func (x *EnumValueDescriptorProto) GetNumber() int32 { 1419 if x != nil && x.Number != nil { 1420 return *x.Number 1421 } 1422 return 0 1423} 1424 1425func (x *EnumValueDescriptorProto) GetOptions() *EnumValueOptions { 1426 if x != nil { 1427 return x.Options 1428 } 1429 return nil 1430} 1431 1432// Describes a service. 1433type ServiceDescriptorProto struct { 1434 state protoimpl.MessageState 1435 sizeCache protoimpl.SizeCache 1436 unknownFields protoimpl.UnknownFields 1437 1438 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` 1439 Method []*MethodDescriptorProto `protobuf:"bytes,2,rep,name=method" json:"method,omitempty"` 1440 Options *ServiceOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"` 1441} 1442 1443func (x *ServiceDescriptorProto) Reset() { 1444 *x = ServiceDescriptorProto{} 1445 if protoimpl.UnsafeEnabled { 1446 mi := &file_google_protobuf_descriptor_proto_msgTypes[8] 1447 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1448 ms.StoreMessageInfo(mi) 1449 } 1450} 1451 1452func (x *ServiceDescriptorProto) String() string { 1453 return protoimpl.X.MessageStringOf(x) 1454} 1455 1456func (*ServiceDescriptorProto) ProtoMessage() {} 1457 1458func (x *ServiceDescriptorProto) ProtoReflect() protoreflect.Message { 1459 mi := &file_google_protobuf_descriptor_proto_msgTypes[8] 1460 if protoimpl.UnsafeEnabled && x != nil { 1461 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1462 if ms.LoadMessageInfo() == nil { 1463 ms.StoreMessageInfo(mi) 1464 } 1465 return ms 1466 } 1467 return mi.MessageOf(x) 1468} 1469 1470// Deprecated: Use ServiceDescriptorProto.ProtoReflect.Descriptor instead. 1471func (*ServiceDescriptorProto) Descriptor() ([]byte, []int) { 1472 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{8} 1473} 1474 1475func (x *ServiceDescriptorProto) GetName() string { 1476 if x != nil && x.Name != nil { 1477 return *x.Name 1478 } 1479 return "" 1480} 1481 1482func (x *ServiceDescriptorProto) GetMethod() []*MethodDescriptorProto { 1483 if x != nil { 1484 return x.Method 1485 } 1486 return nil 1487} 1488 1489func (x *ServiceDescriptorProto) GetOptions() *ServiceOptions { 1490 if x != nil { 1491 return x.Options 1492 } 1493 return nil 1494} 1495 1496// Describes a method of a service. 1497type MethodDescriptorProto struct { 1498 state protoimpl.MessageState 1499 sizeCache protoimpl.SizeCache 1500 unknownFields protoimpl.UnknownFields 1501 1502 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` 1503 // Input and output type names. These are resolved in the same way as 1504 // FieldDescriptorProto.type_name, but must refer to a message type. 1505 InputType *string `protobuf:"bytes,2,opt,name=input_type,json=inputType" json:"input_type,omitempty"` 1506 OutputType *string `protobuf:"bytes,3,opt,name=output_type,json=outputType" json:"output_type,omitempty"` 1507 Options *MethodOptions `protobuf:"bytes,4,opt,name=options" json:"options,omitempty"` 1508 // Identifies if client streams multiple client messages 1509 ClientStreaming *bool `protobuf:"varint,5,opt,name=client_streaming,json=clientStreaming,def=0" json:"client_streaming,omitempty"` 1510 // Identifies if server streams multiple server messages 1511 ServerStreaming *bool `protobuf:"varint,6,opt,name=server_streaming,json=serverStreaming,def=0" json:"server_streaming,omitempty"` 1512} 1513 1514// Default values for MethodDescriptorProto fields. 1515const ( 1516 Default_MethodDescriptorProto_ClientStreaming = bool(false) 1517 Default_MethodDescriptorProto_ServerStreaming = bool(false) 1518) 1519 1520func (x *MethodDescriptorProto) Reset() { 1521 *x = MethodDescriptorProto{} 1522 if protoimpl.UnsafeEnabled { 1523 mi := &file_google_protobuf_descriptor_proto_msgTypes[9] 1524 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1525 ms.StoreMessageInfo(mi) 1526 } 1527} 1528 1529func (x *MethodDescriptorProto) String() string { 1530 return protoimpl.X.MessageStringOf(x) 1531} 1532 1533func (*MethodDescriptorProto) ProtoMessage() {} 1534 1535func (x *MethodDescriptorProto) ProtoReflect() protoreflect.Message { 1536 mi := &file_google_protobuf_descriptor_proto_msgTypes[9] 1537 if protoimpl.UnsafeEnabled && x != nil { 1538 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1539 if ms.LoadMessageInfo() == nil { 1540 ms.StoreMessageInfo(mi) 1541 } 1542 return ms 1543 } 1544 return mi.MessageOf(x) 1545} 1546 1547// Deprecated: Use MethodDescriptorProto.ProtoReflect.Descriptor instead. 1548func (*MethodDescriptorProto) Descriptor() ([]byte, []int) { 1549 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{9} 1550} 1551 1552func (x *MethodDescriptorProto) GetName() string { 1553 if x != nil && x.Name != nil { 1554 return *x.Name 1555 } 1556 return "" 1557} 1558 1559func (x *MethodDescriptorProto) GetInputType() string { 1560 if x != nil && x.InputType != nil { 1561 return *x.InputType 1562 } 1563 return "" 1564} 1565 1566func (x *MethodDescriptorProto) GetOutputType() string { 1567 if x != nil && x.OutputType != nil { 1568 return *x.OutputType 1569 } 1570 return "" 1571} 1572 1573func (x *MethodDescriptorProto) GetOptions() *MethodOptions { 1574 if x != nil { 1575 return x.Options 1576 } 1577 return nil 1578} 1579 1580func (x *MethodDescriptorProto) GetClientStreaming() bool { 1581 if x != nil && x.ClientStreaming != nil { 1582 return *x.ClientStreaming 1583 } 1584 return Default_MethodDescriptorProto_ClientStreaming 1585} 1586 1587func (x *MethodDescriptorProto) GetServerStreaming() bool { 1588 if x != nil && x.ServerStreaming != nil { 1589 return *x.ServerStreaming 1590 } 1591 return Default_MethodDescriptorProto_ServerStreaming 1592} 1593 1594type FileOptions struct { 1595 state protoimpl.MessageState 1596 sizeCache protoimpl.SizeCache 1597 unknownFields protoimpl.UnknownFields 1598 extensionFields protoimpl.ExtensionFields 1599 1600 // Sets the Java package where classes generated from this .proto will be 1601 // placed. By default, the proto package is used, but this is often 1602 // inappropriate because proto packages do not normally start with backwards 1603 // domain names. 1604 JavaPackage *string `protobuf:"bytes,1,opt,name=java_package,json=javaPackage" json:"java_package,omitempty"` 1605 // Controls the name of the wrapper Java class generated for the .proto file. 1606 // That class will always contain the .proto file's getDescriptor() method as 1607 // well as any top-level extensions defined in the .proto file. 1608 // If java_multiple_files is disabled, then all the other classes from the 1609 // .proto file will be nested inside the single wrapper outer class. 1610 JavaOuterClassname *string `protobuf:"bytes,8,opt,name=java_outer_classname,json=javaOuterClassname" json:"java_outer_classname,omitempty"` 1611 // If enabled, then the Java code generator will generate a separate .java 1612 // file for each top-level message, enum, and service defined in the .proto 1613 // file. Thus, these types will *not* be nested inside the wrapper class 1614 // named by java_outer_classname. However, the wrapper class will still be 1615 // generated to contain the file's getDescriptor() method as well as any 1616 // top-level extensions defined in the file. 1617 JavaMultipleFiles *bool `protobuf:"varint,10,opt,name=java_multiple_files,json=javaMultipleFiles,def=0" json:"java_multiple_files,omitempty"` 1618 // This option does nothing. 1619 // 1620 // Deprecated: Marked as deprecated in google/protobuf/descriptor.proto. 1621 JavaGenerateEqualsAndHash *bool `protobuf:"varint,20,opt,name=java_generate_equals_and_hash,json=javaGenerateEqualsAndHash" json:"java_generate_equals_and_hash,omitempty"` 1622 // If set true, then the Java2 code generator will generate code that 1623 // throws an exception whenever an attempt is made to assign a non-UTF-8 1624 // byte sequence to a string field. 1625 // Message reflection will do the same. 1626 // However, an extension field still accepts non-UTF-8 byte sequences. 1627 // This option has no effect on when used with the lite runtime. 1628 JavaStringCheckUtf8 *bool `protobuf:"varint,27,opt,name=java_string_check_utf8,json=javaStringCheckUtf8,def=0" json:"java_string_check_utf8,omitempty"` 1629 OptimizeFor *FileOptions_OptimizeMode `protobuf:"varint,9,opt,name=optimize_for,json=optimizeFor,enum=google.protobuf.FileOptions_OptimizeMode,def=1" json:"optimize_for,omitempty"` 1630 // Sets the Go package where structs generated from this .proto will be 1631 // placed. If omitted, the Go package will be derived from the following: 1632 // - The basename of the package import path, if provided. 1633 // - Otherwise, the package statement in the .proto file, if present. 1634 // - Otherwise, the basename of the .proto file, without extension. 1635 GoPackage *string `protobuf:"bytes,11,opt,name=go_package,json=goPackage" json:"go_package,omitempty"` 1636 // Should generic services be generated in each language? "Generic" services 1637 // are not specific to any particular RPC system. They are generated by the 1638 // main code generators in each language (without additional plugins). 1639 // Generic services were the only kind of service generation supported by 1640 // early versions of google.protobuf. 1641 // 1642 // Generic services are now considered deprecated in favor of using plugins 1643 // that generate code specific to your particular RPC system. Therefore, 1644 // these default to false. Old code which depends on generic services should 1645 // explicitly set them to true. 1646 CcGenericServices *bool `protobuf:"varint,16,opt,name=cc_generic_services,json=ccGenericServices,def=0" json:"cc_generic_services,omitempty"` 1647 JavaGenericServices *bool `protobuf:"varint,17,opt,name=java_generic_services,json=javaGenericServices,def=0" json:"java_generic_services,omitempty"` 1648 PyGenericServices *bool `protobuf:"varint,18,opt,name=py_generic_services,json=pyGenericServices,def=0" json:"py_generic_services,omitempty"` 1649 PhpGenericServices *bool `protobuf:"varint,42,opt,name=php_generic_services,json=phpGenericServices,def=0" json:"php_generic_services,omitempty"` 1650 // Is this file deprecated? 1651 // Depending on the target platform, this can emit Deprecated annotations 1652 // for everything in the file, or it will be completely ignored; in the very 1653 // least, this is a formalization for deprecating files. 1654 Deprecated *bool `protobuf:"varint,23,opt,name=deprecated,def=0" json:"deprecated,omitempty"` 1655 // Enables the use of arenas for the proto messages in this file. This applies 1656 // only to generated classes for C++. 1657 CcEnableArenas *bool `protobuf:"varint,31,opt,name=cc_enable_arenas,json=ccEnableArenas,def=1" json:"cc_enable_arenas,omitempty"` 1658 // Sets the objective c class prefix which is prepended to all objective c 1659 // generated classes from this .proto. There is no default. 1660 ObjcClassPrefix *string `protobuf:"bytes,36,opt,name=objc_class_prefix,json=objcClassPrefix" json:"objc_class_prefix,omitempty"` 1661 // Namespace for generated classes; defaults to the package. 1662 CsharpNamespace *string `protobuf:"bytes,37,opt,name=csharp_namespace,json=csharpNamespace" json:"csharp_namespace,omitempty"` 1663 // By default Swift generators will take the proto package and CamelCase it 1664 // replacing '.' with underscore and use that to prefix the types/symbols 1665 // defined. When this options is provided, they will use this value instead 1666 // to prefix the types/symbols defined. 1667 SwiftPrefix *string `protobuf:"bytes,39,opt,name=swift_prefix,json=swiftPrefix" json:"swift_prefix,omitempty"` 1668 // Sets the php class prefix which is prepended to all php generated classes 1669 // from this .proto. Default is empty. 1670 PhpClassPrefix *string `protobuf:"bytes,40,opt,name=php_class_prefix,json=phpClassPrefix" json:"php_class_prefix,omitempty"` 1671 // Use this option to change the namespace of php generated classes. Default 1672 // is empty. When this option is empty, the package name will be used for 1673 // determining the namespace. 1674 PhpNamespace *string `protobuf:"bytes,41,opt,name=php_namespace,json=phpNamespace" json:"php_namespace,omitempty"` 1675 // Use this option to change the namespace of php generated metadata classes. 1676 // Default is empty. When this option is empty, the proto file name will be 1677 // used for determining the namespace. 1678 PhpMetadataNamespace *string `protobuf:"bytes,44,opt,name=php_metadata_namespace,json=phpMetadataNamespace" json:"php_metadata_namespace,omitempty"` 1679 // Use this option to change the package of ruby generated classes. Default 1680 // is empty. When this option is not set, the package name will be used for 1681 // determining the ruby package. 1682 RubyPackage *string `protobuf:"bytes,45,opt,name=ruby_package,json=rubyPackage" json:"ruby_package,omitempty"` 1683 // The parser stores options it doesn't recognize here. 1684 // See the documentation for the "Options" section above. 1685 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` 1686} 1687 1688// Default values for FileOptions fields. 1689const ( 1690 Default_FileOptions_JavaMultipleFiles = bool(false) 1691 Default_FileOptions_JavaStringCheckUtf8 = bool(false) 1692 Default_FileOptions_OptimizeFor = FileOptions_SPEED 1693 Default_FileOptions_CcGenericServices = bool(false) 1694 Default_FileOptions_JavaGenericServices = bool(false) 1695 Default_FileOptions_PyGenericServices = bool(false) 1696 Default_FileOptions_PhpGenericServices = bool(false) 1697 Default_FileOptions_Deprecated = bool(false) 1698 Default_FileOptions_CcEnableArenas = bool(true) 1699) 1700 1701func (x *FileOptions) Reset() { 1702 *x = FileOptions{} 1703 if protoimpl.UnsafeEnabled { 1704 mi := &file_google_protobuf_descriptor_proto_msgTypes[10] 1705 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1706 ms.StoreMessageInfo(mi) 1707 } 1708} 1709 1710func (x *FileOptions) String() string { 1711 return protoimpl.X.MessageStringOf(x) 1712} 1713 1714func (*FileOptions) ProtoMessage() {} 1715 1716func (x *FileOptions) ProtoReflect() protoreflect.Message { 1717 mi := &file_google_protobuf_descriptor_proto_msgTypes[10] 1718 if protoimpl.UnsafeEnabled && x != nil { 1719 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1720 if ms.LoadMessageInfo() == nil { 1721 ms.StoreMessageInfo(mi) 1722 } 1723 return ms 1724 } 1725 return mi.MessageOf(x) 1726} 1727 1728// Deprecated: Use FileOptions.ProtoReflect.Descriptor instead. 1729func (*FileOptions) Descriptor() ([]byte, []int) { 1730 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{10} 1731} 1732 1733func (x *FileOptions) GetJavaPackage() string { 1734 if x != nil && x.JavaPackage != nil { 1735 return *x.JavaPackage 1736 } 1737 return "" 1738} 1739 1740func (x *FileOptions) GetJavaOuterClassname() string { 1741 if x != nil && x.JavaOuterClassname != nil { 1742 return *x.JavaOuterClassname 1743 } 1744 return "" 1745} 1746 1747func (x *FileOptions) GetJavaMultipleFiles() bool { 1748 if x != nil && x.JavaMultipleFiles != nil { 1749 return *x.JavaMultipleFiles 1750 } 1751 return Default_FileOptions_JavaMultipleFiles 1752} 1753 1754// Deprecated: Marked as deprecated in google/protobuf/descriptor.proto. 1755func (x *FileOptions) GetJavaGenerateEqualsAndHash() bool { 1756 if x != nil && x.JavaGenerateEqualsAndHash != nil { 1757 return *x.JavaGenerateEqualsAndHash 1758 } 1759 return false 1760} 1761 1762func (x *FileOptions) GetJavaStringCheckUtf8() bool { 1763 if x != nil && x.JavaStringCheckUtf8 != nil { 1764 return *x.JavaStringCheckUtf8 1765 } 1766 return Default_FileOptions_JavaStringCheckUtf8 1767} 1768 1769func (x *FileOptions) GetOptimizeFor() FileOptions_OptimizeMode { 1770 if x != nil && x.OptimizeFor != nil { 1771 return *x.OptimizeFor 1772 } 1773 return Default_FileOptions_OptimizeFor 1774} 1775 1776func (x *FileOptions) GetGoPackage() string { 1777 if x != nil && x.GoPackage != nil { 1778 return *x.GoPackage 1779 } 1780 return "" 1781} 1782 1783func (x *FileOptions) GetCcGenericServices() bool { 1784 if x != nil && x.CcGenericServices != nil { 1785 return *x.CcGenericServices 1786 } 1787 return Default_FileOptions_CcGenericServices 1788} 1789 1790func (x *FileOptions) GetJavaGenericServices() bool { 1791 if x != nil && x.JavaGenericServices != nil { 1792 return *x.JavaGenericServices 1793 } 1794 return Default_FileOptions_JavaGenericServices 1795} 1796 1797func (x *FileOptions) GetPyGenericServices() bool { 1798 if x != nil && x.PyGenericServices != nil { 1799 return *x.PyGenericServices 1800 } 1801 return Default_FileOptions_PyGenericServices 1802} 1803 1804func (x *FileOptions) GetPhpGenericServices() bool { 1805 if x != nil && x.PhpGenericServices != nil { 1806 return *x.PhpGenericServices 1807 } 1808 return Default_FileOptions_PhpGenericServices 1809} 1810 1811func (x *FileOptions) GetDeprecated() bool { 1812 if x != nil && x.Deprecated != nil { 1813 return *x.Deprecated 1814 } 1815 return Default_FileOptions_Deprecated 1816} 1817 1818func (x *FileOptions) GetCcEnableArenas() bool { 1819 if x != nil && x.CcEnableArenas != nil { 1820 return *x.CcEnableArenas 1821 } 1822 return Default_FileOptions_CcEnableArenas 1823} 1824 1825func (x *FileOptions) GetObjcClassPrefix() string { 1826 if x != nil && x.ObjcClassPrefix != nil { 1827 return *x.ObjcClassPrefix 1828 } 1829 return "" 1830} 1831 1832func (x *FileOptions) GetCsharpNamespace() string { 1833 if x != nil && x.CsharpNamespace != nil { 1834 return *x.CsharpNamespace 1835 } 1836 return "" 1837} 1838 1839func (x *FileOptions) GetSwiftPrefix() string { 1840 if x != nil && x.SwiftPrefix != nil { 1841 return *x.SwiftPrefix 1842 } 1843 return "" 1844} 1845 1846func (x *FileOptions) GetPhpClassPrefix() string { 1847 if x != nil && x.PhpClassPrefix != nil { 1848 return *x.PhpClassPrefix 1849 } 1850 return "" 1851} 1852 1853func (x *FileOptions) GetPhpNamespace() string { 1854 if x != nil && x.PhpNamespace != nil { 1855 return *x.PhpNamespace 1856 } 1857 return "" 1858} 1859 1860func (x *FileOptions) GetPhpMetadataNamespace() string { 1861 if x != nil && x.PhpMetadataNamespace != nil { 1862 return *x.PhpMetadataNamespace 1863 } 1864 return "" 1865} 1866 1867func (x *FileOptions) GetRubyPackage() string { 1868 if x != nil && x.RubyPackage != nil { 1869 return *x.RubyPackage 1870 } 1871 return "" 1872} 1873 1874func (x *FileOptions) GetUninterpretedOption() []*UninterpretedOption { 1875 if x != nil { 1876 return x.UninterpretedOption 1877 } 1878 return nil 1879} 1880 1881type MessageOptions struct { 1882 state protoimpl.MessageState 1883 sizeCache protoimpl.SizeCache 1884 unknownFields protoimpl.UnknownFields 1885 extensionFields protoimpl.ExtensionFields 1886 1887 // Set true to use the old proto1 MessageSet wire format for extensions. 1888 // This is provided for backwards-compatibility with the MessageSet wire 1889 // format. You should not use this for any other reason: It's less 1890 // efficient, has fewer features, and is more complicated. 1891 // 1892 // The message must be defined exactly as follows: 1893 // 1894 // message Foo { 1895 // option message_set_wire_format = true; 1896 // extensions 4 to max; 1897 // } 1898 // 1899 // Note that the message cannot have any defined fields; MessageSets only 1900 // have extensions. 1901 // 1902 // All extensions of your type must be singular messages; e.g. they cannot 1903 // be int32s, enums, or repeated messages. 1904 // 1905 // Because this is an option, the above two restrictions are not enforced by 1906 // the protocol compiler. 1907 MessageSetWireFormat *bool `protobuf:"varint,1,opt,name=message_set_wire_format,json=messageSetWireFormat,def=0" json:"message_set_wire_format,omitempty"` 1908 // Disables the generation of the standard "descriptor()" accessor, which can 1909 // conflict with a field of the same name. This is meant to make migration 1910 // from proto1 easier; new code should avoid fields named "descriptor". 1911 NoStandardDescriptorAccessor *bool `protobuf:"varint,2,opt,name=no_standard_descriptor_accessor,json=noStandardDescriptorAccessor,def=0" json:"no_standard_descriptor_accessor,omitempty"` 1912 // Is this message deprecated? 1913 // Depending on the target platform, this can emit Deprecated annotations 1914 // for the message, or it will be completely ignored; in the very least, 1915 // this is a formalization for deprecating messages. 1916 Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"` 1917 // NOTE: Do not set the option in .proto files. Always use the maps syntax 1918 // instead. The option should only be implicitly set by the proto compiler 1919 // parser. 1920 // 1921 // Whether the message is an automatically generated map entry type for the 1922 // maps field. 1923 // 1924 // For maps fields: 1925 // 1926 // map<KeyType, ValueType> map_field = 1; 1927 // 1928 // The parsed descriptor looks like: 1929 // 1930 // message MapFieldEntry { 1931 // option map_entry = true; 1932 // optional KeyType key = 1; 1933 // optional ValueType value = 2; 1934 // } 1935 // repeated MapFieldEntry map_field = 1; 1936 // 1937 // Implementations may choose not to generate the map_entry=true message, but 1938 // use a native map in the target language to hold the keys and values. 1939 // The reflection APIs in such implementations still need to work as 1940 // if the field is a repeated message field. 1941 MapEntry *bool `protobuf:"varint,7,opt,name=map_entry,json=mapEntry" json:"map_entry,omitempty"` 1942 // Enable the legacy handling of JSON field name conflicts. This lowercases 1943 // and strips underscored from the fields before comparison in proto3 only. 1944 // The new behavior takes `json_name` into account and applies to proto2 as 1945 // well. 1946 // 1947 // This should only be used as a temporary measure against broken builds due 1948 // to the change in behavior for JSON field name conflicts. 1949 // 1950 // TODO(b/261750190) This is legacy behavior we plan to remove once downstream 1951 // teams have had time to migrate. 1952 // 1953 // Deprecated: Marked as deprecated in google/protobuf/descriptor.proto. 1954 DeprecatedLegacyJsonFieldConflicts *bool `protobuf:"varint,11,opt,name=deprecated_legacy_json_field_conflicts,json=deprecatedLegacyJsonFieldConflicts" json:"deprecated_legacy_json_field_conflicts,omitempty"` 1955 // The parser stores options it doesn't recognize here. See above. 1956 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` 1957} 1958 1959// Default values for MessageOptions fields. 1960const ( 1961 Default_MessageOptions_MessageSetWireFormat = bool(false) 1962 Default_MessageOptions_NoStandardDescriptorAccessor = bool(false) 1963 Default_MessageOptions_Deprecated = bool(false) 1964) 1965 1966func (x *MessageOptions) Reset() { 1967 *x = MessageOptions{} 1968 if protoimpl.UnsafeEnabled { 1969 mi := &file_google_protobuf_descriptor_proto_msgTypes[11] 1970 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1971 ms.StoreMessageInfo(mi) 1972 } 1973} 1974 1975func (x *MessageOptions) String() string { 1976 return protoimpl.X.MessageStringOf(x) 1977} 1978 1979func (*MessageOptions) ProtoMessage() {} 1980 1981func (x *MessageOptions) ProtoReflect() protoreflect.Message { 1982 mi := &file_google_protobuf_descriptor_proto_msgTypes[11] 1983 if protoimpl.UnsafeEnabled && x != nil { 1984 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1985 if ms.LoadMessageInfo() == nil { 1986 ms.StoreMessageInfo(mi) 1987 } 1988 return ms 1989 } 1990 return mi.MessageOf(x) 1991} 1992 1993// Deprecated: Use MessageOptions.ProtoReflect.Descriptor instead. 1994func (*MessageOptions) Descriptor() ([]byte, []int) { 1995 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{11} 1996} 1997 1998func (x *MessageOptions) GetMessageSetWireFormat() bool { 1999 if x != nil && x.MessageSetWireFormat != nil { 2000 return *x.MessageSetWireFormat 2001 } 2002 return Default_MessageOptions_MessageSetWireFormat 2003} 2004 2005func (x *MessageOptions) GetNoStandardDescriptorAccessor() bool { 2006 if x != nil && x.NoStandardDescriptorAccessor != nil { 2007 return *x.NoStandardDescriptorAccessor 2008 } 2009 return Default_MessageOptions_NoStandardDescriptorAccessor 2010} 2011 2012func (x *MessageOptions) GetDeprecated() bool { 2013 if x != nil && x.Deprecated != nil { 2014 return *x.Deprecated 2015 } 2016 return Default_MessageOptions_Deprecated 2017} 2018 2019func (x *MessageOptions) GetMapEntry() bool { 2020 if x != nil && x.MapEntry != nil { 2021 return *x.MapEntry 2022 } 2023 return false 2024} 2025 2026// Deprecated: Marked as deprecated in google/protobuf/descriptor.proto. 2027func (x *MessageOptions) GetDeprecatedLegacyJsonFieldConflicts() bool { 2028 if x != nil && x.DeprecatedLegacyJsonFieldConflicts != nil { 2029 return *x.DeprecatedLegacyJsonFieldConflicts 2030 } 2031 return false 2032} 2033 2034func (x *MessageOptions) GetUninterpretedOption() []*UninterpretedOption { 2035 if x != nil { 2036 return x.UninterpretedOption 2037 } 2038 return nil 2039} 2040 2041type FieldOptions struct { 2042 state protoimpl.MessageState 2043 sizeCache protoimpl.SizeCache 2044 unknownFields protoimpl.UnknownFields 2045 extensionFields protoimpl.ExtensionFields 2046 2047 // The ctype option instructs the C++ code generator to use a different 2048 // representation of the field than it normally would. See the specific 2049 // options below. This option is not yet implemented in the open source 2050 // release -- sorry, we'll try to include it in a future version! 2051 Ctype *FieldOptions_CType `protobuf:"varint,1,opt,name=ctype,enum=google.protobuf.FieldOptions_CType,def=0" json:"ctype,omitempty"` 2052 // The packed option can be enabled for repeated primitive fields to enable 2053 // a more efficient representation on the wire. Rather than repeatedly 2054 // writing the tag and type for each element, the entire array is encoded as 2055 // a single length-delimited blob. In proto3, only explicit setting it to 2056 // false will avoid using packed encoding. 2057 Packed *bool `protobuf:"varint,2,opt,name=packed" json:"packed,omitempty"` 2058 // The jstype option determines the JavaScript type used for values of the 2059 // field. The option is permitted only for 64 bit integral and fixed types 2060 // (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING 2061 // is represented as JavaScript string, which avoids loss of precision that 2062 // can happen when a large value is converted to a floating point JavaScript. 2063 // Specifying JS_NUMBER for the jstype causes the generated JavaScript code to 2064 // use the JavaScript "number" type. The behavior of the default option 2065 // JS_NORMAL is implementation dependent. 2066 // 2067 // This option is an enum to permit additional types to be added, e.g. 2068 // goog.math.Integer. 2069 Jstype *FieldOptions_JSType `protobuf:"varint,6,opt,name=jstype,enum=google.protobuf.FieldOptions_JSType,def=0" json:"jstype,omitempty"` 2070 // Should this field be parsed lazily? Lazy applies only to message-type 2071 // fields. It means that when the outer message is initially parsed, the 2072 // inner message's contents will not be parsed but instead stored in encoded 2073 // form. The inner message will actually be parsed when it is first accessed. 2074 // 2075 // This is only a hint. Implementations are free to choose whether to use 2076 // eager or lazy parsing regardless of the value of this option. However, 2077 // setting this option true suggests that the protocol author believes that 2078 // using lazy parsing on this field is worth the additional bookkeeping 2079 // overhead typically needed to implement it. 2080 // 2081 // This option does not affect the public interface of any generated code; 2082 // all method signatures remain the same. Furthermore, thread-safety of the 2083 // interface is not affected by this option; const methods remain safe to 2084 // call from multiple threads concurrently, while non-const methods continue 2085 // to require exclusive access. 2086 // 2087 // Note that implementations may choose not to check required fields within 2088 // a lazy sub-message. That is, calling IsInitialized() on the outer message 2089 // may return true even if the inner message has missing required fields. 2090 // This is necessary because otherwise the inner message would have to be 2091 // parsed in order to perform the check, defeating the purpose of lazy 2092 // parsing. An implementation which chooses not to check required fields 2093 // must be consistent about it. That is, for any particular sub-message, the 2094 // implementation must either *always* check its required fields, or *never* 2095 // check its required fields, regardless of whether or not the message has 2096 // been parsed. 2097 // 2098 // As of May 2022, lazy verifies the contents of the byte stream during 2099 // parsing. An invalid byte stream will cause the overall parsing to fail. 2100 Lazy *bool `protobuf:"varint,5,opt,name=lazy,def=0" json:"lazy,omitempty"` 2101 // unverified_lazy does no correctness checks on the byte stream. This should 2102 // only be used where lazy with verification is prohibitive for performance 2103 // reasons. 2104 UnverifiedLazy *bool `protobuf:"varint,15,opt,name=unverified_lazy,json=unverifiedLazy,def=0" json:"unverified_lazy,omitempty"` 2105 // Is this field deprecated? 2106 // Depending on the target platform, this can emit Deprecated annotations 2107 // for accessors, or it will be completely ignored; in the very least, this 2108 // is a formalization for deprecating fields. 2109 Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"` 2110 // For Google-internal migration only. Do not use. 2111 Weak *bool `protobuf:"varint,10,opt,name=weak,def=0" json:"weak,omitempty"` 2112 // Indicate that the field value should not be printed out when using debug 2113 // formats, e.g. when the field contains sensitive credentials. 2114 DebugRedact *bool `protobuf:"varint,16,opt,name=debug_redact,json=debugRedact,def=0" json:"debug_redact,omitempty"` 2115 Retention *FieldOptions_OptionRetention `protobuf:"varint,17,opt,name=retention,enum=google.protobuf.FieldOptions_OptionRetention" json:"retention,omitempty"` 2116 Target *FieldOptions_OptionTargetType `protobuf:"varint,18,opt,name=target,enum=google.protobuf.FieldOptions_OptionTargetType" json:"target,omitempty"` 2117 // The parser stores options it doesn't recognize here. See above. 2118 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` 2119} 2120 2121// Default values for FieldOptions fields. 2122const ( 2123 Default_FieldOptions_Ctype = FieldOptions_STRING 2124 Default_FieldOptions_Jstype = FieldOptions_JS_NORMAL 2125 Default_FieldOptions_Lazy = bool(false) 2126 Default_FieldOptions_UnverifiedLazy = bool(false) 2127 Default_FieldOptions_Deprecated = bool(false) 2128 Default_FieldOptions_Weak = bool(false) 2129 Default_FieldOptions_DebugRedact = bool(false) 2130) 2131 2132func (x *FieldOptions) Reset() { 2133 *x = FieldOptions{} 2134 if protoimpl.UnsafeEnabled { 2135 mi := &file_google_protobuf_descriptor_proto_msgTypes[12] 2136 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2137 ms.StoreMessageInfo(mi) 2138 } 2139} 2140 2141func (x *FieldOptions) String() string { 2142 return protoimpl.X.MessageStringOf(x) 2143} 2144 2145func (*FieldOptions) ProtoMessage() {} 2146 2147func (x *FieldOptions) ProtoReflect() protoreflect.Message { 2148 mi := &file_google_protobuf_descriptor_proto_msgTypes[12] 2149 if protoimpl.UnsafeEnabled && x != nil { 2150 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2151 if ms.LoadMessageInfo() == nil { 2152 ms.StoreMessageInfo(mi) 2153 } 2154 return ms 2155 } 2156 return mi.MessageOf(x) 2157} 2158 2159// Deprecated: Use FieldOptions.ProtoReflect.Descriptor instead. 2160func (*FieldOptions) Descriptor() ([]byte, []int) { 2161 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{12} 2162} 2163 2164func (x *FieldOptions) GetCtype() FieldOptions_CType { 2165 if x != nil && x.Ctype != nil { 2166 return *x.Ctype 2167 } 2168 return Default_FieldOptions_Ctype 2169} 2170 2171func (x *FieldOptions) GetPacked() bool { 2172 if x != nil && x.Packed != nil { 2173 return *x.Packed 2174 } 2175 return false 2176} 2177 2178func (x *FieldOptions) GetJstype() FieldOptions_JSType { 2179 if x != nil && x.Jstype != nil { 2180 return *x.Jstype 2181 } 2182 return Default_FieldOptions_Jstype 2183} 2184 2185func (x *FieldOptions) GetLazy() bool { 2186 if x != nil && x.Lazy != nil { 2187 return *x.Lazy 2188 } 2189 return Default_FieldOptions_Lazy 2190} 2191 2192func (x *FieldOptions) GetUnverifiedLazy() bool { 2193 if x != nil && x.UnverifiedLazy != nil { 2194 return *x.UnverifiedLazy 2195 } 2196 return Default_FieldOptions_UnverifiedLazy 2197} 2198 2199func (x *FieldOptions) GetDeprecated() bool { 2200 if x != nil && x.Deprecated != nil { 2201 return *x.Deprecated 2202 } 2203 return Default_FieldOptions_Deprecated 2204} 2205 2206func (x *FieldOptions) GetWeak() bool { 2207 if x != nil && x.Weak != nil { 2208 return *x.Weak 2209 } 2210 return Default_FieldOptions_Weak 2211} 2212 2213func (x *FieldOptions) GetDebugRedact() bool { 2214 if x != nil && x.DebugRedact != nil { 2215 return *x.DebugRedact 2216 } 2217 return Default_FieldOptions_DebugRedact 2218} 2219 2220func (x *FieldOptions) GetRetention() FieldOptions_OptionRetention { 2221 if x != nil && x.Retention != nil { 2222 return *x.Retention 2223 } 2224 return FieldOptions_RETENTION_UNKNOWN 2225} 2226 2227func (x *FieldOptions) GetTarget() FieldOptions_OptionTargetType { 2228 if x != nil && x.Target != nil { 2229 return *x.Target 2230 } 2231 return FieldOptions_TARGET_TYPE_UNKNOWN 2232} 2233 2234func (x *FieldOptions) GetUninterpretedOption() []*UninterpretedOption { 2235 if x != nil { 2236 return x.UninterpretedOption 2237 } 2238 return nil 2239} 2240 2241type OneofOptions struct { 2242 state protoimpl.MessageState 2243 sizeCache protoimpl.SizeCache 2244 unknownFields protoimpl.UnknownFields 2245 extensionFields protoimpl.ExtensionFields 2246 2247 // The parser stores options it doesn't recognize here. See above. 2248 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` 2249} 2250 2251func (x *OneofOptions) Reset() { 2252 *x = OneofOptions{} 2253 if protoimpl.UnsafeEnabled { 2254 mi := &file_google_protobuf_descriptor_proto_msgTypes[13] 2255 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2256 ms.StoreMessageInfo(mi) 2257 } 2258} 2259 2260func (x *OneofOptions) String() string { 2261 return protoimpl.X.MessageStringOf(x) 2262} 2263 2264func (*OneofOptions) ProtoMessage() {} 2265 2266func (x *OneofOptions) ProtoReflect() protoreflect.Message { 2267 mi := &file_google_protobuf_descriptor_proto_msgTypes[13] 2268 if protoimpl.UnsafeEnabled && x != nil { 2269 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2270 if ms.LoadMessageInfo() == nil { 2271 ms.StoreMessageInfo(mi) 2272 } 2273 return ms 2274 } 2275 return mi.MessageOf(x) 2276} 2277 2278// Deprecated: Use OneofOptions.ProtoReflect.Descriptor instead. 2279func (*OneofOptions) Descriptor() ([]byte, []int) { 2280 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{13} 2281} 2282 2283func (x *OneofOptions) GetUninterpretedOption() []*UninterpretedOption { 2284 if x != nil { 2285 return x.UninterpretedOption 2286 } 2287 return nil 2288} 2289 2290type EnumOptions struct { 2291 state protoimpl.MessageState 2292 sizeCache protoimpl.SizeCache 2293 unknownFields protoimpl.UnknownFields 2294 extensionFields protoimpl.ExtensionFields 2295 2296 // Set this option to true to allow mapping different tag names to the same 2297 // value. 2298 AllowAlias *bool `protobuf:"varint,2,opt,name=allow_alias,json=allowAlias" json:"allow_alias,omitempty"` 2299 // Is this enum deprecated? 2300 // Depending on the target platform, this can emit Deprecated annotations 2301 // for the enum, or it will be completely ignored; in the very least, this 2302 // is a formalization for deprecating enums. 2303 Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"` 2304 // Enable the legacy handling of JSON field name conflicts. This lowercases 2305 // and strips underscored from the fields before comparison in proto3 only. 2306 // The new behavior takes `json_name` into account and applies to proto2 as 2307 // well. 2308 // TODO(b/261750190) Remove this legacy behavior once downstream teams have 2309 // had time to migrate. 2310 // 2311 // Deprecated: Marked as deprecated in google/protobuf/descriptor.proto. 2312 DeprecatedLegacyJsonFieldConflicts *bool `protobuf:"varint,6,opt,name=deprecated_legacy_json_field_conflicts,json=deprecatedLegacyJsonFieldConflicts" json:"deprecated_legacy_json_field_conflicts,omitempty"` 2313 // The parser stores options it doesn't recognize here. See above. 2314 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` 2315} 2316 2317// Default values for EnumOptions fields. 2318const ( 2319 Default_EnumOptions_Deprecated = bool(false) 2320) 2321 2322func (x *EnumOptions) Reset() { 2323 *x = EnumOptions{} 2324 if protoimpl.UnsafeEnabled { 2325 mi := &file_google_protobuf_descriptor_proto_msgTypes[14] 2326 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2327 ms.StoreMessageInfo(mi) 2328 } 2329} 2330 2331func (x *EnumOptions) String() string { 2332 return protoimpl.X.MessageStringOf(x) 2333} 2334 2335func (*EnumOptions) ProtoMessage() {} 2336 2337func (x *EnumOptions) ProtoReflect() protoreflect.Message { 2338 mi := &file_google_protobuf_descriptor_proto_msgTypes[14] 2339 if protoimpl.UnsafeEnabled && x != nil { 2340 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2341 if ms.LoadMessageInfo() == nil { 2342 ms.StoreMessageInfo(mi) 2343 } 2344 return ms 2345 } 2346 return mi.MessageOf(x) 2347} 2348 2349// Deprecated: Use EnumOptions.ProtoReflect.Descriptor instead. 2350func (*EnumOptions) Descriptor() ([]byte, []int) { 2351 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{14} 2352} 2353 2354func (x *EnumOptions) GetAllowAlias() bool { 2355 if x != nil && x.AllowAlias != nil { 2356 return *x.AllowAlias 2357 } 2358 return false 2359} 2360 2361func (x *EnumOptions) GetDeprecated() bool { 2362 if x != nil && x.Deprecated != nil { 2363 return *x.Deprecated 2364 } 2365 return Default_EnumOptions_Deprecated 2366} 2367 2368// Deprecated: Marked as deprecated in google/protobuf/descriptor.proto. 2369func (x *EnumOptions) GetDeprecatedLegacyJsonFieldConflicts() bool { 2370 if x != nil && x.DeprecatedLegacyJsonFieldConflicts != nil { 2371 return *x.DeprecatedLegacyJsonFieldConflicts 2372 } 2373 return false 2374} 2375 2376func (x *EnumOptions) GetUninterpretedOption() []*UninterpretedOption { 2377 if x != nil { 2378 return x.UninterpretedOption 2379 } 2380 return nil 2381} 2382 2383type EnumValueOptions struct { 2384 state protoimpl.MessageState 2385 sizeCache protoimpl.SizeCache 2386 unknownFields protoimpl.UnknownFields 2387 extensionFields protoimpl.ExtensionFields 2388 2389 // Is this enum value deprecated? 2390 // Depending on the target platform, this can emit Deprecated annotations 2391 // for the enum value, or it will be completely ignored; in the very least, 2392 // this is a formalization for deprecating enum values. 2393 Deprecated *bool `protobuf:"varint,1,opt,name=deprecated,def=0" json:"deprecated,omitempty"` 2394 // The parser stores options it doesn't recognize here. See above. 2395 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` 2396} 2397 2398// Default values for EnumValueOptions fields. 2399const ( 2400 Default_EnumValueOptions_Deprecated = bool(false) 2401) 2402 2403func (x *EnumValueOptions) Reset() { 2404 *x = EnumValueOptions{} 2405 if protoimpl.UnsafeEnabled { 2406 mi := &file_google_protobuf_descriptor_proto_msgTypes[15] 2407 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2408 ms.StoreMessageInfo(mi) 2409 } 2410} 2411 2412func (x *EnumValueOptions) String() string { 2413 return protoimpl.X.MessageStringOf(x) 2414} 2415 2416func (*EnumValueOptions) ProtoMessage() {} 2417 2418func (x *EnumValueOptions) ProtoReflect() protoreflect.Message { 2419 mi := &file_google_protobuf_descriptor_proto_msgTypes[15] 2420 if protoimpl.UnsafeEnabled && x != nil { 2421 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2422 if ms.LoadMessageInfo() == nil { 2423 ms.StoreMessageInfo(mi) 2424 } 2425 return ms 2426 } 2427 return mi.MessageOf(x) 2428} 2429 2430// Deprecated: Use EnumValueOptions.ProtoReflect.Descriptor instead. 2431func (*EnumValueOptions) Descriptor() ([]byte, []int) { 2432 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{15} 2433} 2434 2435func (x *EnumValueOptions) GetDeprecated() bool { 2436 if x != nil && x.Deprecated != nil { 2437 return *x.Deprecated 2438 } 2439 return Default_EnumValueOptions_Deprecated 2440} 2441 2442func (x *EnumValueOptions) GetUninterpretedOption() []*UninterpretedOption { 2443 if x != nil { 2444 return x.UninterpretedOption 2445 } 2446 return nil 2447} 2448 2449type ServiceOptions struct { 2450 state protoimpl.MessageState 2451 sizeCache protoimpl.SizeCache 2452 unknownFields protoimpl.UnknownFields 2453 extensionFields protoimpl.ExtensionFields 2454 2455 // Is this service deprecated? 2456 // Depending on the target platform, this can emit Deprecated annotations 2457 // for the service, or it will be completely ignored; in the very least, 2458 // this is a formalization for deprecating services. 2459 Deprecated *bool `protobuf:"varint,33,opt,name=deprecated,def=0" json:"deprecated,omitempty"` 2460 // The parser stores options it doesn't recognize here. See above. 2461 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` 2462} 2463 2464// Default values for ServiceOptions fields. 2465const ( 2466 Default_ServiceOptions_Deprecated = bool(false) 2467) 2468 2469func (x *ServiceOptions) Reset() { 2470 *x = ServiceOptions{} 2471 if protoimpl.UnsafeEnabled { 2472 mi := &file_google_protobuf_descriptor_proto_msgTypes[16] 2473 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2474 ms.StoreMessageInfo(mi) 2475 } 2476} 2477 2478func (x *ServiceOptions) String() string { 2479 return protoimpl.X.MessageStringOf(x) 2480} 2481 2482func (*ServiceOptions) ProtoMessage() {} 2483 2484func (x *ServiceOptions) ProtoReflect() protoreflect.Message { 2485 mi := &file_google_protobuf_descriptor_proto_msgTypes[16] 2486 if protoimpl.UnsafeEnabled && x != nil { 2487 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2488 if ms.LoadMessageInfo() == nil { 2489 ms.StoreMessageInfo(mi) 2490 } 2491 return ms 2492 } 2493 return mi.MessageOf(x) 2494} 2495 2496// Deprecated: Use ServiceOptions.ProtoReflect.Descriptor instead. 2497func (*ServiceOptions) Descriptor() ([]byte, []int) { 2498 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{16} 2499} 2500 2501func (x *ServiceOptions) GetDeprecated() bool { 2502 if x != nil && x.Deprecated != nil { 2503 return *x.Deprecated 2504 } 2505 return Default_ServiceOptions_Deprecated 2506} 2507 2508func (x *ServiceOptions) GetUninterpretedOption() []*UninterpretedOption { 2509 if x != nil { 2510 return x.UninterpretedOption 2511 } 2512 return nil 2513} 2514 2515type MethodOptions struct { 2516 state protoimpl.MessageState 2517 sizeCache protoimpl.SizeCache 2518 unknownFields protoimpl.UnknownFields 2519 extensionFields protoimpl.ExtensionFields 2520 2521 // Is this method deprecated? 2522 // Depending on the target platform, this can emit Deprecated annotations 2523 // for the method, or it will be completely ignored; in the very least, 2524 // this is a formalization for deprecating methods. 2525 Deprecated *bool `protobuf:"varint,33,opt,name=deprecated,def=0" json:"deprecated,omitempty"` 2526 IdempotencyLevel *MethodOptions_IdempotencyLevel `protobuf:"varint,34,opt,name=idempotency_level,json=idempotencyLevel,enum=google.protobuf.MethodOptions_IdempotencyLevel,def=0" json:"idempotency_level,omitempty"` 2527 // The parser stores options it doesn't recognize here. See above. 2528 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` 2529} 2530 2531// Default values for MethodOptions fields. 2532const ( 2533 Default_MethodOptions_Deprecated = bool(false) 2534 Default_MethodOptions_IdempotencyLevel = MethodOptions_IDEMPOTENCY_UNKNOWN 2535) 2536 2537func (x *MethodOptions) Reset() { 2538 *x = MethodOptions{} 2539 if protoimpl.UnsafeEnabled { 2540 mi := &file_google_protobuf_descriptor_proto_msgTypes[17] 2541 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2542 ms.StoreMessageInfo(mi) 2543 } 2544} 2545 2546func (x *MethodOptions) String() string { 2547 return protoimpl.X.MessageStringOf(x) 2548} 2549 2550func (*MethodOptions) ProtoMessage() {} 2551 2552func (x *MethodOptions) ProtoReflect() protoreflect.Message { 2553 mi := &file_google_protobuf_descriptor_proto_msgTypes[17] 2554 if protoimpl.UnsafeEnabled && x != nil { 2555 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2556 if ms.LoadMessageInfo() == nil { 2557 ms.StoreMessageInfo(mi) 2558 } 2559 return ms 2560 } 2561 return mi.MessageOf(x) 2562} 2563 2564// Deprecated: Use MethodOptions.ProtoReflect.Descriptor instead. 2565func (*MethodOptions) Descriptor() ([]byte, []int) { 2566 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{17} 2567} 2568 2569func (x *MethodOptions) GetDeprecated() bool { 2570 if x != nil && x.Deprecated != nil { 2571 return *x.Deprecated 2572 } 2573 return Default_MethodOptions_Deprecated 2574} 2575 2576func (x *MethodOptions) GetIdempotencyLevel() MethodOptions_IdempotencyLevel { 2577 if x != nil && x.IdempotencyLevel != nil { 2578 return *x.IdempotencyLevel 2579 } 2580 return Default_MethodOptions_IdempotencyLevel 2581} 2582 2583func (x *MethodOptions) GetUninterpretedOption() []*UninterpretedOption { 2584 if x != nil { 2585 return x.UninterpretedOption 2586 } 2587 return nil 2588} 2589 2590// A message representing a option the parser does not recognize. This only 2591// appears in options protos created by the compiler::Parser class. 2592// DescriptorPool resolves these when building Descriptor objects. Therefore, 2593// options protos in descriptor objects (e.g. returned by Descriptor::options(), 2594// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions 2595// in them. 2596type UninterpretedOption struct { 2597 state protoimpl.MessageState 2598 sizeCache protoimpl.SizeCache 2599 unknownFields protoimpl.UnknownFields 2600 2601 Name []*UninterpretedOption_NamePart `protobuf:"bytes,2,rep,name=name" json:"name,omitempty"` 2602 // The value of the uninterpreted option, in whatever type the tokenizer 2603 // identified it as during parsing. Exactly one of these should be set. 2604 IdentifierValue *string `protobuf:"bytes,3,opt,name=identifier_value,json=identifierValue" json:"identifier_value,omitempty"` 2605 PositiveIntValue *uint64 `protobuf:"varint,4,opt,name=positive_int_value,json=positiveIntValue" json:"positive_int_value,omitempty"` 2606 NegativeIntValue *int64 `protobuf:"varint,5,opt,name=negative_int_value,json=negativeIntValue" json:"negative_int_value,omitempty"` 2607 DoubleValue *float64 `protobuf:"fixed64,6,opt,name=double_value,json=doubleValue" json:"double_value,omitempty"` 2608 StringValue []byte `protobuf:"bytes,7,opt,name=string_value,json=stringValue" json:"string_value,omitempty"` 2609 AggregateValue *string `protobuf:"bytes,8,opt,name=aggregate_value,json=aggregateValue" json:"aggregate_value,omitempty"` 2610} 2611 2612func (x *UninterpretedOption) Reset() { 2613 *x = UninterpretedOption{} 2614 if protoimpl.UnsafeEnabled { 2615 mi := &file_google_protobuf_descriptor_proto_msgTypes[18] 2616 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2617 ms.StoreMessageInfo(mi) 2618 } 2619} 2620 2621func (x *UninterpretedOption) String() string { 2622 return protoimpl.X.MessageStringOf(x) 2623} 2624 2625func (*UninterpretedOption) ProtoMessage() {} 2626 2627func (x *UninterpretedOption) ProtoReflect() protoreflect.Message { 2628 mi := &file_google_protobuf_descriptor_proto_msgTypes[18] 2629 if protoimpl.UnsafeEnabled && x != nil { 2630 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2631 if ms.LoadMessageInfo() == nil { 2632 ms.StoreMessageInfo(mi) 2633 } 2634 return ms 2635 } 2636 return mi.MessageOf(x) 2637} 2638 2639// Deprecated: Use UninterpretedOption.ProtoReflect.Descriptor instead. 2640func (*UninterpretedOption) Descriptor() ([]byte, []int) { 2641 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{18} 2642} 2643 2644func (x *UninterpretedOption) GetName() []*UninterpretedOption_NamePart { 2645 if x != nil { 2646 return x.Name 2647 } 2648 return nil 2649} 2650 2651func (x *UninterpretedOption) GetIdentifierValue() string { 2652 if x != nil && x.IdentifierValue != nil { 2653 return *x.IdentifierValue 2654 } 2655 return "" 2656} 2657 2658func (x *UninterpretedOption) GetPositiveIntValue() uint64 { 2659 if x != nil && x.PositiveIntValue != nil { 2660 return *x.PositiveIntValue 2661 } 2662 return 0 2663} 2664 2665func (x *UninterpretedOption) GetNegativeIntValue() int64 { 2666 if x != nil && x.NegativeIntValue != nil { 2667 return *x.NegativeIntValue 2668 } 2669 return 0 2670} 2671 2672func (x *UninterpretedOption) GetDoubleValue() float64 { 2673 if x != nil && x.DoubleValue != nil { 2674 return *x.DoubleValue 2675 } 2676 return 0 2677} 2678 2679func (x *UninterpretedOption) GetStringValue() []byte { 2680 if x != nil { 2681 return x.StringValue 2682 } 2683 return nil 2684} 2685 2686func (x *UninterpretedOption) GetAggregateValue() string { 2687 if x != nil && x.AggregateValue != nil { 2688 return *x.AggregateValue 2689 } 2690 return "" 2691} 2692 2693// Encapsulates information about the original source file from which a 2694// FileDescriptorProto was generated. 2695type SourceCodeInfo struct { 2696 state protoimpl.MessageState 2697 sizeCache protoimpl.SizeCache 2698 unknownFields protoimpl.UnknownFields 2699 2700 // A Location identifies a piece of source code in a .proto file which 2701 // corresponds to a particular definition. This information is intended 2702 // to be useful to IDEs, code indexers, documentation generators, and similar 2703 // tools. 2704 // 2705 // For example, say we have a file like: 2706 // 2707 // message Foo { 2708 // optional string foo = 1; 2709 // } 2710 // 2711 // Let's look at just the field definition: 2712 // 2713 // optional string foo = 1; 2714 // ^ ^^ ^^ ^ ^^^ 2715 // a bc de f ghi 2716 // 2717 // We have the following locations: 2718 // 2719 // span path represents 2720 // [a,i) [ 4, 0, 2, 0 ] The whole field definition. 2721 // [a,b) [ 4, 0, 2, 0, 4 ] The label (optional). 2722 // [c,d) [ 4, 0, 2, 0, 5 ] The type (string). 2723 // [e,f) [ 4, 0, 2, 0, 1 ] The name (foo). 2724 // [g,h) [ 4, 0, 2, 0, 3 ] The number (1). 2725 // 2726 // Notes: 2727 // - A location may refer to a repeated field itself (i.e. not to any 2728 // particular index within it). This is used whenever a set of elements are 2729 // logically enclosed in a single code segment. For example, an entire 2730 // extend block (possibly containing multiple extension definitions) will 2731 // have an outer location whose path refers to the "extensions" repeated 2732 // field without an index. 2733 // - Multiple locations may have the same path. This happens when a single 2734 // logical declaration is spread out across multiple places. The most 2735 // obvious example is the "extend" block again -- there may be multiple 2736 // extend blocks in the same scope, each of which will have the same path. 2737 // - A location's span is not always a subset of its parent's span. For 2738 // example, the "extendee" of an extension declaration appears at the 2739 // beginning of the "extend" block and is shared by all extensions within 2740 // the block. 2741 // - Just because a location's span is a subset of some other location's span 2742 // does not mean that it is a descendant. For example, a "group" defines 2743 // both a type and a field in a single declaration. Thus, the locations 2744 // corresponding to the type and field and their components will overlap. 2745 // - Code which tries to interpret locations should probably be designed to 2746 // ignore those that it doesn't understand, as more types of locations could 2747 // be recorded in the future. 2748 Location []*SourceCodeInfo_Location `protobuf:"bytes,1,rep,name=location" json:"location,omitempty"` 2749} 2750 2751func (x *SourceCodeInfo) Reset() { 2752 *x = SourceCodeInfo{} 2753 if protoimpl.UnsafeEnabled { 2754 mi := &file_google_protobuf_descriptor_proto_msgTypes[19] 2755 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2756 ms.StoreMessageInfo(mi) 2757 } 2758} 2759 2760func (x *SourceCodeInfo) String() string { 2761 return protoimpl.X.MessageStringOf(x) 2762} 2763 2764func (*SourceCodeInfo) ProtoMessage() {} 2765 2766func (x *SourceCodeInfo) ProtoReflect() protoreflect.Message { 2767 mi := &file_google_protobuf_descriptor_proto_msgTypes[19] 2768 if protoimpl.UnsafeEnabled && x != nil { 2769 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2770 if ms.LoadMessageInfo() == nil { 2771 ms.StoreMessageInfo(mi) 2772 } 2773 return ms 2774 } 2775 return mi.MessageOf(x) 2776} 2777 2778// Deprecated: Use SourceCodeInfo.ProtoReflect.Descriptor instead. 2779func (*SourceCodeInfo) Descriptor() ([]byte, []int) { 2780 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{19} 2781} 2782 2783func (x *SourceCodeInfo) GetLocation() []*SourceCodeInfo_Location { 2784 if x != nil { 2785 return x.Location 2786 } 2787 return nil 2788} 2789 2790// Describes the relationship between generated code and its original source 2791// file. A GeneratedCodeInfo message is associated with only one generated 2792// source file, but may contain references to different source .proto files. 2793type GeneratedCodeInfo struct { 2794 state protoimpl.MessageState 2795 sizeCache protoimpl.SizeCache 2796 unknownFields protoimpl.UnknownFields 2797 2798 // An Annotation connects some span of text in generated code to an element 2799 // of its generating .proto file. 2800 Annotation []*GeneratedCodeInfo_Annotation `protobuf:"bytes,1,rep,name=annotation" json:"annotation,omitempty"` 2801} 2802 2803func (x *GeneratedCodeInfo) Reset() { 2804 *x = GeneratedCodeInfo{} 2805 if protoimpl.UnsafeEnabled { 2806 mi := &file_google_protobuf_descriptor_proto_msgTypes[20] 2807 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2808 ms.StoreMessageInfo(mi) 2809 } 2810} 2811 2812func (x *GeneratedCodeInfo) String() string { 2813 return protoimpl.X.MessageStringOf(x) 2814} 2815 2816func (*GeneratedCodeInfo) ProtoMessage() {} 2817 2818func (x *GeneratedCodeInfo) ProtoReflect() protoreflect.Message { 2819 mi := &file_google_protobuf_descriptor_proto_msgTypes[20] 2820 if protoimpl.UnsafeEnabled && x != nil { 2821 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2822 if ms.LoadMessageInfo() == nil { 2823 ms.StoreMessageInfo(mi) 2824 } 2825 return ms 2826 } 2827 return mi.MessageOf(x) 2828} 2829 2830// Deprecated: Use GeneratedCodeInfo.ProtoReflect.Descriptor instead. 2831func (*GeneratedCodeInfo) Descriptor() ([]byte, []int) { 2832 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{20} 2833} 2834 2835func (x *GeneratedCodeInfo) GetAnnotation() []*GeneratedCodeInfo_Annotation { 2836 if x != nil { 2837 return x.Annotation 2838 } 2839 return nil 2840} 2841 2842type DescriptorProto_ExtensionRange struct { 2843 state protoimpl.MessageState 2844 sizeCache protoimpl.SizeCache 2845 unknownFields protoimpl.UnknownFields 2846 2847 Start *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"` // Inclusive. 2848 End *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"` // Exclusive. 2849 Options *ExtensionRangeOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"` 2850} 2851 2852func (x *DescriptorProto_ExtensionRange) Reset() { 2853 *x = DescriptorProto_ExtensionRange{} 2854 if protoimpl.UnsafeEnabled { 2855 mi := &file_google_protobuf_descriptor_proto_msgTypes[21] 2856 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2857 ms.StoreMessageInfo(mi) 2858 } 2859} 2860 2861func (x *DescriptorProto_ExtensionRange) String() string { 2862 return protoimpl.X.MessageStringOf(x) 2863} 2864 2865func (*DescriptorProto_ExtensionRange) ProtoMessage() {} 2866 2867func (x *DescriptorProto_ExtensionRange) ProtoReflect() protoreflect.Message { 2868 mi := &file_google_protobuf_descriptor_proto_msgTypes[21] 2869 if protoimpl.UnsafeEnabled && x != nil { 2870 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2871 if ms.LoadMessageInfo() == nil { 2872 ms.StoreMessageInfo(mi) 2873 } 2874 return ms 2875 } 2876 return mi.MessageOf(x) 2877} 2878 2879// Deprecated: Use DescriptorProto_ExtensionRange.ProtoReflect.Descriptor instead. 2880func (*DescriptorProto_ExtensionRange) Descriptor() ([]byte, []int) { 2881 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{2, 0} 2882} 2883 2884func (x *DescriptorProto_ExtensionRange) GetStart() int32 { 2885 if x != nil && x.Start != nil { 2886 return *x.Start 2887 } 2888 return 0 2889} 2890 2891func (x *DescriptorProto_ExtensionRange) GetEnd() int32 { 2892 if x != nil && x.End != nil { 2893 return *x.End 2894 } 2895 return 0 2896} 2897 2898func (x *DescriptorProto_ExtensionRange) GetOptions() *ExtensionRangeOptions { 2899 if x != nil { 2900 return x.Options 2901 } 2902 return nil 2903} 2904 2905// Range of reserved tag numbers. Reserved tag numbers may not be used by 2906// fields or extension ranges in the same message. Reserved ranges may 2907// not overlap. 2908type DescriptorProto_ReservedRange struct { 2909 state protoimpl.MessageState 2910 sizeCache protoimpl.SizeCache 2911 unknownFields protoimpl.UnknownFields 2912 2913 Start *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"` // Inclusive. 2914 End *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"` // Exclusive. 2915} 2916 2917func (x *DescriptorProto_ReservedRange) Reset() { 2918 *x = DescriptorProto_ReservedRange{} 2919 if protoimpl.UnsafeEnabled { 2920 mi := &file_google_protobuf_descriptor_proto_msgTypes[22] 2921 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2922 ms.StoreMessageInfo(mi) 2923 } 2924} 2925 2926func (x *DescriptorProto_ReservedRange) String() string { 2927 return protoimpl.X.MessageStringOf(x) 2928} 2929 2930func (*DescriptorProto_ReservedRange) ProtoMessage() {} 2931 2932func (x *DescriptorProto_ReservedRange) ProtoReflect() protoreflect.Message { 2933 mi := &file_google_protobuf_descriptor_proto_msgTypes[22] 2934 if protoimpl.UnsafeEnabled && x != nil { 2935 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2936 if ms.LoadMessageInfo() == nil { 2937 ms.StoreMessageInfo(mi) 2938 } 2939 return ms 2940 } 2941 return mi.MessageOf(x) 2942} 2943 2944// Deprecated: Use DescriptorProto_ReservedRange.ProtoReflect.Descriptor instead. 2945func (*DescriptorProto_ReservedRange) Descriptor() ([]byte, []int) { 2946 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{2, 1} 2947} 2948 2949func (x *DescriptorProto_ReservedRange) GetStart() int32 { 2950 if x != nil && x.Start != nil { 2951 return *x.Start 2952 } 2953 return 0 2954} 2955 2956func (x *DescriptorProto_ReservedRange) GetEnd() int32 { 2957 if x != nil && x.End != nil { 2958 return *x.End 2959 } 2960 return 0 2961} 2962 2963// Range of reserved numeric values. Reserved values may not be used by 2964// entries in the same enum. Reserved ranges may not overlap. 2965// 2966// Note that this is distinct from DescriptorProto.ReservedRange in that it 2967// is inclusive such that it can appropriately represent the entire int32 2968// domain. 2969type EnumDescriptorProto_EnumReservedRange struct { 2970 state protoimpl.MessageState 2971 sizeCache protoimpl.SizeCache 2972 unknownFields protoimpl.UnknownFields 2973 2974 Start *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"` // Inclusive. 2975 End *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"` // Inclusive. 2976} 2977 2978func (x *EnumDescriptorProto_EnumReservedRange) Reset() { 2979 *x = EnumDescriptorProto_EnumReservedRange{} 2980 if protoimpl.UnsafeEnabled { 2981 mi := &file_google_protobuf_descriptor_proto_msgTypes[23] 2982 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2983 ms.StoreMessageInfo(mi) 2984 } 2985} 2986 2987func (x *EnumDescriptorProto_EnumReservedRange) String() string { 2988 return protoimpl.X.MessageStringOf(x) 2989} 2990 2991func (*EnumDescriptorProto_EnumReservedRange) ProtoMessage() {} 2992 2993func (x *EnumDescriptorProto_EnumReservedRange) ProtoReflect() protoreflect.Message { 2994 mi := &file_google_protobuf_descriptor_proto_msgTypes[23] 2995 if protoimpl.UnsafeEnabled && x != nil { 2996 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2997 if ms.LoadMessageInfo() == nil { 2998 ms.StoreMessageInfo(mi) 2999 } 3000 return ms 3001 } 3002 return mi.MessageOf(x) 3003} 3004 3005// Deprecated: Use EnumDescriptorProto_EnumReservedRange.ProtoReflect.Descriptor instead. 3006func (*EnumDescriptorProto_EnumReservedRange) Descriptor() ([]byte, []int) { 3007 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{6, 0} 3008} 3009 3010func (x *EnumDescriptorProto_EnumReservedRange) GetStart() int32 { 3011 if x != nil && x.Start != nil { 3012 return *x.Start 3013 } 3014 return 0 3015} 3016 3017func (x *EnumDescriptorProto_EnumReservedRange) GetEnd() int32 { 3018 if x != nil && x.End != nil { 3019 return *x.End 3020 } 3021 return 0 3022} 3023 3024// The name of the uninterpreted option. Each string represents a segment in 3025// a dot-separated name. is_extension is true iff a segment represents an 3026// extension (denoted with parentheses in options specs in .proto files). 3027// E.g.,{ ["foo", false], ["bar.baz", true], ["moo", false] } represents 3028// "foo.(bar.baz).moo". 3029type UninterpretedOption_NamePart struct { 3030 state protoimpl.MessageState 3031 sizeCache protoimpl.SizeCache 3032 unknownFields protoimpl.UnknownFields 3033 3034 NamePart *string `protobuf:"bytes,1,req,name=name_part,json=namePart" json:"name_part,omitempty"` 3035 IsExtension *bool `protobuf:"varint,2,req,name=is_extension,json=isExtension" json:"is_extension,omitempty"` 3036} 3037 3038func (x *UninterpretedOption_NamePart) Reset() { 3039 *x = UninterpretedOption_NamePart{} 3040 if protoimpl.UnsafeEnabled { 3041 mi := &file_google_protobuf_descriptor_proto_msgTypes[24] 3042 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3043 ms.StoreMessageInfo(mi) 3044 } 3045} 3046 3047func (x *UninterpretedOption_NamePart) String() string { 3048 return protoimpl.X.MessageStringOf(x) 3049} 3050 3051func (*UninterpretedOption_NamePart) ProtoMessage() {} 3052 3053func (x *UninterpretedOption_NamePart) ProtoReflect() protoreflect.Message { 3054 mi := &file_google_protobuf_descriptor_proto_msgTypes[24] 3055 if protoimpl.UnsafeEnabled && x != nil { 3056 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3057 if ms.LoadMessageInfo() == nil { 3058 ms.StoreMessageInfo(mi) 3059 } 3060 return ms 3061 } 3062 return mi.MessageOf(x) 3063} 3064 3065// Deprecated: Use UninterpretedOption_NamePart.ProtoReflect.Descriptor instead. 3066func (*UninterpretedOption_NamePart) Descriptor() ([]byte, []int) { 3067 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{18, 0} 3068} 3069 3070func (x *UninterpretedOption_NamePart) GetNamePart() string { 3071 if x != nil && x.NamePart != nil { 3072 return *x.NamePart 3073 } 3074 return "" 3075} 3076 3077func (x *UninterpretedOption_NamePart) GetIsExtension() bool { 3078 if x != nil && x.IsExtension != nil { 3079 return *x.IsExtension 3080 } 3081 return false 3082} 3083 3084type SourceCodeInfo_Location struct { 3085 state protoimpl.MessageState 3086 sizeCache protoimpl.SizeCache 3087 unknownFields protoimpl.UnknownFields 3088 3089 // Identifies which part of the FileDescriptorProto was defined at this 3090 // location. 3091 // 3092 // Each element is a field number or an index. They form a path from 3093 // the root FileDescriptorProto to the place where the definition occurs. 3094 // For example, this path: 3095 // 3096 // [ 4, 3, 2, 7, 1 ] 3097 // 3098 // refers to: 3099 // 3100 // file.message_type(3) // 4, 3 3101 // .field(7) // 2, 7 3102 // .name() // 1 3103 // 3104 // This is because FileDescriptorProto.message_type has field number 4: 3105 // 3106 // repeated DescriptorProto message_type = 4; 3107 // 3108 // and DescriptorProto.field has field number 2: 3109 // 3110 // repeated FieldDescriptorProto field = 2; 3111 // 3112 // and FieldDescriptorProto.name has field number 1: 3113 // 3114 // optional string name = 1; 3115 // 3116 // Thus, the above path gives the location of a field name. If we removed 3117 // the last element: 3118 // 3119 // [ 4, 3, 2, 7 ] 3120 // 3121 // this path refers to the whole field declaration (from the beginning 3122 // of the label to the terminating semicolon). 3123 Path []int32 `protobuf:"varint,1,rep,packed,name=path" json:"path,omitempty"` 3124 // Always has exactly three or four elements: start line, start column, 3125 // end line (optional, otherwise assumed same as start line), end column. 3126 // These are packed into a single field for efficiency. Note that line 3127 // and column numbers are zero-based -- typically you will want to add 3128 // 1 to each before displaying to a user. 3129 Span []int32 `protobuf:"varint,2,rep,packed,name=span" json:"span,omitempty"` 3130 // If this SourceCodeInfo represents a complete declaration, these are any 3131 // comments appearing before and after the declaration which appear to be 3132 // attached to the declaration. 3133 // 3134 // A series of line comments appearing on consecutive lines, with no other 3135 // tokens appearing on those lines, will be treated as a single comment. 3136 // 3137 // leading_detached_comments will keep paragraphs of comments that appear 3138 // before (but not connected to) the current element. Each paragraph, 3139 // separated by empty lines, will be one comment element in the repeated 3140 // field. 3141 // 3142 // Only the comment content is provided; comment markers (e.g. //) are 3143 // stripped out. For block comments, leading whitespace and an asterisk 3144 // will be stripped from the beginning of each line other than the first. 3145 // Newlines are included in the output. 3146 // 3147 // Examples: 3148 // 3149 // optional int32 foo = 1; // Comment attached to foo. 3150 // // Comment attached to bar. 3151 // optional int32 bar = 2; 3152 // 3153 // optional string baz = 3; 3154 // // Comment attached to baz. 3155 // // Another line attached to baz. 3156 // 3157 // // Comment attached to moo. 3158 // // 3159 // // Another line attached to moo. 3160 // optional double moo = 4; 3161 // 3162 // // Detached comment for corge. This is not leading or trailing comments 3163 // // to moo or corge because there are blank lines separating it from 3164 // // both. 3165 // 3166 // // Detached comment for corge paragraph 2. 3167 // 3168 // optional string corge = 5; 3169 // /* Block comment attached 3170 // * to corge. Leading asterisks 3171 // * will be removed. */ 3172 // /* Block comment attached to 3173 // * grault. */ 3174 // optional int32 grault = 6; 3175 // 3176 // // ignored detached comments. 3177 LeadingComments *string `protobuf:"bytes,3,opt,name=leading_comments,json=leadingComments" json:"leading_comments,omitempty"` 3178 TrailingComments *string `protobuf:"bytes,4,opt,name=trailing_comments,json=trailingComments" json:"trailing_comments,omitempty"` 3179 LeadingDetachedComments []string `protobuf:"bytes,6,rep,name=leading_detached_comments,json=leadingDetachedComments" json:"leading_detached_comments,omitempty"` 3180} 3181 3182func (x *SourceCodeInfo_Location) Reset() { 3183 *x = SourceCodeInfo_Location{} 3184 if protoimpl.UnsafeEnabled { 3185 mi := &file_google_protobuf_descriptor_proto_msgTypes[25] 3186 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3187 ms.StoreMessageInfo(mi) 3188 } 3189} 3190 3191func (x *SourceCodeInfo_Location) String() string { 3192 return protoimpl.X.MessageStringOf(x) 3193} 3194 3195func (*SourceCodeInfo_Location) ProtoMessage() {} 3196 3197func (x *SourceCodeInfo_Location) ProtoReflect() protoreflect.Message { 3198 mi := &file_google_protobuf_descriptor_proto_msgTypes[25] 3199 if protoimpl.UnsafeEnabled && x != nil { 3200 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3201 if ms.LoadMessageInfo() == nil { 3202 ms.StoreMessageInfo(mi) 3203 } 3204 return ms 3205 } 3206 return mi.MessageOf(x) 3207} 3208 3209// Deprecated: Use SourceCodeInfo_Location.ProtoReflect.Descriptor instead. 3210func (*SourceCodeInfo_Location) Descriptor() ([]byte, []int) { 3211 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{19, 0} 3212} 3213 3214func (x *SourceCodeInfo_Location) GetPath() []int32 { 3215 if x != nil { 3216 return x.Path 3217 } 3218 return nil 3219} 3220 3221func (x *SourceCodeInfo_Location) GetSpan() []int32 { 3222 if x != nil { 3223 return x.Span 3224 } 3225 return nil 3226} 3227 3228func (x *SourceCodeInfo_Location) GetLeadingComments() string { 3229 if x != nil && x.LeadingComments != nil { 3230 return *x.LeadingComments 3231 } 3232 return "" 3233} 3234 3235func (x *SourceCodeInfo_Location) GetTrailingComments() string { 3236 if x != nil && x.TrailingComments != nil { 3237 return *x.TrailingComments 3238 } 3239 return "" 3240} 3241 3242func (x *SourceCodeInfo_Location) GetLeadingDetachedComments() []string { 3243 if x != nil { 3244 return x.LeadingDetachedComments 3245 } 3246 return nil 3247} 3248 3249type GeneratedCodeInfo_Annotation struct { 3250 state protoimpl.MessageState 3251 sizeCache protoimpl.SizeCache 3252 unknownFields protoimpl.UnknownFields 3253 3254 // Identifies the element in the original source .proto file. This field 3255 // is formatted the same as SourceCodeInfo.Location.path. 3256 Path []int32 `protobuf:"varint,1,rep,packed,name=path" json:"path,omitempty"` 3257 // Identifies the filesystem path to the original source .proto. 3258 SourceFile *string `protobuf:"bytes,2,opt,name=source_file,json=sourceFile" json:"source_file,omitempty"` 3259 // Identifies the starting offset in bytes in the generated code 3260 // that relates to the identified object. 3261 Begin *int32 `protobuf:"varint,3,opt,name=begin" json:"begin,omitempty"` 3262 // Identifies the ending offset in bytes in the generated code that 3263 // relates to the identified object. The end offset should be one past 3264 // the last relevant byte (so the length of the text = end - begin). 3265 End *int32 `protobuf:"varint,4,opt,name=end" json:"end,omitempty"` 3266 Semantic *GeneratedCodeInfo_Annotation_Semantic `protobuf:"varint,5,opt,name=semantic,enum=google.protobuf.GeneratedCodeInfo_Annotation_Semantic" json:"semantic,omitempty"` 3267} 3268 3269func (x *GeneratedCodeInfo_Annotation) Reset() { 3270 *x = GeneratedCodeInfo_Annotation{} 3271 if protoimpl.UnsafeEnabled { 3272 mi := &file_google_protobuf_descriptor_proto_msgTypes[26] 3273 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3274 ms.StoreMessageInfo(mi) 3275 } 3276} 3277 3278func (x *GeneratedCodeInfo_Annotation) String() string { 3279 return protoimpl.X.MessageStringOf(x) 3280} 3281 3282func (*GeneratedCodeInfo_Annotation) ProtoMessage() {} 3283 3284func (x *GeneratedCodeInfo_Annotation) ProtoReflect() protoreflect.Message { 3285 mi := &file_google_protobuf_descriptor_proto_msgTypes[26] 3286 if protoimpl.UnsafeEnabled && x != nil { 3287 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3288 if ms.LoadMessageInfo() == nil { 3289 ms.StoreMessageInfo(mi) 3290 } 3291 return ms 3292 } 3293 return mi.MessageOf(x) 3294} 3295 3296// Deprecated: Use GeneratedCodeInfo_Annotation.ProtoReflect.Descriptor instead. 3297func (*GeneratedCodeInfo_Annotation) Descriptor() ([]byte, []int) { 3298 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{20, 0} 3299} 3300 3301func (x *GeneratedCodeInfo_Annotation) GetPath() []int32 { 3302 if x != nil { 3303 return x.Path 3304 } 3305 return nil 3306} 3307 3308func (x *GeneratedCodeInfo_Annotation) GetSourceFile() string { 3309 if x != nil && x.SourceFile != nil { 3310 return *x.SourceFile 3311 } 3312 return "" 3313} 3314 3315func (x *GeneratedCodeInfo_Annotation) GetBegin() int32 { 3316 if x != nil && x.Begin != nil { 3317 return *x.Begin 3318 } 3319 return 0 3320} 3321 3322func (x *GeneratedCodeInfo_Annotation) GetEnd() int32 { 3323 if x != nil && x.End != nil { 3324 return *x.End 3325 } 3326 return 0 3327} 3328 3329func (x *GeneratedCodeInfo_Annotation) GetSemantic() GeneratedCodeInfo_Annotation_Semantic { 3330 if x != nil && x.Semantic != nil { 3331 return *x.Semantic 3332 } 3333 return GeneratedCodeInfo_Annotation_NONE 3334} 3335 3336var File_google_protobuf_descriptor_proto protoreflect.FileDescriptor 3337 3338var file_google_protobuf_descriptor_proto_rawDesc = []byte{ 3339 0x0a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 3340 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 3341 0x74, 0x6f, 0x12, 0x0f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 3342 0x62, 0x75, 0x66, 0x22, 0x4d, 0x0a, 0x11, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 3343 0x69, 0x70, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x12, 0x38, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 3344 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3345 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x65, 0x73, 3346 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x04, 0x66, 0x69, 3347 0x6c, 0x65, 0x22, 0xfe, 0x04, 0x0a, 0x13, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 3348 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 3349 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 3350 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 3351 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x65, 3352 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 3353 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x75, 0x62, 0x6c, 3354 0x69, 0x63, 0x5f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0a, 0x20, 3355 0x03, 0x28, 0x05, 0x52, 0x10, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x70, 0x65, 0x6e, 3356 0x64, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x77, 0x65, 0x61, 0x6b, 0x5f, 0x64, 0x65, 3357 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0e, 3358 0x77, 0x65, 0x61, 0x6b, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x43, 3359 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 3360 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 3361 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 3362 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 3363 0x79, 0x70, 0x65, 0x12, 0x41, 0x0a, 0x09, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 3364 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3365 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x44, 0x65, 0x73, 3366 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x08, 0x65, 0x6e, 3367 0x75, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x41, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 3368 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3369 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 3370 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 3371 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x43, 0x0a, 0x09, 0x65, 0x78, 0x74, 3372 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 3373 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 3374 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 3375 0x6f, 0x74, 0x6f, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x36, 3376 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 3377 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 3378 0x66, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 3379 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x49, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 3380 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 3381 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 3382 0x75, 0x66, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 3383 0x6f, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 3384 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x18, 0x0c, 0x20, 0x01, 0x28, 3385 0x09, 0x52, 0x06, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x64, 0x69, 3386 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x64, 0x69, 0x74, 3387 0x69, 0x6f, 0x6e, 0x22, 0xb9, 0x06, 0x0a, 0x0f, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 3388 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 3389 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x05, 0x66, 3390 0x69, 0x65, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 3391 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 3392 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 3393 0x6f, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x43, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 3394 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 3395 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 3396 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 3397 0x74, 0x6f, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 3398 0x0b, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x03, 3399 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 3400 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 3401 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0a, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 3402 0x12, 0x41, 0x0a, 0x09, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 3403 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 3404 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 3405 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x08, 0x65, 0x6e, 0x75, 0x6d, 0x54, 3406 0x79, 0x70, 0x65, 0x12, 0x58, 0x0a, 0x0f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 3407 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 3408 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 3409 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 3410 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0e, 0x65, 3411 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x44, 0x0a, 3412 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x64, 0x65, 0x63, 0x6c, 0x18, 0x08, 0x20, 0x03, 0x28, 3413 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 3414 0x62, 0x75, 0x66, 0x2e, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 3415 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x09, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x44, 3416 0x65, 0x63, 0x6c, 0x12, 0x39, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 3417 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 3418 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 3419 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x55, 3420 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 3421 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3422 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 3423 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 3424 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 3425 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 3426 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 3427 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x7a, 0x0a, 0x0e, 0x45, 0x78, 3428 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 3429 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 3430 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 3431 0x03, 0x65, 0x6e, 0x64, 0x12, 0x40, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 3432 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 3433 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 3434 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 3435 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x37, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 3436 0x65, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 3437 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 3438 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 3439 0x7c, 0x0a, 0x15, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 3440 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 3441 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 3442 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3443 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 3444 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 3445 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 3446 0x6f, 0x6e, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x22, 0xc1, 0x06, 3447 0x0a, 0x14, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 3448 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 3449 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 3450 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 3451 0x65, 0x72, 0x12, 0x41, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 3452 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 3453 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 3454 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x05, 3455 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x3e, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 3456 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 3457 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 3458 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 3459 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 3460 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, 3461 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x65, 0x18, 0x02, 3462 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x65, 0x12, 0x23, 3463 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 3464 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 3465 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x69, 0x6e, 0x64, 3466 0x65, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x49, 3467 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 3468 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a, 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 3469 0x65, 0x12, 0x37, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 3470 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 3471 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 3472 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x72, 3473 0x6f, 0x74, 0x6f, 0x33, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x11, 0x20, 3474 0x01, 0x28, 0x08, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x4f, 0x70, 0x74, 0x69, 0x6f, 3475 0x6e, 0x61, 0x6c, 0x22, 0xb6, 0x02, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 3476 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x0e, 0x0a, 3477 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x10, 0x02, 0x12, 0x0e, 0x0a, 3478 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x03, 0x12, 0x0f, 0x0a, 3479 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x04, 0x12, 0x0e, 3480 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x33, 0x32, 0x10, 0x05, 0x12, 0x10, 3481 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x49, 0x58, 0x45, 0x44, 0x36, 0x34, 0x10, 0x06, 3482 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x49, 0x58, 0x45, 0x44, 0x33, 0x32, 3483 0x10, 0x07, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x4f, 0x4f, 0x4c, 0x10, 3484 0x08, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 3485 0x10, 0x09, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 3486 0x10, 0x0a, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 3487 0x47, 0x45, 0x10, 0x0b, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x59, 0x54, 3488 0x45, 0x53, 0x10, 0x0c, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x49, 0x4e, 3489 0x54, 0x33, 0x32, 0x10, 0x0d, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4e, 3490 0x55, 0x4d, 0x10, 0x0e, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x46, 0x49, 3491 0x58, 0x45, 0x44, 0x33, 0x32, 0x10, 0x0f, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x59, 0x50, 0x45, 0x5f, 3492 0x53, 0x46, 0x49, 0x58, 0x45, 0x44, 0x36, 0x34, 0x10, 0x10, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 3493 0x50, 0x45, 0x5f, 0x53, 0x49, 0x4e, 0x54, 0x33, 0x32, 0x10, 0x11, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 3494 0x59, 0x50, 0x45, 0x5f, 0x53, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x12, 0x22, 0x43, 0x0a, 0x05, 3495 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x4f, 3496 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x41, 0x42, 3497 0x45, 0x4c, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x44, 0x10, 0x02, 0x12, 0x12, 0x0a, 3498 0x0e, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x52, 0x45, 0x50, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 3499 0x03, 0x22, 0x63, 0x0a, 0x14, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 3500 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 3501 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 3502 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 3503 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 3504 0x2e, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 3505 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xe3, 0x02, 0x0a, 0x13, 0x45, 0x6e, 0x75, 0x6d, 0x44, 3506 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 3507 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 3508 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 3509 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 3510 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x44, 0x65, 0x73, 3511 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x05, 0x76, 0x61, 3512 0x6c, 0x75, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 3513 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 3514 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 3515 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5d, 0x0a, 0x0e, 0x72, 3516 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 3517 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 3518 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 3519 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x65, 3520 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x73, 3521 0x65, 0x72, 0x76, 0x65, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 3522 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 3523 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 3524 0x3b, 0x0a, 0x11, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x52, 3525 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 3526 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 3527 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0x83, 0x01, 0x0a, 3528 0x18, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 3529 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 3530 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 3531 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6e, 3532 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x3b, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 3533 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3534 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 3535 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 3536 0x6e, 0x73, 0x22, 0xa7, 0x01, 0x0a, 0x16, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x65, 3537 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 3538 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 3539 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 3540 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 3541 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 3542 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 3543 0x64, 0x12, 0x39, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 3544 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 3545 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 3546 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x89, 0x02, 0x0a, 3547 0x15, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 3548 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 3549 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 3550 0x70, 0x75, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 3551 0x69, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 3552 0x70, 0x75, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 3553 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x38, 0x0a, 0x07, 0x6f, 0x70, 3554 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 3555 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 3556 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 3557 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x10, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 3558 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 3559 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x72, 3560 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x30, 0x0a, 0x10, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 3561 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 3562 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 3563 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x22, 0x91, 0x09, 0x0a, 0x0b, 0x46, 0x69, 0x6c, 3564 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6a, 0x61, 0x76, 0x61, 3565 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 3566 0x6a, 0x61, 0x76, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x6a, 3567 0x61, 0x76, 0x61, 0x5f, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x6e, 3568 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6a, 0x61, 0x76, 0x61, 0x4f, 3569 0x75, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 3570 0x13, 0x6a, 0x61, 0x76, 0x61, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x66, 3571 0x69, 0x6c, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 3572 0x65, 0x52, 0x11, 0x6a, 0x61, 0x76, 0x61, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x46, 3573 0x69, 0x6c, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x1d, 0x6a, 0x61, 0x76, 0x61, 0x5f, 0x67, 0x65, 0x6e, 3574 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x73, 0x5f, 0x61, 0x6e, 0x64, 3575 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 3576 0x19, 0x6a, 0x61, 0x76, 0x61, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x45, 0x71, 0x75, 3577 0x61, 0x6c, 0x73, 0x41, 0x6e, 0x64, 0x48, 0x61, 0x73, 0x68, 0x12, 0x3a, 0x0a, 0x16, 0x6a, 0x61, 3578 0x76, 0x61, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 3579 0x75, 0x74, 0x66, 0x38, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 3580 0x65, 0x52, 0x13, 0x6a, 0x61, 0x76, 0x61, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x65, 3581 0x63, 0x6b, 0x55, 0x74, 0x66, 0x38, 0x12, 0x53, 0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 3582 0x7a, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 3583 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 3584 0x69, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6d, 3585 0x69, 0x7a, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x3a, 0x05, 0x53, 0x50, 0x45, 0x45, 0x44, 0x52, 0x0b, 3586 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x46, 0x6f, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 3587 0x6f, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 3588 0x09, 0x67, 0x6f, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x35, 0x0a, 0x13, 0x63, 0x63, 3589 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 3590 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x11, 3591 0x63, 0x63, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 3592 0x73, 0x12, 0x39, 0x0a, 0x15, 0x6a, 0x61, 0x76, 0x61, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 3593 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 3594 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x13, 0x6a, 0x61, 0x76, 0x61, 0x47, 0x65, 0x6e, 3595 0x65, 0x72, 0x69, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x13, 3596 0x70, 0x79, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 3597 0x63, 0x65, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 3598 0x52, 0x11, 0x70, 0x79, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 3599 0x63, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x14, 0x70, 0x68, 0x70, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 3600 0x69, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x2a, 0x20, 0x01, 0x28, 3601 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x12, 0x70, 0x68, 0x70, 0x47, 0x65, 0x6e, 3602 0x65, 0x72, 0x69, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0a, 3603 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 3604 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 3605 0x74, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x10, 0x63, 0x63, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 3606 0x5f, 0x61, 0x72, 0x65, 0x6e, 0x61, 0x73, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x04, 0x74, 3607 0x72, 0x75, 0x65, 0x52, 0x0e, 0x63, 0x63, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x72, 0x65, 3608 0x6e, 0x61, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x6f, 0x62, 0x6a, 0x63, 0x5f, 0x63, 0x6c, 0x61, 0x73, 3609 0x73, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x24, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 3610 0x6f, 0x62, 0x6a, 0x63, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 3611 0x29, 0x0a, 0x10, 0x63, 0x73, 0x68, 0x61, 0x72, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 3612 0x61, 0x63, 0x65, 0x18, 0x25, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x73, 0x68, 0x61, 0x72, 3613 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x77, 3614 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x27, 0x20, 0x01, 0x28, 0x09, 3615 0x52, 0x0b, 0x73, 0x77, 0x69, 0x66, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x28, 0x0a, 3616 0x10, 0x70, 0x68, 0x70, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 3617 0x78, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x68, 0x70, 0x43, 0x6c, 0x61, 0x73, 3618 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x68, 0x70, 0x5f, 0x6e, 3619 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x29, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 3620 0x70, 0x68, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x16, 3621 0x70, 0x68, 0x70, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 3622 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x70, 0x68, 3623 0x70, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 3624 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x75, 0x62, 0x79, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 3625 0x67, 0x65, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x75, 0x62, 0x79, 0x50, 0x61, 3626 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 3627 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 3628 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 3629 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 3630 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 3631 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 3632 0x3a, 0x0a, 0x0c, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 3633 0x09, 0x0a, 0x05, 0x53, 0x50, 0x45, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 3634 0x44, 0x45, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x4c, 0x49, 0x54, 3635 0x45, 0x5f, 0x52, 0x55, 0x4e, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x03, 0x2a, 0x09, 0x08, 0xe8, 0x07, 3636 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x4a, 0x04, 0x08, 0x26, 0x10, 0x27, 0x22, 0xbb, 0x03, 0x0a, 3637 0x0e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 3638 0x3c, 0x0a, 0x17, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x77, 3639 0x69, 0x72, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 3640 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x14, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 3641 0x53, 0x65, 0x74, 0x57, 0x69, 0x72, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x4c, 0x0a, 3642 0x1f, 0x6e, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x5f, 0x64, 0x65, 0x73, 3643 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 3644 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x1c, 0x6e, 3645 0x6f, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 3646 0x74, 0x6f, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x0a, 0x64, 3647 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x3a, 3648 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 3649 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x70, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 3650 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 3651 0x56, 0x0a, 0x26, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x65, 3652 0x67, 0x61, 0x63, 0x79, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 3653 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x42, 3654 0x02, 0x18, 0x01, 0x52, 0x22, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x4c, 3655 0x65, 0x67, 0x61, 0x63, 0x79, 0x4a, 0x73, 0x6f, 0x6e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x43, 0x6f, 3656 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x73, 0x12, 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 0x74, 3657 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 3658 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3659 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 3660 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x6e, 3661 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 3662 0x6e, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x4a, 0x04, 0x08, 0x04, 3663 0x10, 0x05, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x4a, 0x04, 3664 0x08, 0x08, 0x10, 0x09, 0x4a, 0x04, 0x08, 0x09, 0x10, 0x0a, 0x22, 0xb7, 0x08, 0x0a, 0x0c, 0x46, 3665 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x05, 0x63, 3666 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 3667 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 3668 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x54, 0x79, 0x70, 0x65, 0x3a, 3669 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x52, 0x05, 0x63, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 3670 0x0a, 0x06, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 3671 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x47, 0x0a, 0x06, 0x6a, 0x73, 0x74, 0x79, 0x70, 0x65, 3672 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3673 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 3674 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4a, 0x53, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x09, 0x4a, 0x53, 3675 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x52, 0x06, 0x6a, 0x73, 0x74, 0x79, 0x70, 0x65, 0x12, 3676 0x19, 0x0a, 0x04, 0x6c, 0x61, 0x7a, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 3677 0x61, 0x6c, 0x73, 0x65, 0x52, 0x04, 0x6c, 0x61, 0x7a, 0x79, 0x12, 0x2e, 0x0a, 0x0f, 0x75, 0x6e, 3678 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x7a, 0x79, 0x18, 0x0f, 0x20, 3679 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0e, 0x75, 0x6e, 0x76, 0x65, 3680 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4c, 0x61, 0x7a, 0x79, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 3681 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 3682 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 3683 0x64, 0x12, 0x19, 0x0a, 0x04, 0x77, 0x65, 0x61, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x3a, 3684 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x04, 0x77, 0x65, 0x61, 0x6b, 0x12, 0x28, 0x0a, 0x0c, 3685 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x72, 0x65, 0x64, 0x61, 0x63, 0x74, 0x18, 0x10, 0x20, 0x01, 3686 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0b, 0x64, 0x65, 0x62, 0x75, 0x67, 3687 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x12, 0x4b, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 3688 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3689 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 3690 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 3691 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 3692 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x12, 0x20, 3693 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 3694 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 3695 0x6e, 0x73, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 3696 0x79, 0x70, 0x65, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x58, 0x0a, 0x14, 0x75, 3697 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, 3698 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 3699 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x69, 3700 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 3701 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 3702 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2f, 0x0a, 0x05, 0x43, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 3703 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x43, 0x4f, 3704 0x52, 0x44, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x50, 3705 0x49, 0x45, 0x43, 0x45, 0x10, 0x02, 0x22, 0x35, 0x0a, 0x06, 0x4a, 0x53, 0x54, 0x79, 0x70, 0x65, 3706 0x12, 0x0d, 0x0a, 0x09, 0x4a, 0x53, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x10, 0x00, 0x12, 3707 0x0d, 0x0a, 0x09, 0x4a, 0x53, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0d, 3708 0x0a, 0x09, 0x4a, 0x53, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x02, 0x22, 0x55, 0x0a, 3709 0x0f, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 3710 0x12, 0x15, 0x0a, 0x11, 0x52, 0x45, 0x54, 0x45, 0x4e, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 3711 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x45, 0x54, 0x45, 0x4e, 3712 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x55, 0x4e, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x01, 0x12, 0x14, 3713 0x0a, 0x10, 0x52, 0x45, 0x54, 0x45, 0x4e, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x4f, 0x55, 0x52, 3714 0x43, 0x45, 0x10, 0x02, 0x22, 0x8c, 0x02, 0x0a, 0x10, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 3715 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x41, 0x52, 3716 0x47, 0x45, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 3717 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x54, 0x59, 0x50, 3718 0x45, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x54, 0x41, 0x52, 0x47, 3719 0x45, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x58, 0x54, 0x45, 0x4e, 0x53, 0x49, 0x4f, 3720 0x4e, 0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x41, 0x52, 3721 0x47, 0x45, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 3722 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x54, 0x59, 0x50, 3723 0x45, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x41, 0x52, 3724 0x47, 0x45, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x4e, 0x45, 0x4f, 0x46, 0x10, 0x05, 3725 0x12, 0x14, 0x0a, 0x10, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 3726 0x45, 0x4e, 0x55, 0x4d, 0x10, 0x06, 0x12, 0x1a, 0x0a, 0x16, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 3727 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 3728 0x10, 0x07, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x54, 0x59, 0x50, 3729 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x10, 0x08, 0x12, 0x16, 0x0a, 0x12, 0x54, 3730 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 3731 0x44, 0x10, 0x09, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x4a, 0x04, 3732 0x08, 0x04, 0x10, 0x05, 0x22, 0x73, 0x0a, 0x0c, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x4f, 0x70, 0x74, 3733 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 3734 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 3735 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 3736 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 3737 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74, 3738 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x09, 3739 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x22, 0x98, 0x02, 0x0a, 0x0b, 0x45, 0x6e, 3740 0x75, 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x6c, 0x6c, 3741 0x6f, 0x77, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 3742 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 3743 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 3744 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 3745 0x64, 0x12, 0x56, 0x0a, 0x26, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 3746 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x65, 0x6c, 3747 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 3748 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x22, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 3749 0x64, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x4a, 0x73, 0x6f, 0x6e, 0x46, 0x69, 0x65, 0x6c, 0x64, 3750 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x73, 0x12, 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 3751 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 3752 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3753 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 3754 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 3755 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 3756 0x69, 0x6f, 0x6e, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x4a, 0x04, 3757 0x08, 0x05, 0x10, 0x06, 0x22, 0x9e, 0x01, 0x0a, 0x10, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 3758 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 0x70, 3759 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 3760 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 3761 0x12, 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 3762 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 3763 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 3764 0x66, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 3765 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 3766 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 3767 0x80, 0x80, 0x80, 0x80, 0x02, 0x22, 0x9c, 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 3768 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 3769 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x21, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 3770 0x6c, 0x73, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 3771 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 3772 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 3773 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 3774 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 3775 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 3776 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 3777 0x80, 0x80, 0x80, 0x02, 0x22, 0xe0, 0x02, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f, 3778 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 3779 0x61, 0x74, 0x65, 0x64, 0x18, 0x21, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 3780 0x65, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x71, 0x0a, 3781 0x11, 0x69, 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6c, 0x65, 0x76, 3782 0x65, 0x6c, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3783 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 3784 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x49, 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, 3785 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x3a, 0x13, 0x49, 0x44, 0x45, 0x4d, 0x50, 3786 0x4f, 0x54, 0x45, 0x4e, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x52, 0x10, 3787 0x69, 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 3788 0x12, 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 3789 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 3790 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 3791 0x66, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 3792 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 3793 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x50, 0x0a, 0x10, 0x49, 0x64, 3794 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x17, 3795 0x0a, 0x13, 0x49, 0x44, 0x45, 0x4d, 0x50, 0x4f, 0x54, 0x45, 0x4e, 0x43, 0x59, 0x5f, 0x55, 0x4e, 3796 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4e, 0x4f, 0x5f, 0x53, 0x49, 3797 0x44, 0x45, 0x5f, 0x45, 0x46, 0x46, 0x45, 0x43, 0x54, 0x53, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 3798 0x49, 0x44, 0x45, 0x4d, 0x50, 0x4f, 0x54, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x2a, 0x09, 0x08, 0xe8, 3799 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x22, 0x9a, 0x03, 0x0a, 0x13, 0x55, 0x6e, 0x69, 0x6e, 3800 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 3801 0x41, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 3802 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 3803 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 3804 0x69, 0x6f, 0x6e, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x74, 0x52, 0x04, 0x6e, 0x61, 3805 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 3806 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x64, 3807 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2c, 0x0a, 3808 0x12, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 3809 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x70, 0x6f, 0x73, 0x69, 0x74, 3810 0x69, 0x76, 0x65, 0x49, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 3811 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 3812 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 3813 0x65, 0x49, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x6f, 0x75, 3814 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 3815 0x0b, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0c, 3816 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 3817 0x28, 0x0c, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 3818 0x27, 0x0a, 0x0f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, 3819 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 3820 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x4a, 0x0a, 0x08, 0x4e, 0x61, 0x6d, 0x65, 3821 0x50, 0x61, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x72, 3822 0x74, 0x18, 0x01, 0x20, 0x02, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x61, 0x6d, 0x65, 0x50, 0x61, 0x72, 3823 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 3824 0x6e, 0x18, 0x02, 0x20, 0x02, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x45, 0x78, 0x74, 0x65, 0x6e, 3825 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xa7, 0x02, 0x0a, 0x0e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 3826 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x44, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 3827 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3828 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x6f, 0x75, 0x72, 3829 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 3830 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xce, 0x01, 3831 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x04, 0x70, 0x61, 3832 0x74, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x42, 0x02, 0x10, 0x01, 0x52, 0x04, 0x70, 0x61, 3833 0x74, 0x68, 0x12, 0x16, 0x0a, 0x04, 0x73, 0x70, 0x61, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 3834 0x42, 0x02, 0x10, 0x01, 0x52, 0x04, 0x73, 0x70, 0x61, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x6c, 0x65, 3835 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 3836 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 3837 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x69, 0x6e, 3838 0x67, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 3839 0x52, 0x10, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 3840 0x74, 0x73, 0x12, 0x3a, 0x0a, 0x19, 0x6c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 3841 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 3842 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x17, 0x6c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 3843 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xd0, 3844 0x02, 0x0a, 0x11, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 3845 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4d, 0x0a, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 3846 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3847 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 3848 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x6e, 0x6e, 3849 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 3850 0x69, 0x6f, 0x6e, 0x1a, 0xeb, 0x01, 0x0a, 0x0a, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 3851 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 3852 0x42, 0x02, 0x10, 0x01, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 3853 0x75, 0x72, 0x63, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 3854 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 3855 0x65, 0x67, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x62, 0x65, 0x67, 0x69, 3856 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 3857 0x65, 0x6e, 0x64, 0x12, 0x52, 0x0a, 0x08, 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x18, 3858 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 3859 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 3860 0x64, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 3861 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x52, 0x08, 0x73, 3862 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x22, 0x28, 0x0a, 0x08, 0x53, 0x65, 0x6d, 0x61, 0x6e, 3863 0x74, 0x69, 0x63, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x07, 0x0a, 3864 0x03, 0x53, 0x45, 0x54, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x4c, 0x49, 0x41, 0x53, 0x10, 3865 0x02, 0x42, 0x7e, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3866 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x42, 0x10, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 3867 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x48, 0x01, 0x5a, 0x2d, 0x67, 0x6f, 3868 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 3869 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x64, 3870 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x70, 0x62, 0xf8, 0x01, 0x01, 0xa2, 0x02, 3871 0x03, 0x47, 0x50, 0x42, 0xaa, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x50, 0x72, 3872 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x52, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 3873 0x6e, 3874} 3875 3876var ( 3877 file_google_protobuf_descriptor_proto_rawDescOnce sync.Once 3878 file_google_protobuf_descriptor_proto_rawDescData = file_google_protobuf_descriptor_proto_rawDesc 3879) 3880 3881func file_google_protobuf_descriptor_proto_rawDescGZIP() []byte { 3882 file_google_protobuf_descriptor_proto_rawDescOnce.Do(func() { 3883 file_google_protobuf_descriptor_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_protobuf_descriptor_proto_rawDescData) 3884 }) 3885 return file_google_protobuf_descriptor_proto_rawDescData 3886} 3887 3888var file_google_protobuf_descriptor_proto_enumTypes = make([]protoimpl.EnumInfo, 9) 3889var file_google_protobuf_descriptor_proto_msgTypes = make([]protoimpl.MessageInfo, 27) 3890var file_google_protobuf_descriptor_proto_goTypes = []interface{}{ 3891 (FieldDescriptorProto_Type)(0), // 0: google.protobuf.FieldDescriptorProto.Type 3892 (FieldDescriptorProto_Label)(0), // 1: google.protobuf.FieldDescriptorProto.Label 3893 (FileOptions_OptimizeMode)(0), // 2: google.protobuf.FileOptions.OptimizeMode 3894 (FieldOptions_CType)(0), // 3: google.protobuf.FieldOptions.CType 3895 (FieldOptions_JSType)(0), // 4: google.protobuf.FieldOptions.JSType 3896 (FieldOptions_OptionRetention)(0), // 5: google.protobuf.FieldOptions.OptionRetention 3897 (FieldOptions_OptionTargetType)(0), // 6: google.protobuf.FieldOptions.OptionTargetType 3898 (MethodOptions_IdempotencyLevel)(0), // 7: google.protobuf.MethodOptions.IdempotencyLevel 3899 (GeneratedCodeInfo_Annotation_Semantic)(0), // 8: google.protobuf.GeneratedCodeInfo.Annotation.Semantic 3900 (*FileDescriptorSet)(nil), // 9: google.protobuf.FileDescriptorSet 3901 (*FileDescriptorProto)(nil), // 10: google.protobuf.FileDescriptorProto 3902 (*DescriptorProto)(nil), // 11: google.protobuf.DescriptorProto 3903 (*ExtensionRangeOptions)(nil), // 12: google.protobuf.ExtensionRangeOptions 3904 (*FieldDescriptorProto)(nil), // 13: google.protobuf.FieldDescriptorProto 3905 (*OneofDescriptorProto)(nil), // 14: google.protobuf.OneofDescriptorProto 3906 (*EnumDescriptorProto)(nil), // 15: google.protobuf.EnumDescriptorProto 3907 (*EnumValueDescriptorProto)(nil), // 16: google.protobuf.EnumValueDescriptorProto 3908 (*ServiceDescriptorProto)(nil), // 17: google.protobuf.ServiceDescriptorProto 3909 (*MethodDescriptorProto)(nil), // 18: google.protobuf.MethodDescriptorProto 3910 (*FileOptions)(nil), // 19: google.protobuf.FileOptions 3911 (*MessageOptions)(nil), // 20: google.protobuf.MessageOptions 3912 (*FieldOptions)(nil), // 21: google.protobuf.FieldOptions 3913 (*OneofOptions)(nil), // 22: google.protobuf.OneofOptions 3914 (*EnumOptions)(nil), // 23: google.protobuf.EnumOptions 3915 (*EnumValueOptions)(nil), // 24: google.protobuf.EnumValueOptions 3916 (*ServiceOptions)(nil), // 25: google.protobuf.ServiceOptions 3917 (*MethodOptions)(nil), // 26: google.protobuf.MethodOptions 3918 (*UninterpretedOption)(nil), // 27: google.protobuf.UninterpretedOption 3919 (*SourceCodeInfo)(nil), // 28: google.protobuf.SourceCodeInfo 3920 (*GeneratedCodeInfo)(nil), // 29: google.protobuf.GeneratedCodeInfo 3921 (*DescriptorProto_ExtensionRange)(nil), // 30: google.protobuf.DescriptorProto.ExtensionRange 3922 (*DescriptorProto_ReservedRange)(nil), // 31: google.protobuf.DescriptorProto.ReservedRange 3923 (*EnumDescriptorProto_EnumReservedRange)(nil), // 32: google.protobuf.EnumDescriptorProto.EnumReservedRange 3924 (*UninterpretedOption_NamePart)(nil), // 33: google.protobuf.UninterpretedOption.NamePart 3925 (*SourceCodeInfo_Location)(nil), // 34: google.protobuf.SourceCodeInfo.Location 3926 (*GeneratedCodeInfo_Annotation)(nil), // 35: google.protobuf.GeneratedCodeInfo.Annotation 3927} 3928var file_google_protobuf_descriptor_proto_depIdxs = []int32{ 3929 10, // 0: google.protobuf.FileDescriptorSet.file:type_name -> google.protobuf.FileDescriptorProto 3930 11, // 1: google.protobuf.FileDescriptorProto.message_type:type_name -> google.protobuf.DescriptorProto 3931 15, // 2: google.protobuf.FileDescriptorProto.enum_type:type_name -> google.protobuf.EnumDescriptorProto 3932 17, // 3: google.protobuf.FileDescriptorProto.service:type_name -> google.protobuf.ServiceDescriptorProto 3933 13, // 4: google.protobuf.FileDescriptorProto.extension:type_name -> google.protobuf.FieldDescriptorProto 3934 19, // 5: google.protobuf.FileDescriptorProto.options:type_name -> google.protobuf.FileOptions 3935 28, // 6: google.protobuf.FileDescriptorProto.source_code_info:type_name -> google.protobuf.SourceCodeInfo 3936 13, // 7: google.protobuf.DescriptorProto.field:type_name -> google.protobuf.FieldDescriptorProto 3937 13, // 8: google.protobuf.DescriptorProto.extension:type_name -> google.protobuf.FieldDescriptorProto 3938 11, // 9: google.protobuf.DescriptorProto.nested_type:type_name -> google.protobuf.DescriptorProto 3939 15, // 10: google.protobuf.DescriptorProto.enum_type:type_name -> google.protobuf.EnumDescriptorProto 3940 30, // 11: google.protobuf.DescriptorProto.extension_range:type_name -> google.protobuf.DescriptorProto.ExtensionRange 3941 14, // 12: google.protobuf.DescriptorProto.oneof_decl:type_name -> google.protobuf.OneofDescriptorProto 3942 20, // 13: google.protobuf.DescriptorProto.options:type_name -> google.protobuf.MessageOptions 3943 31, // 14: google.protobuf.DescriptorProto.reserved_range:type_name -> google.protobuf.DescriptorProto.ReservedRange 3944 27, // 15: google.protobuf.ExtensionRangeOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption 3945 1, // 16: google.protobuf.FieldDescriptorProto.label:type_name -> google.protobuf.FieldDescriptorProto.Label 3946 0, // 17: google.protobuf.FieldDescriptorProto.type:type_name -> google.protobuf.FieldDescriptorProto.Type 3947 21, // 18: google.protobuf.FieldDescriptorProto.options:type_name -> google.protobuf.FieldOptions 3948 22, // 19: google.protobuf.OneofDescriptorProto.options:type_name -> google.protobuf.OneofOptions 3949 16, // 20: google.protobuf.EnumDescriptorProto.value:type_name -> google.protobuf.EnumValueDescriptorProto 3950 23, // 21: google.protobuf.EnumDescriptorProto.options:type_name -> google.protobuf.EnumOptions 3951 32, // 22: google.protobuf.EnumDescriptorProto.reserved_range:type_name -> google.protobuf.EnumDescriptorProto.EnumReservedRange 3952 24, // 23: google.protobuf.EnumValueDescriptorProto.options:type_name -> google.protobuf.EnumValueOptions 3953 18, // 24: google.protobuf.ServiceDescriptorProto.method:type_name -> google.protobuf.MethodDescriptorProto 3954 25, // 25: google.protobuf.ServiceDescriptorProto.options:type_name -> google.protobuf.ServiceOptions 3955 26, // 26: google.protobuf.MethodDescriptorProto.options:type_name -> google.protobuf.MethodOptions 3956 2, // 27: google.protobuf.FileOptions.optimize_for:type_name -> google.protobuf.FileOptions.OptimizeMode 3957 27, // 28: google.protobuf.FileOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption 3958 27, // 29: google.protobuf.MessageOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption 3959 3, // 30: google.protobuf.FieldOptions.ctype:type_name -> google.protobuf.FieldOptions.CType 3960 4, // 31: google.protobuf.FieldOptions.jstype:type_name -> google.protobuf.FieldOptions.JSType 3961 5, // 32: google.protobuf.FieldOptions.retention:type_name -> google.protobuf.FieldOptions.OptionRetention 3962 6, // 33: google.protobuf.FieldOptions.target:type_name -> google.protobuf.FieldOptions.OptionTargetType 3963 27, // 34: google.protobuf.FieldOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption 3964 27, // 35: google.protobuf.OneofOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption 3965 27, // 36: google.protobuf.EnumOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption 3966 27, // 37: google.protobuf.EnumValueOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption 3967 27, // 38: google.protobuf.ServiceOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption 3968 7, // 39: google.protobuf.MethodOptions.idempotency_level:type_name -> google.protobuf.MethodOptions.IdempotencyLevel 3969 27, // 40: google.protobuf.MethodOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption 3970 33, // 41: google.protobuf.UninterpretedOption.name:type_name -> google.protobuf.UninterpretedOption.NamePart 3971 34, // 42: google.protobuf.SourceCodeInfo.location:type_name -> google.protobuf.SourceCodeInfo.Location 3972 35, // 43: google.protobuf.GeneratedCodeInfo.annotation:type_name -> google.protobuf.GeneratedCodeInfo.Annotation 3973 12, // 44: google.protobuf.DescriptorProto.ExtensionRange.options:type_name -> google.protobuf.ExtensionRangeOptions 3974 8, // 45: google.protobuf.GeneratedCodeInfo.Annotation.semantic:type_name -> google.protobuf.GeneratedCodeInfo.Annotation.Semantic 3975 46, // [46:46] is the sub-list for method output_type 3976 46, // [46:46] is the sub-list for method input_type 3977 46, // [46:46] is the sub-list for extension type_name 3978 46, // [46:46] is the sub-list for extension extendee 3979 0, // [0:46] is the sub-list for field type_name 3980} 3981 3982func init() { file_google_protobuf_descriptor_proto_init() } 3983func file_google_protobuf_descriptor_proto_init() { 3984 if File_google_protobuf_descriptor_proto != nil { 3985 return 3986 } 3987 if !protoimpl.UnsafeEnabled { 3988 file_google_protobuf_descriptor_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 3989 switch v := v.(*FileDescriptorSet); i { 3990 case 0: 3991 return &v.state 3992 case 1: 3993 return &v.sizeCache 3994 case 2: 3995 return &v.unknownFields 3996 default: 3997 return nil 3998 } 3999 } 4000 file_google_protobuf_descriptor_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 4001 switch v := v.(*FileDescriptorProto); i { 4002 case 0: 4003 return &v.state 4004 case 1: 4005 return &v.sizeCache 4006 case 2: 4007 return &v.unknownFields 4008 default: 4009 return nil 4010 } 4011 } 4012 file_google_protobuf_descriptor_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 4013 switch v := v.(*DescriptorProto); i { 4014 case 0: 4015 return &v.state 4016 case 1: 4017 return &v.sizeCache 4018 case 2: 4019 return &v.unknownFields 4020 default: 4021 return nil 4022 } 4023 } 4024 file_google_protobuf_descriptor_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 4025 switch v := v.(*ExtensionRangeOptions); i { 4026 case 0: 4027 return &v.state 4028 case 1: 4029 return &v.sizeCache 4030 case 2: 4031 return &v.unknownFields 4032 case 3: 4033 return &v.extensionFields 4034 default: 4035 return nil 4036 } 4037 } 4038 file_google_protobuf_descriptor_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 4039 switch v := v.(*FieldDescriptorProto); i { 4040 case 0: 4041 return &v.state 4042 case 1: 4043 return &v.sizeCache 4044 case 2: 4045 return &v.unknownFields 4046 default: 4047 return nil 4048 } 4049 } 4050 file_google_protobuf_descriptor_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 4051 switch v := v.(*OneofDescriptorProto); i { 4052 case 0: 4053 return &v.state 4054 case 1: 4055 return &v.sizeCache 4056 case 2: 4057 return &v.unknownFields 4058 default: 4059 return nil 4060 } 4061 } 4062 file_google_protobuf_descriptor_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 4063 switch v := v.(*EnumDescriptorProto); i { 4064 case 0: 4065 return &v.state 4066 case 1: 4067 return &v.sizeCache 4068 case 2: 4069 return &v.unknownFields 4070 default: 4071 return nil 4072 } 4073 } 4074 file_google_protobuf_descriptor_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 4075 switch v := v.(*EnumValueDescriptorProto); i { 4076 case 0: 4077 return &v.state 4078 case 1: 4079 return &v.sizeCache 4080 case 2: 4081 return &v.unknownFields 4082 default: 4083 return nil 4084 } 4085 } 4086 file_google_protobuf_descriptor_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 4087 switch v := v.(*ServiceDescriptorProto); i { 4088 case 0: 4089 return &v.state 4090 case 1: 4091 return &v.sizeCache 4092 case 2: 4093 return &v.unknownFields 4094 default: 4095 return nil 4096 } 4097 } 4098 file_google_protobuf_descriptor_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 4099 switch v := v.(*MethodDescriptorProto); i { 4100 case 0: 4101 return &v.state 4102 case 1: 4103 return &v.sizeCache 4104 case 2: 4105 return &v.unknownFields 4106 default: 4107 return nil 4108 } 4109 } 4110 file_google_protobuf_descriptor_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 4111 switch v := v.(*FileOptions); i { 4112 case 0: 4113 return &v.state 4114 case 1: 4115 return &v.sizeCache 4116 case 2: 4117 return &v.unknownFields 4118 case 3: 4119 return &v.extensionFields 4120 default: 4121 return nil 4122 } 4123 } 4124 file_google_protobuf_descriptor_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 4125 switch v := v.(*MessageOptions); i { 4126 case 0: 4127 return &v.state 4128 case 1: 4129 return &v.sizeCache 4130 case 2: 4131 return &v.unknownFields 4132 case 3: 4133 return &v.extensionFields 4134 default: 4135 return nil 4136 } 4137 } 4138 file_google_protobuf_descriptor_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 4139 switch v := v.(*FieldOptions); i { 4140 case 0: 4141 return &v.state 4142 case 1: 4143 return &v.sizeCache 4144 case 2: 4145 return &v.unknownFields 4146 case 3: 4147 return &v.extensionFields 4148 default: 4149 return nil 4150 } 4151 } 4152 file_google_protobuf_descriptor_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 4153 switch v := v.(*OneofOptions); i { 4154 case 0: 4155 return &v.state 4156 case 1: 4157 return &v.sizeCache 4158 case 2: 4159 return &v.unknownFields 4160 case 3: 4161 return &v.extensionFields 4162 default: 4163 return nil 4164 } 4165 } 4166 file_google_protobuf_descriptor_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 4167 switch v := v.(*EnumOptions); i { 4168 case 0: 4169 return &v.state 4170 case 1: 4171 return &v.sizeCache 4172 case 2: 4173 return &v.unknownFields 4174 case 3: 4175 return &v.extensionFields 4176 default: 4177 return nil 4178 } 4179 } 4180 file_google_protobuf_descriptor_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 4181 switch v := v.(*EnumValueOptions); i { 4182 case 0: 4183 return &v.state 4184 case 1: 4185 return &v.sizeCache 4186 case 2: 4187 return &v.unknownFields 4188 case 3: 4189 return &v.extensionFields 4190 default: 4191 return nil 4192 } 4193 } 4194 file_google_protobuf_descriptor_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { 4195 switch v := v.(*ServiceOptions); i { 4196 case 0: 4197 return &v.state 4198 case 1: 4199 return &v.sizeCache 4200 case 2: 4201 return &v.unknownFields 4202 case 3: 4203 return &v.extensionFields 4204 default: 4205 return nil 4206 } 4207 } 4208 file_google_protobuf_descriptor_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { 4209 switch v := v.(*MethodOptions); i { 4210 case 0: 4211 return &v.state 4212 case 1: 4213 return &v.sizeCache 4214 case 2: 4215 return &v.unknownFields 4216 case 3: 4217 return &v.extensionFields 4218 default: 4219 return nil 4220 } 4221 } 4222 file_google_protobuf_descriptor_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { 4223 switch v := v.(*UninterpretedOption); i { 4224 case 0: 4225 return &v.state 4226 case 1: 4227 return &v.sizeCache 4228 case 2: 4229 return &v.unknownFields 4230 default: 4231 return nil 4232 } 4233 } 4234 file_google_protobuf_descriptor_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { 4235 switch v := v.(*SourceCodeInfo); i { 4236 case 0: 4237 return &v.state 4238 case 1: 4239 return &v.sizeCache 4240 case 2: 4241 return &v.unknownFields 4242 default: 4243 return nil 4244 } 4245 } 4246 file_google_protobuf_descriptor_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { 4247 switch v := v.(*GeneratedCodeInfo); i { 4248 case 0: 4249 return &v.state 4250 case 1: 4251 return &v.sizeCache 4252 case 2: 4253 return &v.unknownFields 4254 default: 4255 return nil 4256 } 4257 } 4258 file_google_protobuf_descriptor_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { 4259 switch v := v.(*DescriptorProto_ExtensionRange); i { 4260 case 0: 4261 return &v.state 4262 case 1: 4263 return &v.sizeCache 4264 case 2: 4265 return &v.unknownFields 4266 default: 4267 return nil 4268 } 4269 } 4270 file_google_protobuf_descriptor_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { 4271 switch v := v.(*DescriptorProto_ReservedRange); i { 4272 case 0: 4273 return &v.state 4274 case 1: 4275 return &v.sizeCache 4276 case 2: 4277 return &v.unknownFields 4278 default: 4279 return nil 4280 } 4281 } 4282 file_google_protobuf_descriptor_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { 4283 switch v := v.(*EnumDescriptorProto_EnumReservedRange); i { 4284 case 0: 4285 return &v.state 4286 case 1: 4287 return &v.sizeCache 4288 case 2: 4289 return &v.unknownFields 4290 default: 4291 return nil 4292 } 4293 } 4294 file_google_protobuf_descriptor_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { 4295 switch v := v.(*UninterpretedOption_NamePart); i { 4296 case 0: 4297 return &v.state 4298 case 1: 4299 return &v.sizeCache 4300 case 2: 4301 return &v.unknownFields 4302 default: 4303 return nil 4304 } 4305 } 4306 file_google_protobuf_descriptor_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { 4307 switch v := v.(*SourceCodeInfo_Location); i { 4308 case 0: 4309 return &v.state 4310 case 1: 4311 return &v.sizeCache 4312 case 2: 4313 return &v.unknownFields 4314 default: 4315 return nil 4316 } 4317 } 4318 file_google_protobuf_descriptor_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { 4319 switch v := v.(*GeneratedCodeInfo_Annotation); i { 4320 case 0: 4321 return &v.state 4322 case 1: 4323 return &v.sizeCache 4324 case 2: 4325 return &v.unknownFields 4326 default: 4327 return nil 4328 } 4329 } 4330 } 4331 type x struct{} 4332 out := protoimpl.TypeBuilder{ 4333 File: protoimpl.DescBuilder{ 4334 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 4335 RawDescriptor: file_google_protobuf_descriptor_proto_rawDesc, 4336 NumEnums: 9, 4337 NumMessages: 27, 4338 NumExtensions: 0, 4339 NumServices: 0, 4340 }, 4341 GoTypes: file_google_protobuf_descriptor_proto_goTypes, 4342 DependencyIndexes: file_google_protobuf_descriptor_proto_depIdxs, 4343 EnumInfos: file_google_protobuf_descriptor_proto_enumTypes, 4344 MessageInfos: file_google_protobuf_descriptor_proto_msgTypes, 4345 }.Build() 4346 File_google_protobuf_descriptor_proto = out.File 4347 file_google_protobuf_descriptor_proto_rawDesc = nil 4348 file_google_protobuf_descriptor_proto_goTypes = nil 4349 file_google_protobuf_descriptor_proto_depIdxs = nil 4350} 4351