1// Code generated by protoc-gen-gogo. 2// source: descriptor.proto 3// DO NOT EDIT! 4 5/* 6Package descriptor is a generated protocol buffer package. 7 8It is generated from these files: 9 descriptor.proto 10 11It has these top-level messages: 12 FileDescriptorSet 13 FileDescriptorProto 14 DescriptorProto 15 FieldDescriptorProto 16 OneofDescriptorProto 17 EnumDescriptorProto 18 EnumValueDescriptorProto 19 ServiceDescriptorProto 20 MethodDescriptorProto 21 FileOptions 22 MessageOptions 23 FieldOptions 24 OneofOptions 25 EnumOptions 26 EnumValueOptions 27 ServiceOptions 28 MethodOptions 29 UninterpretedOption 30 SourceCodeInfo 31 GeneratedCodeInfo 32*/ 33package descriptor 34 35import proto "github.com/gogo/protobuf/proto" 36import fmt "fmt" 37import math "math" 38 39// Reference imports to suppress errors if they are not otherwise used. 40var _ = proto.Marshal 41var _ = fmt.Errorf 42var _ = math.Inf 43 44// This is a compile-time assertion to ensure that this generated file 45// is compatible with the proto package it is being compiled against. 46// A compilation error at this line likely means your copy of the 47// proto package needs to be updated. 48const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package 49 50type FieldDescriptorProto_Type int32 51 52const ( 53 // 0 is reserved for errors. 54 // Order is weird for historical reasons. 55 FieldDescriptorProto_TYPE_DOUBLE FieldDescriptorProto_Type = 1 56 FieldDescriptorProto_TYPE_FLOAT FieldDescriptorProto_Type = 2 57 // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if 58 // negative values are likely. 59 FieldDescriptorProto_TYPE_INT64 FieldDescriptorProto_Type = 3 60 FieldDescriptorProto_TYPE_UINT64 FieldDescriptorProto_Type = 4 61 // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if 62 // negative values are likely. 63 FieldDescriptorProto_TYPE_INT32 FieldDescriptorProto_Type = 5 64 FieldDescriptorProto_TYPE_FIXED64 FieldDescriptorProto_Type = 6 65 FieldDescriptorProto_TYPE_FIXED32 FieldDescriptorProto_Type = 7 66 FieldDescriptorProto_TYPE_BOOL FieldDescriptorProto_Type = 8 67 FieldDescriptorProto_TYPE_STRING FieldDescriptorProto_Type = 9 68 FieldDescriptorProto_TYPE_GROUP FieldDescriptorProto_Type = 10 69 FieldDescriptorProto_TYPE_MESSAGE FieldDescriptorProto_Type = 11 70 // New in version 2. 71 FieldDescriptorProto_TYPE_BYTES FieldDescriptorProto_Type = 12 72 FieldDescriptorProto_TYPE_UINT32 FieldDescriptorProto_Type = 13 73 FieldDescriptorProto_TYPE_ENUM FieldDescriptorProto_Type = 14 74 FieldDescriptorProto_TYPE_SFIXED32 FieldDescriptorProto_Type = 15 75 FieldDescriptorProto_TYPE_SFIXED64 FieldDescriptorProto_Type = 16 76 FieldDescriptorProto_TYPE_SINT32 FieldDescriptorProto_Type = 17 77 FieldDescriptorProto_TYPE_SINT64 FieldDescriptorProto_Type = 18 78) 79 80var FieldDescriptorProto_Type_name = map[int32]string{ 81 1: "TYPE_DOUBLE", 82 2: "TYPE_FLOAT", 83 3: "TYPE_INT64", 84 4: "TYPE_UINT64", 85 5: "TYPE_INT32", 86 6: "TYPE_FIXED64", 87 7: "TYPE_FIXED32", 88 8: "TYPE_BOOL", 89 9: "TYPE_STRING", 90 10: "TYPE_GROUP", 91 11: "TYPE_MESSAGE", 92 12: "TYPE_BYTES", 93 13: "TYPE_UINT32", 94 14: "TYPE_ENUM", 95 15: "TYPE_SFIXED32", 96 16: "TYPE_SFIXED64", 97 17: "TYPE_SINT32", 98 18: "TYPE_SINT64", 99} 100var FieldDescriptorProto_Type_value = map[string]int32{ 101 "TYPE_DOUBLE": 1, 102 "TYPE_FLOAT": 2, 103 "TYPE_INT64": 3, 104 "TYPE_UINT64": 4, 105 "TYPE_INT32": 5, 106 "TYPE_FIXED64": 6, 107 "TYPE_FIXED32": 7, 108 "TYPE_BOOL": 8, 109 "TYPE_STRING": 9, 110 "TYPE_GROUP": 10, 111 "TYPE_MESSAGE": 11, 112 "TYPE_BYTES": 12, 113 "TYPE_UINT32": 13, 114 "TYPE_ENUM": 14, 115 "TYPE_SFIXED32": 15, 116 "TYPE_SFIXED64": 16, 117 "TYPE_SINT32": 17, 118 "TYPE_SINT64": 18, 119} 120 121func (x FieldDescriptorProto_Type) Enum() *FieldDescriptorProto_Type { 122 p := new(FieldDescriptorProto_Type) 123 *p = x 124 return p 125} 126func (x FieldDescriptorProto_Type) String() string { 127 return proto.EnumName(FieldDescriptorProto_Type_name, int32(x)) 128} 129func (x *FieldDescriptorProto_Type) UnmarshalJSON(data []byte) error { 130 value, err := proto.UnmarshalJSONEnum(FieldDescriptorProto_Type_value, data, "FieldDescriptorProto_Type") 131 if err != nil { 132 return err 133 } 134 *x = FieldDescriptorProto_Type(value) 135 return nil 136} 137func (FieldDescriptorProto_Type) EnumDescriptor() ([]byte, []int) { 138 return fileDescriptorDescriptor, []int{3, 0} 139} 140 141type FieldDescriptorProto_Label int32 142 143const ( 144 // 0 is reserved for errors 145 FieldDescriptorProto_LABEL_OPTIONAL FieldDescriptorProto_Label = 1 146 FieldDescriptorProto_LABEL_REQUIRED FieldDescriptorProto_Label = 2 147 FieldDescriptorProto_LABEL_REPEATED FieldDescriptorProto_Label = 3 148) 149 150var FieldDescriptorProto_Label_name = map[int32]string{ 151 1: "LABEL_OPTIONAL", 152 2: "LABEL_REQUIRED", 153 3: "LABEL_REPEATED", 154} 155var FieldDescriptorProto_Label_value = map[string]int32{ 156 "LABEL_OPTIONAL": 1, 157 "LABEL_REQUIRED": 2, 158 "LABEL_REPEATED": 3, 159} 160 161func (x FieldDescriptorProto_Label) Enum() *FieldDescriptorProto_Label { 162 p := new(FieldDescriptorProto_Label) 163 *p = x 164 return p 165} 166func (x FieldDescriptorProto_Label) String() string { 167 return proto.EnumName(FieldDescriptorProto_Label_name, int32(x)) 168} 169func (x *FieldDescriptorProto_Label) UnmarshalJSON(data []byte) error { 170 value, err := proto.UnmarshalJSONEnum(FieldDescriptorProto_Label_value, data, "FieldDescriptorProto_Label") 171 if err != nil { 172 return err 173 } 174 *x = FieldDescriptorProto_Label(value) 175 return nil 176} 177func (FieldDescriptorProto_Label) EnumDescriptor() ([]byte, []int) { 178 return fileDescriptorDescriptor, []int{3, 1} 179} 180 181// Generated classes can be optimized for speed or code size. 182type FileOptions_OptimizeMode int32 183 184const ( 185 FileOptions_SPEED FileOptions_OptimizeMode = 1 186 // etc. 187 FileOptions_CODE_SIZE FileOptions_OptimizeMode = 2 188 FileOptions_LITE_RUNTIME FileOptions_OptimizeMode = 3 189) 190 191var FileOptions_OptimizeMode_name = map[int32]string{ 192 1: "SPEED", 193 2: "CODE_SIZE", 194 3: "LITE_RUNTIME", 195} 196var FileOptions_OptimizeMode_value = map[string]int32{ 197 "SPEED": 1, 198 "CODE_SIZE": 2, 199 "LITE_RUNTIME": 3, 200} 201 202func (x FileOptions_OptimizeMode) Enum() *FileOptions_OptimizeMode { 203 p := new(FileOptions_OptimizeMode) 204 *p = x 205 return p 206} 207func (x FileOptions_OptimizeMode) String() string { 208 return proto.EnumName(FileOptions_OptimizeMode_name, int32(x)) 209} 210func (x *FileOptions_OptimizeMode) UnmarshalJSON(data []byte) error { 211 value, err := proto.UnmarshalJSONEnum(FileOptions_OptimizeMode_value, data, "FileOptions_OptimizeMode") 212 if err != nil { 213 return err 214 } 215 *x = FileOptions_OptimizeMode(value) 216 return nil 217} 218func (FileOptions_OptimizeMode) EnumDescriptor() ([]byte, []int) { 219 return fileDescriptorDescriptor, []int{9, 0} 220} 221 222type FieldOptions_CType int32 223 224const ( 225 // Default mode. 226 FieldOptions_STRING FieldOptions_CType = 0 227 FieldOptions_CORD FieldOptions_CType = 1 228 FieldOptions_STRING_PIECE FieldOptions_CType = 2 229) 230 231var FieldOptions_CType_name = map[int32]string{ 232 0: "STRING", 233 1: "CORD", 234 2: "STRING_PIECE", 235} 236var FieldOptions_CType_value = map[string]int32{ 237 "STRING": 0, 238 "CORD": 1, 239 "STRING_PIECE": 2, 240} 241 242func (x FieldOptions_CType) Enum() *FieldOptions_CType { 243 p := new(FieldOptions_CType) 244 *p = x 245 return p 246} 247func (x FieldOptions_CType) String() string { 248 return proto.EnumName(FieldOptions_CType_name, int32(x)) 249} 250func (x *FieldOptions_CType) UnmarshalJSON(data []byte) error { 251 value, err := proto.UnmarshalJSONEnum(FieldOptions_CType_value, data, "FieldOptions_CType") 252 if err != nil { 253 return err 254 } 255 *x = FieldOptions_CType(value) 256 return nil 257} 258func (FieldOptions_CType) EnumDescriptor() ([]byte, []int) { 259 return fileDescriptorDescriptor, []int{11, 0} 260} 261 262type FieldOptions_JSType int32 263 264const ( 265 // Use the default type. 266 FieldOptions_JS_NORMAL FieldOptions_JSType = 0 267 // Use JavaScript strings. 268 FieldOptions_JS_STRING FieldOptions_JSType = 1 269 // Use JavaScript numbers. 270 FieldOptions_JS_NUMBER FieldOptions_JSType = 2 271) 272 273var FieldOptions_JSType_name = map[int32]string{ 274 0: "JS_NORMAL", 275 1: "JS_STRING", 276 2: "JS_NUMBER", 277} 278var FieldOptions_JSType_value = map[string]int32{ 279 "JS_NORMAL": 0, 280 "JS_STRING": 1, 281 "JS_NUMBER": 2, 282} 283 284func (x FieldOptions_JSType) Enum() *FieldOptions_JSType { 285 p := new(FieldOptions_JSType) 286 *p = x 287 return p 288} 289func (x FieldOptions_JSType) String() string { 290 return proto.EnumName(FieldOptions_JSType_name, int32(x)) 291} 292func (x *FieldOptions_JSType) UnmarshalJSON(data []byte) error { 293 value, err := proto.UnmarshalJSONEnum(FieldOptions_JSType_value, data, "FieldOptions_JSType") 294 if err != nil { 295 return err 296 } 297 *x = FieldOptions_JSType(value) 298 return nil 299} 300func (FieldOptions_JSType) EnumDescriptor() ([]byte, []int) { 301 return fileDescriptorDescriptor, []int{11, 1} 302} 303 304// The protocol compiler can output a FileDescriptorSet containing the .proto 305// files it parses. 306type FileDescriptorSet struct { 307 File []*FileDescriptorProto `protobuf:"bytes,1,rep,name=file" json:"file,omitempty"` 308 XXX_unrecognized []byte `json:"-"` 309} 310 311func (m *FileDescriptorSet) Reset() { *m = FileDescriptorSet{} } 312func (m *FileDescriptorSet) String() string { return proto.CompactTextString(m) } 313func (*FileDescriptorSet) ProtoMessage() {} 314func (*FileDescriptorSet) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{0} } 315 316func (m *FileDescriptorSet) GetFile() []*FileDescriptorProto { 317 if m != nil { 318 return m.File 319 } 320 return nil 321} 322 323// Describes a complete .proto file. 324type FileDescriptorProto struct { 325 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` 326 Package *string `protobuf:"bytes,2,opt,name=package" json:"package,omitempty"` 327 // Names of files imported by this file. 328 Dependency []string `protobuf:"bytes,3,rep,name=dependency" json:"dependency,omitempty"` 329 // Indexes of the public imported files in the dependency list above. 330 PublicDependency []int32 `protobuf:"varint,10,rep,name=public_dependency,json=publicDependency" json:"public_dependency,omitempty"` 331 // Indexes of the weak imported files in the dependency list. 332 // For Google-internal migration only. Do not use. 333 WeakDependency []int32 `protobuf:"varint,11,rep,name=weak_dependency,json=weakDependency" json:"weak_dependency,omitempty"` 334 // All top-level definitions in this file. 335 MessageType []*DescriptorProto `protobuf:"bytes,4,rep,name=message_type,json=messageType" json:"message_type,omitempty"` 336 EnumType []*EnumDescriptorProto `protobuf:"bytes,5,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"` 337 Service []*ServiceDescriptorProto `protobuf:"bytes,6,rep,name=service" json:"service,omitempty"` 338 Extension []*FieldDescriptorProto `protobuf:"bytes,7,rep,name=extension" json:"extension,omitempty"` 339 Options *FileOptions `protobuf:"bytes,8,opt,name=options" json:"options,omitempty"` 340 // This field contains optional information about the original source code. 341 // You may safely remove this entire field without harming runtime 342 // functionality of the descriptors -- the information is needed only by 343 // development tools. 344 SourceCodeInfo *SourceCodeInfo `protobuf:"bytes,9,opt,name=source_code_info,json=sourceCodeInfo" json:"source_code_info,omitempty"` 345 // The syntax of the proto file. 346 // The supported values are "proto2" and "proto3". 347 Syntax *string `protobuf:"bytes,12,opt,name=syntax" json:"syntax,omitempty"` 348 XXX_unrecognized []byte `json:"-"` 349} 350 351func (m *FileDescriptorProto) Reset() { *m = FileDescriptorProto{} } 352func (m *FileDescriptorProto) String() string { return proto.CompactTextString(m) } 353func (*FileDescriptorProto) ProtoMessage() {} 354func (*FileDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{1} } 355 356func (m *FileDescriptorProto) GetName() string { 357 if m != nil && m.Name != nil { 358 return *m.Name 359 } 360 return "" 361} 362 363func (m *FileDescriptorProto) GetPackage() string { 364 if m != nil && m.Package != nil { 365 return *m.Package 366 } 367 return "" 368} 369 370func (m *FileDescriptorProto) GetDependency() []string { 371 if m != nil { 372 return m.Dependency 373 } 374 return nil 375} 376 377func (m *FileDescriptorProto) GetPublicDependency() []int32 { 378 if m != nil { 379 return m.PublicDependency 380 } 381 return nil 382} 383 384func (m *FileDescriptorProto) GetWeakDependency() []int32 { 385 if m != nil { 386 return m.WeakDependency 387 } 388 return nil 389} 390 391func (m *FileDescriptorProto) GetMessageType() []*DescriptorProto { 392 if m != nil { 393 return m.MessageType 394 } 395 return nil 396} 397 398func (m *FileDescriptorProto) GetEnumType() []*EnumDescriptorProto { 399 if m != nil { 400 return m.EnumType 401 } 402 return nil 403} 404 405func (m *FileDescriptorProto) GetService() []*ServiceDescriptorProto { 406 if m != nil { 407 return m.Service 408 } 409 return nil 410} 411 412func (m *FileDescriptorProto) GetExtension() []*FieldDescriptorProto { 413 if m != nil { 414 return m.Extension 415 } 416 return nil 417} 418 419func (m *FileDescriptorProto) GetOptions() *FileOptions { 420 if m != nil { 421 return m.Options 422 } 423 return nil 424} 425 426func (m *FileDescriptorProto) GetSourceCodeInfo() *SourceCodeInfo { 427 if m != nil { 428 return m.SourceCodeInfo 429 } 430 return nil 431} 432 433func (m *FileDescriptorProto) GetSyntax() string { 434 if m != nil && m.Syntax != nil { 435 return *m.Syntax 436 } 437 return "" 438} 439 440// Describes a message type. 441type DescriptorProto struct { 442 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` 443 Field []*FieldDescriptorProto `protobuf:"bytes,2,rep,name=field" json:"field,omitempty"` 444 Extension []*FieldDescriptorProto `protobuf:"bytes,6,rep,name=extension" json:"extension,omitempty"` 445 NestedType []*DescriptorProto `protobuf:"bytes,3,rep,name=nested_type,json=nestedType" json:"nested_type,omitempty"` 446 EnumType []*EnumDescriptorProto `protobuf:"bytes,4,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"` 447 ExtensionRange []*DescriptorProto_ExtensionRange `protobuf:"bytes,5,rep,name=extension_range,json=extensionRange" json:"extension_range,omitempty"` 448 OneofDecl []*OneofDescriptorProto `protobuf:"bytes,8,rep,name=oneof_decl,json=oneofDecl" json:"oneof_decl,omitempty"` 449 Options *MessageOptions `protobuf:"bytes,7,opt,name=options" json:"options,omitempty"` 450 ReservedRange []*DescriptorProto_ReservedRange `protobuf:"bytes,9,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"` 451 // Reserved field names, which may not be used by fields in the same message. 452 // A given name may only be reserved once. 453 ReservedName []string `protobuf:"bytes,10,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"` 454 XXX_unrecognized []byte `json:"-"` 455} 456 457func (m *DescriptorProto) Reset() { *m = DescriptorProto{} } 458func (m *DescriptorProto) String() string { return proto.CompactTextString(m) } 459func (*DescriptorProto) ProtoMessage() {} 460func (*DescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{2} } 461 462func (m *DescriptorProto) GetName() string { 463 if m != nil && m.Name != nil { 464 return *m.Name 465 } 466 return "" 467} 468 469func (m *DescriptorProto) GetField() []*FieldDescriptorProto { 470 if m != nil { 471 return m.Field 472 } 473 return nil 474} 475 476func (m *DescriptorProto) GetExtension() []*FieldDescriptorProto { 477 if m != nil { 478 return m.Extension 479 } 480 return nil 481} 482 483func (m *DescriptorProto) GetNestedType() []*DescriptorProto { 484 if m != nil { 485 return m.NestedType 486 } 487 return nil 488} 489 490func (m *DescriptorProto) GetEnumType() []*EnumDescriptorProto { 491 if m != nil { 492 return m.EnumType 493 } 494 return nil 495} 496 497func (m *DescriptorProto) GetExtensionRange() []*DescriptorProto_ExtensionRange { 498 if m != nil { 499 return m.ExtensionRange 500 } 501 return nil 502} 503 504func (m *DescriptorProto) GetOneofDecl() []*OneofDescriptorProto { 505 if m != nil { 506 return m.OneofDecl 507 } 508 return nil 509} 510 511func (m *DescriptorProto) GetOptions() *MessageOptions { 512 if m != nil { 513 return m.Options 514 } 515 return nil 516} 517 518func (m *DescriptorProto) GetReservedRange() []*DescriptorProto_ReservedRange { 519 if m != nil { 520 return m.ReservedRange 521 } 522 return nil 523} 524 525func (m *DescriptorProto) GetReservedName() []string { 526 if m != nil { 527 return m.ReservedName 528 } 529 return nil 530} 531 532type DescriptorProto_ExtensionRange struct { 533 Start *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"` 534 End *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"` 535 XXX_unrecognized []byte `json:"-"` 536} 537 538func (m *DescriptorProto_ExtensionRange) Reset() { *m = DescriptorProto_ExtensionRange{} } 539func (m *DescriptorProto_ExtensionRange) String() string { return proto.CompactTextString(m) } 540func (*DescriptorProto_ExtensionRange) ProtoMessage() {} 541func (*DescriptorProto_ExtensionRange) Descriptor() ([]byte, []int) { 542 return fileDescriptorDescriptor, []int{2, 0} 543} 544 545func (m *DescriptorProto_ExtensionRange) GetStart() int32 { 546 if m != nil && m.Start != nil { 547 return *m.Start 548 } 549 return 0 550} 551 552func (m *DescriptorProto_ExtensionRange) GetEnd() int32 { 553 if m != nil && m.End != nil { 554 return *m.End 555 } 556 return 0 557} 558 559// Range of reserved tag numbers. Reserved tag numbers may not be used by 560// fields or extension ranges in the same message. Reserved ranges may 561// not overlap. 562type DescriptorProto_ReservedRange struct { 563 Start *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"` 564 End *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"` 565 XXX_unrecognized []byte `json:"-"` 566} 567 568func (m *DescriptorProto_ReservedRange) Reset() { *m = DescriptorProto_ReservedRange{} } 569func (m *DescriptorProto_ReservedRange) String() string { return proto.CompactTextString(m) } 570func (*DescriptorProto_ReservedRange) ProtoMessage() {} 571func (*DescriptorProto_ReservedRange) Descriptor() ([]byte, []int) { 572 return fileDescriptorDescriptor, []int{2, 1} 573} 574 575func (m *DescriptorProto_ReservedRange) GetStart() int32 { 576 if m != nil && m.Start != nil { 577 return *m.Start 578 } 579 return 0 580} 581 582func (m *DescriptorProto_ReservedRange) GetEnd() int32 { 583 if m != nil && m.End != nil { 584 return *m.End 585 } 586 return 0 587} 588 589// Describes a field within a message. 590type FieldDescriptorProto struct { 591 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` 592 Number *int32 `protobuf:"varint,3,opt,name=number" json:"number,omitempty"` 593 Label *FieldDescriptorProto_Label `protobuf:"varint,4,opt,name=label,enum=google.protobuf.FieldDescriptorProto_Label" json:"label,omitempty"` 594 // If type_name is set, this need not be set. If both this and type_name 595 // are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP. 596 Type *FieldDescriptorProto_Type `protobuf:"varint,5,opt,name=type,enum=google.protobuf.FieldDescriptorProto_Type" json:"type,omitempty"` 597 // For message and enum types, this is the name of the type. If the name 598 // starts with a '.', it is fully-qualified. Otherwise, C++-like scoping 599 // rules are used to find the type (i.e. first the nested types within this 600 // message are searched, then within the parent, on up to the root 601 // namespace). 602 TypeName *string `protobuf:"bytes,6,opt,name=type_name,json=typeName" json:"type_name,omitempty"` 603 // For extensions, this is the name of the type being extended. It is 604 // resolved in the same manner as type_name. 605 Extendee *string `protobuf:"bytes,2,opt,name=extendee" json:"extendee,omitempty"` 606 // For numeric types, contains the original text representation of the value. 607 // For booleans, "true" or "false". 608 // For strings, contains the default text contents (not escaped in any way). 609 // For bytes, contains the C escaped value. All bytes >= 128 are escaped. 610 // TODO(kenton): Base-64 encode? 611 DefaultValue *string `protobuf:"bytes,7,opt,name=default_value,json=defaultValue" json:"default_value,omitempty"` 612 // If set, gives the index of a oneof in the containing type's oneof_decl 613 // list. This field is a member of that oneof. 614 OneofIndex *int32 `protobuf:"varint,9,opt,name=oneof_index,json=oneofIndex" json:"oneof_index,omitempty"` 615 // JSON name of this field. The value is set by protocol compiler. If the 616 // user has set a "json_name" option on this field, that option's value 617 // will be used. Otherwise, it's deduced from the field's name by converting 618 // it to camelCase. 619 JsonName *string `protobuf:"bytes,10,opt,name=json_name,json=jsonName" json:"json_name,omitempty"` 620 Options *FieldOptions `protobuf:"bytes,8,opt,name=options" json:"options,omitempty"` 621 XXX_unrecognized []byte `json:"-"` 622} 623 624func (m *FieldDescriptorProto) Reset() { *m = FieldDescriptorProto{} } 625func (m *FieldDescriptorProto) String() string { return proto.CompactTextString(m) } 626func (*FieldDescriptorProto) ProtoMessage() {} 627func (*FieldDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{3} } 628 629func (m *FieldDescriptorProto) GetName() string { 630 if m != nil && m.Name != nil { 631 return *m.Name 632 } 633 return "" 634} 635 636func (m *FieldDescriptorProto) GetNumber() int32 { 637 if m != nil && m.Number != nil { 638 return *m.Number 639 } 640 return 0 641} 642 643func (m *FieldDescriptorProto) GetLabel() FieldDescriptorProto_Label { 644 if m != nil && m.Label != nil { 645 return *m.Label 646 } 647 return FieldDescriptorProto_LABEL_OPTIONAL 648} 649 650func (m *FieldDescriptorProto) GetType() FieldDescriptorProto_Type { 651 if m != nil && m.Type != nil { 652 return *m.Type 653 } 654 return FieldDescriptorProto_TYPE_DOUBLE 655} 656 657func (m *FieldDescriptorProto) GetTypeName() string { 658 if m != nil && m.TypeName != nil { 659 return *m.TypeName 660 } 661 return "" 662} 663 664func (m *FieldDescriptorProto) GetExtendee() string { 665 if m != nil && m.Extendee != nil { 666 return *m.Extendee 667 } 668 return "" 669} 670 671func (m *FieldDescriptorProto) GetDefaultValue() string { 672 if m != nil && m.DefaultValue != nil { 673 return *m.DefaultValue 674 } 675 return "" 676} 677 678func (m *FieldDescriptorProto) GetOneofIndex() int32 { 679 if m != nil && m.OneofIndex != nil { 680 return *m.OneofIndex 681 } 682 return 0 683} 684 685func (m *FieldDescriptorProto) GetJsonName() string { 686 if m != nil && m.JsonName != nil { 687 return *m.JsonName 688 } 689 return "" 690} 691 692func (m *FieldDescriptorProto) GetOptions() *FieldOptions { 693 if m != nil { 694 return m.Options 695 } 696 return nil 697} 698 699// Describes a oneof. 700type OneofDescriptorProto struct { 701 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` 702 Options *OneofOptions `protobuf:"bytes,2,opt,name=options" json:"options,omitempty"` 703 XXX_unrecognized []byte `json:"-"` 704} 705 706func (m *OneofDescriptorProto) Reset() { *m = OneofDescriptorProto{} } 707func (m *OneofDescriptorProto) String() string { return proto.CompactTextString(m) } 708func (*OneofDescriptorProto) ProtoMessage() {} 709func (*OneofDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{4} } 710 711func (m *OneofDescriptorProto) GetName() string { 712 if m != nil && m.Name != nil { 713 return *m.Name 714 } 715 return "" 716} 717 718func (m *OneofDescriptorProto) GetOptions() *OneofOptions { 719 if m != nil { 720 return m.Options 721 } 722 return nil 723} 724 725// Describes an enum type. 726type EnumDescriptorProto struct { 727 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` 728 Value []*EnumValueDescriptorProto `protobuf:"bytes,2,rep,name=value" json:"value,omitempty"` 729 Options *EnumOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"` 730 XXX_unrecognized []byte `json:"-"` 731} 732 733func (m *EnumDescriptorProto) Reset() { *m = EnumDescriptorProto{} } 734func (m *EnumDescriptorProto) String() string { return proto.CompactTextString(m) } 735func (*EnumDescriptorProto) ProtoMessage() {} 736func (*EnumDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{5} } 737 738func (m *EnumDescriptorProto) GetName() string { 739 if m != nil && m.Name != nil { 740 return *m.Name 741 } 742 return "" 743} 744 745func (m *EnumDescriptorProto) GetValue() []*EnumValueDescriptorProto { 746 if m != nil { 747 return m.Value 748 } 749 return nil 750} 751 752func (m *EnumDescriptorProto) GetOptions() *EnumOptions { 753 if m != nil { 754 return m.Options 755 } 756 return nil 757} 758 759// Describes a value within an enum. 760type EnumValueDescriptorProto struct { 761 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` 762 Number *int32 `protobuf:"varint,2,opt,name=number" json:"number,omitempty"` 763 Options *EnumValueOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"` 764 XXX_unrecognized []byte `json:"-"` 765} 766 767func (m *EnumValueDescriptorProto) Reset() { *m = EnumValueDescriptorProto{} } 768func (m *EnumValueDescriptorProto) String() string { return proto.CompactTextString(m) } 769func (*EnumValueDescriptorProto) ProtoMessage() {} 770func (*EnumValueDescriptorProto) Descriptor() ([]byte, []int) { 771 return fileDescriptorDescriptor, []int{6} 772} 773 774func (m *EnumValueDescriptorProto) GetName() string { 775 if m != nil && m.Name != nil { 776 return *m.Name 777 } 778 return "" 779} 780 781func (m *EnumValueDescriptorProto) GetNumber() int32 { 782 if m != nil && m.Number != nil { 783 return *m.Number 784 } 785 return 0 786} 787 788func (m *EnumValueDescriptorProto) GetOptions() *EnumValueOptions { 789 if m != nil { 790 return m.Options 791 } 792 return nil 793} 794 795// Describes a service. 796type ServiceDescriptorProto struct { 797 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` 798 Method []*MethodDescriptorProto `protobuf:"bytes,2,rep,name=method" json:"method,omitempty"` 799 Options *ServiceOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"` 800 XXX_unrecognized []byte `json:"-"` 801} 802 803func (m *ServiceDescriptorProto) Reset() { *m = ServiceDescriptorProto{} } 804func (m *ServiceDescriptorProto) String() string { return proto.CompactTextString(m) } 805func (*ServiceDescriptorProto) ProtoMessage() {} 806func (*ServiceDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{7} } 807 808func (m *ServiceDescriptorProto) GetName() string { 809 if m != nil && m.Name != nil { 810 return *m.Name 811 } 812 return "" 813} 814 815func (m *ServiceDescriptorProto) GetMethod() []*MethodDescriptorProto { 816 if m != nil { 817 return m.Method 818 } 819 return nil 820} 821 822func (m *ServiceDescriptorProto) GetOptions() *ServiceOptions { 823 if m != nil { 824 return m.Options 825 } 826 return nil 827} 828 829// Describes a method of a service. 830type MethodDescriptorProto struct { 831 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` 832 // Input and output type names. These are resolved in the same way as 833 // FieldDescriptorProto.type_name, but must refer to a message type. 834 InputType *string `protobuf:"bytes,2,opt,name=input_type,json=inputType" json:"input_type,omitempty"` 835 OutputType *string `protobuf:"bytes,3,opt,name=output_type,json=outputType" json:"output_type,omitempty"` 836 Options *MethodOptions `protobuf:"bytes,4,opt,name=options" json:"options,omitempty"` 837 // Identifies if client streams multiple client messages 838 ClientStreaming *bool `protobuf:"varint,5,opt,name=client_streaming,json=clientStreaming,def=0" json:"client_streaming,omitempty"` 839 // Identifies if server streams multiple server messages 840 ServerStreaming *bool `protobuf:"varint,6,opt,name=server_streaming,json=serverStreaming,def=0" json:"server_streaming,omitempty"` 841 XXX_unrecognized []byte `json:"-"` 842} 843 844func (m *MethodDescriptorProto) Reset() { *m = MethodDescriptorProto{} } 845func (m *MethodDescriptorProto) String() string { return proto.CompactTextString(m) } 846func (*MethodDescriptorProto) ProtoMessage() {} 847func (*MethodDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{8} } 848 849const Default_MethodDescriptorProto_ClientStreaming bool = false 850const Default_MethodDescriptorProto_ServerStreaming bool = false 851 852func (m *MethodDescriptorProto) GetName() string { 853 if m != nil && m.Name != nil { 854 return *m.Name 855 } 856 return "" 857} 858 859func (m *MethodDescriptorProto) GetInputType() string { 860 if m != nil && m.InputType != nil { 861 return *m.InputType 862 } 863 return "" 864} 865 866func (m *MethodDescriptorProto) GetOutputType() string { 867 if m != nil && m.OutputType != nil { 868 return *m.OutputType 869 } 870 return "" 871} 872 873func (m *MethodDescriptorProto) GetOptions() *MethodOptions { 874 if m != nil { 875 return m.Options 876 } 877 return nil 878} 879 880func (m *MethodDescriptorProto) GetClientStreaming() bool { 881 if m != nil && m.ClientStreaming != nil { 882 return *m.ClientStreaming 883 } 884 return Default_MethodDescriptorProto_ClientStreaming 885} 886 887func (m *MethodDescriptorProto) GetServerStreaming() bool { 888 if m != nil && m.ServerStreaming != nil { 889 return *m.ServerStreaming 890 } 891 return Default_MethodDescriptorProto_ServerStreaming 892} 893 894type FileOptions struct { 895 // Sets the Java package where classes generated from this .proto will be 896 // placed. By default, the proto package is used, but this is often 897 // inappropriate because proto packages do not normally start with backwards 898 // domain names. 899 JavaPackage *string `protobuf:"bytes,1,opt,name=java_package,json=javaPackage" json:"java_package,omitempty"` 900 // If set, all the classes from the .proto file are wrapped in a single 901 // outer class with the given name. This applies to both Proto1 902 // (equivalent to the old "--one_java_file" option) and Proto2 (where 903 // a .proto always translates to a single class, but you may want to 904 // explicitly choose the class name). 905 JavaOuterClassname *string `protobuf:"bytes,8,opt,name=java_outer_classname,json=javaOuterClassname" json:"java_outer_classname,omitempty"` 906 // If set true, then the Java code generator will generate a separate .java 907 // file for each top-level message, enum, and service defined in the .proto 908 // file. Thus, these types will *not* be nested inside the outer class 909 // named by java_outer_classname. However, the outer class will still be 910 // generated to contain the file's getDescriptor() method as well as any 911 // top-level extensions defined in the file. 912 JavaMultipleFiles *bool `protobuf:"varint,10,opt,name=java_multiple_files,json=javaMultipleFiles,def=0" json:"java_multiple_files,omitempty"` 913 // If set true, then the Java code generator will generate equals() and 914 // hashCode() methods for all messages defined in the .proto file. 915 // This increases generated code size, potentially substantially for large 916 // protos, which may harm a memory-constrained application. 917 // - In the full runtime this is a speed optimization, as the 918 // AbstractMessage base class includes reflection-based implementations of 919 // these methods. 920 // - In the lite runtime, setting this option changes the semantics of 921 // equals() and hashCode() to more closely match those of the full runtime; 922 // the generated methods compute their results based on field values rather 923 // than object identity. (Implementations should not assume that hashcodes 924 // will be consistent across runtimes or versions of the protocol compiler.) 925 JavaGenerateEqualsAndHash *bool `protobuf:"varint,20,opt,name=java_generate_equals_and_hash,json=javaGenerateEqualsAndHash,def=0" json:"java_generate_equals_and_hash,omitempty"` 926 // If set true, then the Java2 code generator will generate code that 927 // throws an exception whenever an attempt is made to assign a non-UTF-8 928 // byte sequence to a string field. 929 // Message reflection will do the same. 930 // However, an extension field still accepts non-UTF-8 byte sequences. 931 // This option has no effect on when used with the lite runtime. 932 JavaStringCheckUtf8 *bool `protobuf:"varint,27,opt,name=java_string_check_utf8,json=javaStringCheckUtf8,def=0" json:"java_string_check_utf8,omitempty"` 933 OptimizeFor *FileOptions_OptimizeMode `protobuf:"varint,9,opt,name=optimize_for,json=optimizeFor,enum=google.protobuf.FileOptions_OptimizeMode,def=1" json:"optimize_for,omitempty"` 934 // Sets the Go package where structs generated from this .proto will be 935 // placed. If omitted, the Go package will be derived from the following: 936 // - The basename of the package import path, if provided. 937 // - Otherwise, the package statement in the .proto file, if present. 938 // - Otherwise, the basename of the .proto file, without extension. 939 GoPackage *string `protobuf:"bytes,11,opt,name=go_package,json=goPackage" json:"go_package,omitempty"` 940 // Should generic services be generated in each language? "Generic" services 941 // are not specific to any particular RPC system. They are generated by the 942 // main code generators in each language (without additional plugins). 943 // Generic services were the only kind of service generation supported by 944 // early versions of google.protobuf. 945 // 946 // Generic services are now considered deprecated in favor of using plugins 947 // that generate code specific to your particular RPC system. Therefore, 948 // these default to false. Old code which depends on generic services should 949 // explicitly set them to true. 950 CcGenericServices *bool `protobuf:"varint,16,opt,name=cc_generic_services,json=ccGenericServices,def=0" json:"cc_generic_services,omitempty"` 951 JavaGenericServices *bool `protobuf:"varint,17,opt,name=java_generic_services,json=javaGenericServices,def=0" json:"java_generic_services,omitempty"` 952 PyGenericServices *bool `protobuf:"varint,18,opt,name=py_generic_services,json=pyGenericServices,def=0" json:"py_generic_services,omitempty"` 953 // Is this file deprecated? 954 // Depending on the target platform, this can emit Deprecated annotations 955 // for everything in the file, or it will be completely ignored; in the very 956 // least, this is a formalization for deprecating files. 957 Deprecated *bool `protobuf:"varint,23,opt,name=deprecated,def=0" json:"deprecated,omitempty"` 958 // Enables the use of arenas for the proto messages in this file. This applies 959 // only to generated classes for C++. 960 CcEnableArenas *bool `protobuf:"varint,31,opt,name=cc_enable_arenas,json=ccEnableArenas,def=0" json:"cc_enable_arenas,omitempty"` 961 // Sets the objective c class prefix which is prepended to all objective c 962 // generated classes from this .proto. There is no default. 963 ObjcClassPrefix *string `protobuf:"bytes,36,opt,name=objc_class_prefix,json=objcClassPrefix" json:"objc_class_prefix,omitempty"` 964 // Namespace for generated classes; defaults to the package. 965 CsharpNamespace *string `protobuf:"bytes,37,opt,name=csharp_namespace,json=csharpNamespace" json:"csharp_namespace,omitempty"` 966 // The parser stores options it doesn't recognize here. See above. 967 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` 968 proto.XXX_InternalExtensions `json:"-"` 969 XXX_unrecognized []byte `json:"-"` 970} 971 972func (m *FileOptions) Reset() { *m = FileOptions{} } 973func (m *FileOptions) String() string { return proto.CompactTextString(m) } 974func (*FileOptions) ProtoMessage() {} 975func (*FileOptions) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{9} } 976 977var extRange_FileOptions = []proto.ExtensionRange{ 978 {Start: 1000, End: 536870911}, 979} 980 981func (*FileOptions) ExtensionRangeArray() []proto.ExtensionRange { 982 return extRange_FileOptions 983} 984 985const Default_FileOptions_JavaMultipleFiles bool = false 986const Default_FileOptions_JavaGenerateEqualsAndHash bool = false 987const Default_FileOptions_JavaStringCheckUtf8 bool = false 988const Default_FileOptions_OptimizeFor FileOptions_OptimizeMode = FileOptions_SPEED 989const Default_FileOptions_CcGenericServices bool = false 990const Default_FileOptions_JavaGenericServices bool = false 991const Default_FileOptions_PyGenericServices bool = false 992const Default_FileOptions_Deprecated bool = false 993const Default_FileOptions_CcEnableArenas bool = false 994 995func (m *FileOptions) GetJavaPackage() string { 996 if m != nil && m.JavaPackage != nil { 997 return *m.JavaPackage 998 } 999 return "" 1000} 1001 1002func (m *FileOptions) GetJavaOuterClassname() string { 1003 if m != nil && m.JavaOuterClassname != nil { 1004 return *m.JavaOuterClassname 1005 } 1006 return "" 1007} 1008 1009func (m *FileOptions) GetJavaMultipleFiles() bool { 1010 if m != nil && m.JavaMultipleFiles != nil { 1011 return *m.JavaMultipleFiles 1012 } 1013 return Default_FileOptions_JavaMultipleFiles 1014} 1015 1016func (m *FileOptions) GetJavaGenerateEqualsAndHash() bool { 1017 if m != nil && m.JavaGenerateEqualsAndHash != nil { 1018 return *m.JavaGenerateEqualsAndHash 1019 } 1020 return Default_FileOptions_JavaGenerateEqualsAndHash 1021} 1022 1023func (m *FileOptions) GetJavaStringCheckUtf8() bool { 1024 if m != nil && m.JavaStringCheckUtf8 != nil { 1025 return *m.JavaStringCheckUtf8 1026 } 1027 return Default_FileOptions_JavaStringCheckUtf8 1028} 1029 1030func (m *FileOptions) GetOptimizeFor() FileOptions_OptimizeMode { 1031 if m != nil && m.OptimizeFor != nil { 1032 return *m.OptimizeFor 1033 } 1034 return Default_FileOptions_OptimizeFor 1035} 1036 1037func (m *FileOptions) GetGoPackage() string { 1038 if m != nil && m.GoPackage != nil { 1039 return *m.GoPackage 1040 } 1041 return "" 1042} 1043 1044func (m *FileOptions) GetCcGenericServices() bool { 1045 if m != nil && m.CcGenericServices != nil { 1046 return *m.CcGenericServices 1047 } 1048 return Default_FileOptions_CcGenericServices 1049} 1050 1051func (m *FileOptions) GetJavaGenericServices() bool { 1052 if m != nil && m.JavaGenericServices != nil { 1053 return *m.JavaGenericServices 1054 } 1055 return Default_FileOptions_JavaGenericServices 1056} 1057 1058func (m *FileOptions) GetPyGenericServices() bool { 1059 if m != nil && m.PyGenericServices != nil { 1060 return *m.PyGenericServices 1061 } 1062 return Default_FileOptions_PyGenericServices 1063} 1064 1065func (m *FileOptions) GetDeprecated() bool { 1066 if m != nil && m.Deprecated != nil { 1067 return *m.Deprecated 1068 } 1069 return Default_FileOptions_Deprecated 1070} 1071 1072func (m *FileOptions) GetCcEnableArenas() bool { 1073 if m != nil && m.CcEnableArenas != nil { 1074 return *m.CcEnableArenas 1075 } 1076 return Default_FileOptions_CcEnableArenas 1077} 1078 1079func (m *FileOptions) GetObjcClassPrefix() string { 1080 if m != nil && m.ObjcClassPrefix != nil { 1081 return *m.ObjcClassPrefix 1082 } 1083 return "" 1084} 1085 1086func (m *FileOptions) GetCsharpNamespace() string { 1087 if m != nil && m.CsharpNamespace != nil { 1088 return *m.CsharpNamespace 1089 } 1090 return "" 1091} 1092 1093func (m *FileOptions) GetUninterpretedOption() []*UninterpretedOption { 1094 if m != nil { 1095 return m.UninterpretedOption 1096 } 1097 return nil 1098} 1099 1100type MessageOptions struct { 1101 // Set true to use the old proto1 MessageSet wire format for extensions. 1102 // This is provided for backwards-compatibility with the MessageSet wire 1103 // format. You should not use this for any other reason: It's less 1104 // efficient, has fewer features, and is more complicated. 1105 // 1106 // The message must be defined exactly as follows: 1107 // message Foo { 1108 // option message_set_wire_format = true; 1109 // extensions 4 to max; 1110 // } 1111 // Note that the message cannot have any defined fields; MessageSets only 1112 // have extensions. 1113 // 1114 // All extensions of your type must be singular messages; e.g. they cannot 1115 // be int32s, enums, or repeated messages. 1116 // 1117 // Because this is an option, the above two restrictions are not enforced by 1118 // the protocol compiler. 1119 MessageSetWireFormat *bool `protobuf:"varint,1,opt,name=message_set_wire_format,json=messageSetWireFormat,def=0" json:"message_set_wire_format,omitempty"` 1120 // Disables the generation of the standard "descriptor()" accessor, which can 1121 // conflict with a field of the same name. This is meant to make migration 1122 // from proto1 easier; new code should avoid fields named "descriptor". 1123 NoStandardDescriptorAccessor *bool `protobuf:"varint,2,opt,name=no_standard_descriptor_accessor,json=noStandardDescriptorAccessor,def=0" json:"no_standard_descriptor_accessor,omitempty"` 1124 // Is this message deprecated? 1125 // Depending on the target platform, this can emit Deprecated annotations 1126 // for the message, or it will be completely ignored; in the very least, 1127 // this is a formalization for deprecating messages. 1128 Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"` 1129 // Whether the message is an automatically generated map entry type for the 1130 // maps field. 1131 // 1132 // For maps fields: 1133 // map<KeyType, ValueType> map_field = 1; 1134 // The parsed descriptor looks like: 1135 // message MapFieldEntry { 1136 // option map_entry = true; 1137 // optional KeyType key = 1; 1138 // optional ValueType value = 2; 1139 // } 1140 // repeated MapFieldEntry map_field = 1; 1141 // 1142 // Implementations may choose not to generate the map_entry=true message, but 1143 // use a native map in the target language to hold the keys and values. 1144 // The reflection APIs in such implementions still need to work as 1145 // if the field is a repeated message field. 1146 // 1147 // NOTE: Do not set the option in .proto files. Always use the maps syntax 1148 // instead. The option should only be implicitly set by the proto compiler 1149 // parser. 1150 MapEntry *bool `protobuf:"varint,7,opt,name=map_entry,json=mapEntry" json:"map_entry,omitempty"` 1151 // The parser stores options it doesn't recognize here. See above. 1152 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` 1153 proto.XXX_InternalExtensions `json:"-"` 1154 XXX_unrecognized []byte `json:"-"` 1155} 1156 1157func (m *MessageOptions) Reset() { *m = MessageOptions{} } 1158func (m *MessageOptions) String() string { return proto.CompactTextString(m) } 1159func (*MessageOptions) ProtoMessage() {} 1160func (*MessageOptions) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{10} } 1161 1162var extRange_MessageOptions = []proto.ExtensionRange{ 1163 {Start: 1000, End: 536870911}, 1164} 1165 1166func (*MessageOptions) ExtensionRangeArray() []proto.ExtensionRange { 1167 return extRange_MessageOptions 1168} 1169 1170const Default_MessageOptions_MessageSetWireFormat bool = false 1171const Default_MessageOptions_NoStandardDescriptorAccessor bool = false 1172const Default_MessageOptions_Deprecated bool = false 1173 1174func (m *MessageOptions) GetMessageSetWireFormat() bool { 1175 if m != nil && m.MessageSetWireFormat != nil { 1176 return *m.MessageSetWireFormat 1177 } 1178 return Default_MessageOptions_MessageSetWireFormat 1179} 1180 1181func (m *MessageOptions) GetNoStandardDescriptorAccessor() bool { 1182 if m != nil && m.NoStandardDescriptorAccessor != nil { 1183 return *m.NoStandardDescriptorAccessor 1184 } 1185 return Default_MessageOptions_NoStandardDescriptorAccessor 1186} 1187 1188func (m *MessageOptions) GetDeprecated() bool { 1189 if m != nil && m.Deprecated != nil { 1190 return *m.Deprecated 1191 } 1192 return Default_MessageOptions_Deprecated 1193} 1194 1195func (m *MessageOptions) GetMapEntry() bool { 1196 if m != nil && m.MapEntry != nil { 1197 return *m.MapEntry 1198 } 1199 return false 1200} 1201 1202func (m *MessageOptions) GetUninterpretedOption() []*UninterpretedOption { 1203 if m != nil { 1204 return m.UninterpretedOption 1205 } 1206 return nil 1207} 1208 1209type FieldOptions struct { 1210 // The ctype option instructs the C++ code generator to use a different 1211 // representation of the field than it normally would. See the specific 1212 // options below. This option is not yet implemented in the open source 1213 // release -- sorry, we'll try to include it in a future version! 1214 Ctype *FieldOptions_CType `protobuf:"varint,1,opt,name=ctype,enum=google.protobuf.FieldOptions_CType,def=0" json:"ctype,omitempty"` 1215 // The packed option can be enabled for repeated primitive fields to enable 1216 // a more efficient representation on the wire. Rather than repeatedly 1217 // writing the tag and type for each element, the entire array is encoded as 1218 // a single length-delimited blob. In proto3, only explicit setting it to 1219 // false will avoid using packed encoding. 1220 Packed *bool `protobuf:"varint,2,opt,name=packed" json:"packed,omitempty"` 1221 // The jstype option determines the JavaScript type used for values of the 1222 // field. The option is permitted only for 64 bit integral and fixed types 1223 // (int64, uint64, sint64, fixed64, sfixed64). By default these types are 1224 // represented as JavaScript strings. This avoids loss of precision that can 1225 // happen when a large value is converted to a floating point JavaScript 1226 // numbers. Specifying JS_NUMBER for the jstype causes the generated 1227 // JavaScript code to use the JavaScript "number" type instead of strings. 1228 // This option is an enum to permit additional types to be added, 1229 // e.g. goog.math.Integer. 1230 Jstype *FieldOptions_JSType `protobuf:"varint,6,opt,name=jstype,enum=google.protobuf.FieldOptions_JSType,def=0" json:"jstype,omitempty"` 1231 // Should this field be parsed lazily? Lazy applies only to message-type 1232 // fields. It means that when the outer message is initially parsed, the 1233 // inner message's contents will not be parsed but instead stored in encoded 1234 // form. The inner message will actually be parsed when it is first accessed. 1235 // 1236 // This is only a hint. Implementations are free to choose whether to use 1237 // eager or lazy parsing regardless of the value of this option. However, 1238 // setting this option true suggests that the protocol author believes that 1239 // using lazy parsing on this field is worth the additional bookkeeping 1240 // overhead typically needed to implement it. 1241 // 1242 // This option does not affect the public interface of any generated code; 1243 // all method signatures remain the same. Furthermore, thread-safety of the 1244 // interface is not affected by this option; const methods remain safe to 1245 // call from multiple threads concurrently, while non-const methods continue 1246 // to require exclusive access. 1247 // 1248 // 1249 // Note that implementations may choose not to check required fields within 1250 // a lazy sub-message. That is, calling IsInitialized() on the outher message 1251 // may return true even if the inner message has missing required fields. 1252 // This is necessary because otherwise the inner message would have to be 1253 // parsed in order to perform the check, defeating the purpose of lazy 1254 // parsing. An implementation which chooses not to check required fields 1255 // must be consistent about it. That is, for any particular sub-message, the 1256 // implementation must either *always* check its required fields, or *never* 1257 // check its required fields, regardless of whether or not the message has 1258 // been parsed. 1259 Lazy *bool `protobuf:"varint,5,opt,name=lazy,def=0" json:"lazy,omitempty"` 1260 // Is this field deprecated? 1261 // Depending on the target platform, this can emit Deprecated annotations 1262 // for accessors, or it will be completely ignored; in the very least, this 1263 // is a formalization for deprecating fields. 1264 Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"` 1265 // For Google-internal migration only. Do not use. 1266 Weak *bool `protobuf:"varint,10,opt,name=weak,def=0" json:"weak,omitempty"` 1267 // The parser stores options it doesn't recognize here. See above. 1268 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` 1269 proto.XXX_InternalExtensions `json:"-"` 1270 XXX_unrecognized []byte `json:"-"` 1271} 1272 1273func (m *FieldOptions) Reset() { *m = FieldOptions{} } 1274func (m *FieldOptions) String() string { return proto.CompactTextString(m) } 1275func (*FieldOptions) ProtoMessage() {} 1276func (*FieldOptions) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{11} } 1277 1278var extRange_FieldOptions = []proto.ExtensionRange{ 1279 {Start: 1000, End: 536870911}, 1280} 1281 1282func (*FieldOptions) ExtensionRangeArray() []proto.ExtensionRange { 1283 return extRange_FieldOptions 1284} 1285 1286const Default_FieldOptions_Ctype FieldOptions_CType = FieldOptions_STRING 1287const Default_FieldOptions_Jstype FieldOptions_JSType = FieldOptions_JS_NORMAL 1288const Default_FieldOptions_Lazy bool = false 1289const Default_FieldOptions_Deprecated bool = false 1290const Default_FieldOptions_Weak bool = false 1291 1292func (m *FieldOptions) GetCtype() FieldOptions_CType { 1293 if m != nil && m.Ctype != nil { 1294 return *m.Ctype 1295 } 1296 return Default_FieldOptions_Ctype 1297} 1298 1299func (m *FieldOptions) GetPacked() bool { 1300 if m != nil && m.Packed != nil { 1301 return *m.Packed 1302 } 1303 return false 1304} 1305 1306func (m *FieldOptions) GetJstype() FieldOptions_JSType { 1307 if m != nil && m.Jstype != nil { 1308 return *m.Jstype 1309 } 1310 return Default_FieldOptions_Jstype 1311} 1312 1313func (m *FieldOptions) GetLazy() bool { 1314 if m != nil && m.Lazy != nil { 1315 return *m.Lazy 1316 } 1317 return Default_FieldOptions_Lazy 1318} 1319 1320func (m *FieldOptions) GetDeprecated() bool { 1321 if m != nil && m.Deprecated != nil { 1322 return *m.Deprecated 1323 } 1324 return Default_FieldOptions_Deprecated 1325} 1326 1327func (m *FieldOptions) GetWeak() bool { 1328 if m != nil && m.Weak != nil { 1329 return *m.Weak 1330 } 1331 return Default_FieldOptions_Weak 1332} 1333 1334func (m *FieldOptions) GetUninterpretedOption() []*UninterpretedOption { 1335 if m != nil { 1336 return m.UninterpretedOption 1337 } 1338 return nil 1339} 1340 1341type OneofOptions struct { 1342 // The parser stores options it doesn't recognize here. See above. 1343 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` 1344 proto.XXX_InternalExtensions `json:"-"` 1345 XXX_unrecognized []byte `json:"-"` 1346} 1347 1348func (m *OneofOptions) Reset() { *m = OneofOptions{} } 1349func (m *OneofOptions) String() string { return proto.CompactTextString(m) } 1350func (*OneofOptions) ProtoMessage() {} 1351func (*OneofOptions) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{12} } 1352 1353var extRange_OneofOptions = []proto.ExtensionRange{ 1354 {Start: 1000, End: 536870911}, 1355} 1356 1357func (*OneofOptions) ExtensionRangeArray() []proto.ExtensionRange { 1358 return extRange_OneofOptions 1359} 1360 1361func (m *OneofOptions) GetUninterpretedOption() []*UninterpretedOption { 1362 if m != nil { 1363 return m.UninterpretedOption 1364 } 1365 return nil 1366} 1367 1368type EnumOptions struct { 1369 // Set this option to true to allow mapping different tag names to the same 1370 // value. 1371 AllowAlias *bool `protobuf:"varint,2,opt,name=allow_alias,json=allowAlias" json:"allow_alias,omitempty"` 1372 // Is this enum deprecated? 1373 // Depending on the target platform, this can emit Deprecated annotations 1374 // for the enum, or it will be completely ignored; in the very least, this 1375 // is a formalization for deprecating enums. 1376 Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"` 1377 // The parser stores options it doesn't recognize here. See above. 1378 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` 1379 proto.XXX_InternalExtensions `json:"-"` 1380 XXX_unrecognized []byte `json:"-"` 1381} 1382 1383func (m *EnumOptions) Reset() { *m = EnumOptions{} } 1384func (m *EnumOptions) String() string { return proto.CompactTextString(m) } 1385func (*EnumOptions) ProtoMessage() {} 1386func (*EnumOptions) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{13} } 1387 1388var extRange_EnumOptions = []proto.ExtensionRange{ 1389 {Start: 1000, End: 536870911}, 1390} 1391 1392func (*EnumOptions) ExtensionRangeArray() []proto.ExtensionRange { 1393 return extRange_EnumOptions 1394} 1395 1396const Default_EnumOptions_Deprecated bool = false 1397 1398func (m *EnumOptions) GetAllowAlias() bool { 1399 if m != nil && m.AllowAlias != nil { 1400 return *m.AllowAlias 1401 } 1402 return false 1403} 1404 1405func (m *EnumOptions) GetDeprecated() bool { 1406 if m != nil && m.Deprecated != nil { 1407 return *m.Deprecated 1408 } 1409 return Default_EnumOptions_Deprecated 1410} 1411 1412func (m *EnumOptions) GetUninterpretedOption() []*UninterpretedOption { 1413 if m != nil { 1414 return m.UninterpretedOption 1415 } 1416 return nil 1417} 1418 1419type EnumValueOptions struct { 1420 // Is this enum value deprecated? 1421 // Depending on the target platform, this can emit Deprecated annotations 1422 // for the enum value, or it will be completely ignored; in the very least, 1423 // this is a formalization for deprecating enum values. 1424 Deprecated *bool `protobuf:"varint,1,opt,name=deprecated,def=0" json:"deprecated,omitempty"` 1425 // The parser stores options it doesn't recognize here. See above. 1426 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` 1427 proto.XXX_InternalExtensions `json:"-"` 1428 XXX_unrecognized []byte `json:"-"` 1429} 1430 1431func (m *EnumValueOptions) Reset() { *m = EnumValueOptions{} } 1432func (m *EnumValueOptions) String() string { return proto.CompactTextString(m) } 1433func (*EnumValueOptions) ProtoMessage() {} 1434func (*EnumValueOptions) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{14} } 1435 1436var extRange_EnumValueOptions = []proto.ExtensionRange{ 1437 {Start: 1000, End: 536870911}, 1438} 1439 1440func (*EnumValueOptions) ExtensionRangeArray() []proto.ExtensionRange { 1441 return extRange_EnumValueOptions 1442} 1443 1444const Default_EnumValueOptions_Deprecated bool = false 1445 1446func (m *EnumValueOptions) GetDeprecated() bool { 1447 if m != nil && m.Deprecated != nil { 1448 return *m.Deprecated 1449 } 1450 return Default_EnumValueOptions_Deprecated 1451} 1452 1453func (m *EnumValueOptions) GetUninterpretedOption() []*UninterpretedOption { 1454 if m != nil { 1455 return m.UninterpretedOption 1456 } 1457 return nil 1458} 1459 1460type ServiceOptions struct { 1461 // Is this service deprecated? 1462 // Depending on the target platform, this can emit Deprecated annotations 1463 // for the service, or it will be completely ignored; in the very least, 1464 // this is a formalization for deprecating services. 1465 Deprecated *bool `protobuf:"varint,33,opt,name=deprecated,def=0" json:"deprecated,omitempty"` 1466 // The parser stores options it doesn't recognize here. See above. 1467 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` 1468 proto.XXX_InternalExtensions `json:"-"` 1469 XXX_unrecognized []byte `json:"-"` 1470} 1471 1472func (m *ServiceOptions) Reset() { *m = ServiceOptions{} } 1473func (m *ServiceOptions) String() string { return proto.CompactTextString(m) } 1474func (*ServiceOptions) ProtoMessage() {} 1475func (*ServiceOptions) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{15} } 1476 1477var extRange_ServiceOptions = []proto.ExtensionRange{ 1478 {Start: 1000, End: 536870911}, 1479} 1480 1481func (*ServiceOptions) ExtensionRangeArray() []proto.ExtensionRange { 1482 return extRange_ServiceOptions 1483} 1484 1485const Default_ServiceOptions_Deprecated bool = false 1486 1487func (m *ServiceOptions) GetDeprecated() bool { 1488 if m != nil && m.Deprecated != nil { 1489 return *m.Deprecated 1490 } 1491 return Default_ServiceOptions_Deprecated 1492} 1493 1494func (m *ServiceOptions) GetUninterpretedOption() []*UninterpretedOption { 1495 if m != nil { 1496 return m.UninterpretedOption 1497 } 1498 return nil 1499} 1500 1501type MethodOptions struct { 1502 // Is this method deprecated? 1503 // Depending on the target platform, this can emit Deprecated annotations 1504 // for the method, or it will be completely ignored; in the very least, 1505 // this is a formalization for deprecating methods. 1506 Deprecated *bool `protobuf:"varint,33,opt,name=deprecated,def=0" json:"deprecated,omitempty"` 1507 // The parser stores options it doesn't recognize here. See above. 1508 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` 1509 proto.XXX_InternalExtensions `json:"-"` 1510 XXX_unrecognized []byte `json:"-"` 1511} 1512 1513func (m *MethodOptions) Reset() { *m = MethodOptions{} } 1514func (m *MethodOptions) String() string { return proto.CompactTextString(m) } 1515func (*MethodOptions) ProtoMessage() {} 1516func (*MethodOptions) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{16} } 1517 1518var extRange_MethodOptions = []proto.ExtensionRange{ 1519 {Start: 1000, End: 536870911}, 1520} 1521 1522func (*MethodOptions) ExtensionRangeArray() []proto.ExtensionRange { 1523 return extRange_MethodOptions 1524} 1525 1526const Default_MethodOptions_Deprecated bool = false 1527 1528func (m *MethodOptions) GetDeprecated() bool { 1529 if m != nil && m.Deprecated != nil { 1530 return *m.Deprecated 1531 } 1532 return Default_MethodOptions_Deprecated 1533} 1534 1535func (m *MethodOptions) GetUninterpretedOption() []*UninterpretedOption { 1536 if m != nil { 1537 return m.UninterpretedOption 1538 } 1539 return nil 1540} 1541 1542// A message representing a option the parser does not recognize. This only 1543// appears in options protos created by the compiler::Parser class. 1544// DescriptorPool resolves these when building Descriptor objects. Therefore, 1545// options protos in descriptor objects (e.g. returned by Descriptor::options(), 1546// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions 1547// in them. 1548type UninterpretedOption struct { 1549 Name []*UninterpretedOption_NamePart `protobuf:"bytes,2,rep,name=name" json:"name,omitempty"` 1550 // The value of the uninterpreted option, in whatever type the tokenizer 1551 // identified it as during parsing. Exactly one of these should be set. 1552 IdentifierValue *string `protobuf:"bytes,3,opt,name=identifier_value,json=identifierValue" json:"identifier_value,omitempty"` 1553 PositiveIntValue *uint64 `protobuf:"varint,4,opt,name=positive_int_value,json=positiveIntValue" json:"positive_int_value,omitempty"` 1554 NegativeIntValue *int64 `protobuf:"varint,5,opt,name=negative_int_value,json=negativeIntValue" json:"negative_int_value,omitempty"` 1555 DoubleValue *float64 `protobuf:"fixed64,6,opt,name=double_value,json=doubleValue" json:"double_value,omitempty"` 1556 StringValue []byte `protobuf:"bytes,7,opt,name=string_value,json=stringValue" json:"string_value,omitempty"` 1557 AggregateValue *string `protobuf:"bytes,8,opt,name=aggregate_value,json=aggregateValue" json:"aggregate_value,omitempty"` 1558 XXX_unrecognized []byte `json:"-"` 1559} 1560 1561func (m *UninterpretedOption) Reset() { *m = UninterpretedOption{} } 1562func (m *UninterpretedOption) String() string { return proto.CompactTextString(m) } 1563func (*UninterpretedOption) ProtoMessage() {} 1564func (*UninterpretedOption) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{17} } 1565 1566func (m *UninterpretedOption) GetName() []*UninterpretedOption_NamePart { 1567 if m != nil { 1568 return m.Name 1569 } 1570 return nil 1571} 1572 1573func (m *UninterpretedOption) GetIdentifierValue() string { 1574 if m != nil && m.IdentifierValue != nil { 1575 return *m.IdentifierValue 1576 } 1577 return "" 1578} 1579 1580func (m *UninterpretedOption) GetPositiveIntValue() uint64 { 1581 if m != nil && m.PositiveIntValue != nil { 1582 return *m.PositiveIntValue 1583 } 1584 return 0 1585} 1586 1587func (m *UninterpretedOption) GetNegativeIntValue() int64 { 1588 if m != nil && m.NegativeIntValue != nil { 1589 return *m.NegativeIntValue 1590 } 1591 return 0 1592} 1593 1594func (m *UninterpretedOption) GetDoubleValue() float64 { 1595 if m != nil && m.DoubleValue != nil { 1596 return *m.DoubleValue 1597 } 1598 return 0 1599} 1600 1601func (m *UninterpretedOption) GetStringValue() []byte { 1602 if m != nil { 1603 return m.StringValue 1604 } 1605 return nil 1606} 1607 1608func (m *UninterpretedOption) GetAggregateValue() string { 1609 if m != nil && m.AggregateValue != nil { 1610 return *m.AggregateValue 1611 } 1612 return "" 1613} 1614 1615// The name of the uninterpreted option. Each string represents a segment in 1616// a dot-separated name. is_extension is true iff a segment represents an 1617// extension (denoted with parentheses in options specs in .proto files). 1618// E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents 1619// "foo.(bar.baz).qux". 1620type UninterpretedOption_NamePart struct { 1621 NamePart *string `protobuf:"bytes,1,req,name=name_part,json=namePart" json:"name_part,omitempty"` 1622 IsExtension *bool `protobuf:"varint,2,req,name=is_extension,json=isExtension" json:"is_extension,omitempty"` 1623 XXX_unrecognized []byte `json:"-"` 1624} 1625 1626func (m *UninterpretedOption_NamePart) Reset() { *m = UninterpretedOption_NamePart{} } 1627func (m *UninterpretedOption_NamePart) String() string { return proto.CompactTextString(m) } 1628func (*UninterpretedOption_NamePart) ProtoMessage() {} 1629func (*UninterpretedOption_NamePart) Descriptor() ([]byte, []int) { 1630 return fileDescriptorDescriptor, []int{17, 0} 1631} 1632 1633func (m *UninterpretedOption_NamePart) GetNamePart() string { 1634 if m != nil && m.NamePart != nil { 1635 return *m.NamePart 1636 } 1637 return "" 1638} 1639 1640func (m *UninterpretedOption_NamePart) GetIsExtension() bool { 1641 if m != nil && m.IsExtension != nil { 1642 return *m.IsExtension 1643 } 1644 return false 1645} 1646 1647// Encapsulates information about the original source file from which a 1648// FileDescriptorProto was generated. 1649type SourceCodeInfo struct { 1650 // A Location identifies a piece of source code in a .proto file which 1651 // corresponds to a particular definition. This information is intended 1652 // to be useful to IDEs, code indexers, documentation generators, and similar 1653 // tools. 1654 // 1655 // For example, say we have a file like: 1656 // message Foo { 1657 // optional string foo = 1; 1658 // } 1659 // Let's look at just the field definition: 1660 // optional string foo = 1; 1661 // ^ ^^ ^^ ^ ^^^ 1662 // a bc de f ghi 1663 // We have the following locations: 1664 // span path represents 1665 // [a,i) [ 4, 0, 2, 0 ] The whole field definition. 1666 // [a,b) [ 4, 0, 2, 0, 4 ] The label (optional). 1667 // [c,d) [ 4, 0, 2, 0, 5 ] The type (string). 1668 // [e,f) [ 4, 0, 2, 0, 1 ] The name (foo). 1669 // [g,h) [ 4, 0, 2, 0, 3 ] The number (1). 1670 // 1671 // Notes: 1672 // - A location may refer to a repeated field itself (i.e. not to any 1673 // particular index within it). This is used whenever a set of elements are 1674 // logically enclosed in a single code segment. For example, an entire 1675 // extend block (possibly containing multiple extension definitions) will 1676 // have an outer location whose path refers to the "extensions" repeated 1677 // field without an index. 1678 // - Multiple locations may have the same path. This happens when a single 1679 // logical declaration is spread out across multiple places. The most 1680 // obvious example is the "extend" block again -- there may be multiple 1681 // extend blocks in the same scope, each of which will have the same path. 1682 // - A location's span is not always a subset of its parent's span. For 1683 // example, the "extendee" of an extension declaration appears at the 1684 // beginning of the "extend" block and is shared by all extensions within 1685 // the block. 1686 // - Just because a location's span is a subset of some other location's span 1687 // does not mean that it is a descendent. For example, a "group" defines 1688 // both a type and a field in a single declaration. Thus, the locations 1689 // corresponding to the type and field and their components will overlap. 1690 // - Code which tries to interpret locations should probably be designed to 1691 // ignore those that it doesn't understand, as more types of locations could 1692 // be recorded in the future. 1693 Location []*SourceCodeInfo_Location `protobuf:"bytes,1,rep,name=location" json:"location,omitempty"` 1694 XXX_unrecognized []byte `json:"-"` 1695} 1696 1697func (m *SourceCodeInfo) Reset() { *m = SourceCodeInfo{} } 1698func (m *SourceCodeInfo) String() string { return proto.CompactTextString(m) } 1699func (*SourceCodeInfo) ProtoMessage() {} 1700func (*SourceCodeInfo) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{18} } 1701 1702func (m *SourceCodeInfo) GetLocation() []*SourceCodeInfo_Location { 1703 if m != nil { 1704 return m.Location 1705 } 1706 return nil 1707} 1708 1709type SourceCodeInfo_Location struct { 1710 // Identifies which part of the FileDescriptorProto was defined at this 1711 // location. 1712 // 1713 // Each element is a field number or an index. They form a path from 1714 // the root FileDescriptorProto to the place where the definition. For 1715 // example, this path: 1716 // [ 4, 3, 2, 7, 1 ] 1717 // refers to: 1718 // file.message_type(3) // 4, 3 1719 // .field(7) // 2, 7 1720 // .name() // 1 1721 // This is because FileDescriptorProto.message_type has field number 4: 1722 // repeated DescriptorProto message_type = 4; 1723 // and DescriptorProto.field has field number 2: 1724 // repeated FieldDescriptorProto field = 2; 1725 // and FieldDescriptorProto.name has field number 1: 1726 // optional string name = 1; 1727 // 1728 // Thus, the above path gives the location of a field name. If we removed 1729 // the last element: 1730 // [ 4, 3, 2, 7 ] 1731 // this path refers to the whole field declaration (from the beginning 1732 // of the label to the terminating semicolon). 1733 Path []int32 `protobuf:"varint,1,rep,packed,name=path" json:"path,omitempty"` 1734 // Always has exactly three or four elements: start line, start column, 1735 // end line (optional, otherwise assumed same as start line), end column. 1736 // These are packed into a single field for efficiency. Note that line 1737 // and column numbers are zero-based -- typically you will want to add 1738 // 1 to each before displaying to a user. 1739 Span []int32 `protobuf:"varint,2,rep,packed,name=span" json:"span,omitempty"` 1740 // If this SourceCodeInfo represents a complete declaration, these are any 1741 // comments appearing before and after the declaration which appear to be 1742 // attached to the declaration. 1743 // 1744 // A series of line comments appearing on consecutive lines, with no other 1745 // tokens appearing on those lines, will be treated as a single comment. 1746 // 1747 // leading_detached_comments will keep paragraphs of comments that appear 1748 // before (but not connected to) the current element. Each paragraph, 1749 // separated by empty lines, will be one comment element in the repeated 1750 // field. 1751 // 1752 // Only the comment content is provided; comment markers (e.g. //) are 1753 // stripped out. For block comments, leading whitespace and an asterisk 1754 // will be stripped from the beginning of each line other than the first. 1755 // Newlines are included in the output. 1756 // 1757 // Examples: 1758 // 1759 // optional int32 foo = 1; // Comment attached to foo. 1760 // // Comment attached to bar. 1761 // optional int32 bar = 2; 1762 // 1763 // optional string baz = 3; 1764 // // Comment attached to baz. 1765 // // Another line attached to baz. 1766 // 1767 // // Comment attached to qux. 1768 // // 1769 // // Another line attached to qux. 1770 // optional double qux = 4; 1771 // 1772 // // Detached comment for corge. This is not leading or trailing comments 1773 // // to qux or corge because there are blank lines separating it from 1774 // // both. 1775 // 1776 // // Detached comment for corge paragraph 2. 1777 // 1778 // optional string corge = 5; 1779 // /* Block comment attached 1780 // * to corge. Leading asterisks 1781 // * will be removed. */ 1782 // /* Block comment attached to 1783 // * grault. */ 1784 // optional int32 grault = 6; 1785 // 1786 // // ignored detached comments. 1787 LeadingComments *string `protobuf:"bytes,3,opt,name=leading_comments,json=leadingComments" json:"leading_comments,omitempty"` 1788 TrailingComments *string `protobuf:"bytes,4,opt,name=trailing_comments,json=trailingComments" json:"trailing_comments,omitempty"` 1789 LeadingDetachedComments []string `protobuf:"bytes,6,rep,name=leading_detached_comments,json=leadingDetachedComments" json:"leading_detached_comments,omitempty"` 1790 XXX_unrecognized []byte `json:"-"` 1791} 1792 1793func (m *SourceCodeInfo_Location) Reset() { *m = SourceCodeInfo_Location{} } 1794func (m *SourceCodeInfo_Location) String() string { return proto.CompactTextString(m) } 1795func (*SourceCodeInfo_Location) ProtoMessage() {} 1796func (*SourceCodeInfo_Location) Descriptor() ([]byte, []int) { 1797 return fileDescriptorDescriptor, []int{18, 0} 1798} 1799 1800func (m *SourceCodeInfo_Location) GetPath() []int32 { 1801 if m != nil { 1802 return m.Path 1803 } 1804 return nil 1805} 1806 1807func (m *SourceCodeInfo_Location) GetSpan() []int32 { 1808 if m != nil { 1809 return m.Span 1810 } 1811 return nil 1812} 1813 1814func (m *SourceCodeInfo_Location) GetLeadingComments() string { 1815 if m != nil && m.LeadingComments != nil { 1816 return *m.LeadingComments 1817 } 1818 return "" 1819} 1820 1821func (m *SourceCodeInfo_Location) GetTrailingComments() string { 1822 if m != nil && m.TrailingComments != nil { 1823 return *m.TrailingComments 1824 } 1825 return "" 1826} 1827 1828func (m *SourceCodeInfo_Location) GetLeadingDetachedComments() []string { 1829 if m != nil { 1830 return m.LeadingDetachedComments 1831 } 1832 return nil 1833} 1834 1835// Describes the relationship between generated code and its original source 1836// file. A GeneratedCodeInfo message is associated with only one generated 1837// source file, but may contain references to different source .proto files. 1838type GeneratedCodeInfo struct { 1839 // An Annotation connects some span of text in generated code to an element 1840 // of its generating .proto file. 1841 Annotation []*GeneratedCodeInfo_Annotation `protobuf:"bytes,1,rep,name=annotation" json:"annotation,omitempty"` 1842 XXX_unrecognized []byte `json:"-"` 1843} 1844 1845func (m *GeneratedCodeInfo) Reset() { *m = GeneratedCodeInfo{} } 1846func (m *GeneratedCodeInfo) String() string { return proto.CompactTextString(m) } 1847func (*GeneratedCodeInfo) ProtoMessage() {} 1848func (*GeneratedCodeInfo) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{19} } 1849 1850func (m *GeneratedCodeInfo) GetAnnotation() []*GeneratedCodeInfo_Annotation { 1851 if m != nil { 1852 return m.Annotation 1853 } 1854 return nil 1855} 1856 1857type GeneratedCodeInfo_Annotation struct { 1858 // Identifies the element in the original source .proto file. This field 1859 // is formatted the same as SourceCodeInfo.Location.path. 1860 Path []int32 `protobuf:"varint,1,rep,packed,name=path" json:"path,omitempty"` 1861 // Identifies the filesystem path to the original source .proto. 1862 SourceFile *string `protobuf:"bytes,2,opt,name=source_file,json=sourceFile" json:"source_file,omitempty"` 1863 // Identifies the starting offset in bytes in the generated code 1864 // that relates to the identified object. 1865 Begin *int32 `protobuf:"varint,3,opt,name=begin" json:"begin,omitempty"` 1866 // Identifies the ending offset in bytes in the generated code that 1867 // relates to the identified offset. The end offset should be one past 1868 // the last relevant byte (so the length of the text = end - begin). 1869 End *int32 `protobuf:"varint,4,opt,name=end" json:"end,omitempty"` 1870 XXX_unrecognized []byte `json:"-"` 1871} 1872 1873func (m *GeneratedCodeInfo_Annotation) Reset() { *m = GeneratedCodeInfo_Annotation{} } 1874func (m *GeneratedCodeInfo_Annotation) String() string { return proto.CompactTextString(m) } 1875func (*GeneratedCodeInfo_Annotation) ProtoMessage() {} 1876func (*GeneratedCodeInfo_Annotation) Descriptor() ([]byte, []int) { 1877 return fileDescriptorDescriptor, []int{19, 0} 1878} 1879 1880func (m *GeneratedCodeInfo_Annotation) GetPath() []int32 { 1881 if m != nil { 1882 return m.Path 1883 } 1884 return nil 1885} 1886 1887func (m *GeneratedCodeInfo_Annotation) GetSourceFile() string { 1888 if m != nil && m.SourceFile != nil { 1889 return *m.SourceFile 1890 } 1891 return "" 1892} 1893 1894func (m *GeneratedCodeInfo_Annotation) GetBegin() int32 { 1895 if m != nil && m.Begin != nil { 1896 return *m.Begin 1897 } 1898 return 0 1899} 1900 1901func (m *GeneratedCodeInfo_Annotation) GetEnd() int32 { 1902 if m != nil && m.End != nil { 1903 return *m.End 1904 } 1905 return 0 1906} 1907 1908func init() { 1909 proto.RegisterType((*FileDescriptorSet)(nil), "google.protobuf.FileDescriptorSet") 1910 proto.RegisterType((*FileDescriptorProto)(nil), "google.protobuf.FileDescriptorProto") 1911 proto.RegisterType((*DescriptorProto)(nil), "google.protobuf.DescriptorProto") 1912 proto.RegisterType((*DescriptorProto_ExtensionRange)(nil), "google.protobuf.DescriptorProto.ExtensionRange") 1913 proto.RegisterType((*DescriptorProto_ReservedRange)(nil), "google.protobuf.DescriptorProto.ReservedRange") 1914 proto.RegisterType((*FieldDescriptorProto)(nil), "google.protobuf.FieldDescriptorProto") 1915 proto.RegisterType((*OneofDescriptorProto)(nil), "google.protobuf.OneofDescriptorProto") 1916 proto.RegisterType((*EnumDescriptorProto)(nil), "google.protobuf.EnumDescriptorProto") 1917 proto.RegisterType((*EnumValueDescriptorProto)(nil), "google.protobuf.EnumValueDescriptorProto") 1918 proto.RegisterType((*ServiceDescriptorProto)(nil), "google.protobuf.ServiceDescriptorProto") 1919 proto.RegisterType((*MethodDescriptorProto)(nil), "google.protobuf.MethodDescriptorProto") 1920 proto.RegisterType((*FileOptions)(nil), "google.protobuf.FileOptions") 1921 proto.RegisterType((*MessageOptions)(nil), "google.protobuf.MessageOptions") 1922 proto.RegisterType((*FieldOptions)(nil), "google.protobuf.FieldOptions") 1923 proto.RegisterType((*OneofOptions)(nil), "google.protobuf.OneofOptions") 1924 proto.RegisterType((*EnumOptions)(nil), "google.protobuf.EnumOptions") 1925 proto.RegisterType((*EnumValueOptions)(nil), "google.protobuf.EnumValueOptions") 1926 proto.RegisterType((*ServiceOptions)(nil), "google.protobuf.ServiceOptions") 1927 proto.RegisterType((*MethodOptions)(nil), "google.protobuf.MethodOptions") 1928 proto.RegisterType((*UninterpretedOption)(nil), "google.protobuf.UninterpretedOption") 1929 proto.RegisterType((*UninterpretedOption_NamePart)(nil), "google.protobuf.UninterpretedOption.NamePart") 1930 proto.RegisterType((*SourceCodeInfo)(nil), "google.protobuf.SourceCodeInfo") 1931 proto.RegisterType((*SourceCodeInfo_Location)(nil), "google.protobuf.SourceCodeInfo.Location") 1932 proto.RegisterType((*GeneratedCodeInfo)(nil), "google.protobuf.GeneratedCodeInfo") 1933 proto.RegisterType((*GeneratedCodeInfo_Annotation)(nil), "google.protobuf.GeneratedCodeInfo.Annotation") 1934 proto.RegisterEnum("google.protobuf.FieldDescriptorProto_Type", FieldDescriptorProto_Type_name, FieldDescriptorProto_Type_value) 1935 proto.RegisterEnum("google.protobuf.FieldDescriptorProto_Label", FieldDescriptorProto_Label_name, FieldDescriptorProto_Label_value) 1936 proto.RegisterEnum("google.protobuf.FileOptions_OptimizeMode", FileOptions_OptimizeMode_name, FileOptions_OptimizeMode_value) 1937 proto.RegisterEnum("google.protobuf.FieldOptions_CType", FieldOptions_CType_name, FieldOptions_CType_value) 1938 proto.RegisterEnum("google.protobuf.FieldOptions_JSType", FieldOptions_JSType_name, FieldOptions_JSType_value) 1939} 1940 1941func init() { proto.RegisterFile("descriptor.proto", fileDescriptorDescriptor) } 1942 1943var fileDescriptorDescriptor = []byte{ 1944 // 2273 bytes of a gzipped FileDescriptorProto 1945 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0xcd, 0x6f, 0xdb, 0xc8, 1946 0x15, 0x5f, 0xea, 0xcb, 0xd2, 0x93, 0x2c, 0x8f, 0xc7, 0xde, 0x84, 0x71, 0x36, 0x1b, 0x47, 0x9b, 1947 0x34, 0x4e, 0xd2, 0x3a, 0x0b, 0xe7, 0x63, 0xb3, 0xde, 0x62, 0x0b, 0x59, 0x62, 0xbc, 0x0a, 0x64, 1948 0x4b, 0xa5, 0xec, 0x36, 0xbb, 0x3d, 0x10, 0x63, 0x72, 0x24, 0x33, 0xa1, 0x86, 0x2c, 0x49, 0x25, 1949 0xf1, 0x9e, 0x02, 0xf4, 0x54, 0xf4, 0x1f, 0x28, 0xda, 0xa2, 0x28, 0xf6, 0xb2, 0x40, 0xff, 0x80, 1950 0x1e, 0x7a, 0xef, 0xb5, 0x40, 0xef, 0x3d, 0x16, 0x68, 0xff, 0x83, 0x5e, 0x8b, 0x99, 0x21, 0x29, 1951 0xea, 0x6b, 0xe3, 0x2e, 0xb0, 0x1f, 0x27, 0x6b, 0x7e, 0xef, 0xf7, 0x1e, 0xdf, 0xbc, 0x79, 0x7c, 1952 0xef, 0x71, 0x0c, 0xc8, 0xa2, 0x81, 0xe9, 0xdb, 0x5e, 0xe8, 0xfa, 0xdb, 0x9e, 0xef, 0x86, 0x2e, 1953 0x5e, 0x19, 0xb8, 0xee, 0xc0, 0xa1, 0x72, 0x75, 0x32, 0xea, 0xd7, 0x0e, 0x60, 0xf5, 0xb1, 0xed, 1954 0xd0, 0x66, 0x42, 0xec, 0xd1, 0x10, 0x3f, 0x82, 0x5c, 0xdf, 0x76, 0xa8, 0xaa, 0x6c, 0x66, 0xb7, 1955 0xca, 0x3b, 0xd7, 0xb7, 0xa7, 0x94, 0xb6, 0x27, 0x35, 0xba, 0x1c, 0xd6, 0x85, 0x46, 0xed, 0x5f, 1956 0x39, 0x58, 0x9b, 0x23, 0xc5, 0x18, 0x72, 0x8c, 0x0c, 0xb9, 0x45, 0x65, 0xab, 0xa4, 0x8b, 0xdf, 1957 0x58, 0x85, 0x25, 0x8f, 0x98, 0xcf, 0xc9, 0x80, 0xaa, 0x19, 0x01, 0xc7, 0x4b, 0xfc, 0x2e, 0x80, 1958 0x45, 0x3d, 0xca, 0x2c, 0xca, 0xcc, 0x33, 0x35, 0xbb, 0x99, 0xdd, 0x2a, 0xe9, 0x29, 0x04, 0xdf, 1959 0x81, 0x55, 0x6f, 0x74, 0xe2, 0xd8, 0xa6, 0x91, 0xa2, 0xc1, 0x66, 0x76, 0x2b, 0xaf, 0x23, 0x29, 1960 0x68, 0x8e, 0xc9, 0x37, 0x61, 0xe5, 0x25, 0x25, 0xcf, 0xd3, 0xd4, 0xb2, 0xa0, 0x56, 0x39, 0x9c, 1961 0x22, 0x36, 0xa0, 0x32, 0xa4, 0x41, 0x40, 0x06, 0xd4, 0x08, 0xcf, 0x3c, 0xaa, 0xe6, 0xc4, 0xee, 1962 0x37, 0x67, 0x76, 0x3f, 0xbd, 0xf3, 0x72, 0xa4, 0x75, 0x74, 0xe6, 0x51, 0x5c, 0x87, 0x12, 0x65, 1963 0xa3, 0xa1, 0xb4, 0x90, 0x5f, 0x10, 0x3f, 0x8d, 0x8d, 0x86, 0xd3, 0x56, 0x8a, 0x5c, 0x2d, 0x32, 1964 0xb1, 0x14, 0x50, 0xff, 0x85, 0x6d, 0x52, 0xb5, 0x20, 0x0c, 0xdc, 0x9c, 0x31, 0xd0, 0x93, 0xf2, 1965 0x69, 0x1b, 0xb1, 0x1e, 0x6e, 0x40, 0x89, 0xbe, 0x0a, 0x29, 0x0b, 0x6c, 0x97, 0xa9, 0x4b, 0xc2, 1966 0xc8, 0x8d, 0x39, 0xa7, 0x48, 0x1d, 0x6b, 0xda, 0xc4, 0x58, 0x0f, 0x3f, 0x84, 0x25, 0xd7, 0x0b, 1967 0x6d, 0x97, 0x05, 0x6a, 0x71, 0x53, 0xd9, 0x2a, 0xef, 0xbc, 0x33, 0x37, 0x11, 0x3a, 0x92, 0xa3, 1968 0xc7, 0x64, 0xdc, 0x02, 0x14, 0xb8, 0x23, 0xdf, 0xa4, 0x86, 0xe9, 0x5a, 0xd4, 0xb0, 0x59, 0xdf, 1969 0x55, 0x4b, 0xc2, 0xc0, 0xd5, 0xd9, 0x8d, 0x08, 0x62, 0xc3, 0xb5, 0x68, 0x8b, 0xf5, 0x5d, 0xbd, 1970 0x1a, 0x4c, 0xac, 0xf1, 0x05, 0x28, 0x04, 0x67, 0x2c, 0x24, 0xaf, 0xd4, 0x8a, 0xc8, 0x90, 0x68, 1971 0x55, 0xfb, 0x6f, 0x1e, 0x56, 0xce, 0x93, 0x62, 0x1f, 0x41, 0xbe, 0xcf, 0x77, 0xa9, 0x66, 0xfe, 1972 0x9f, 0x18, 0x48, 0x9d, 0xc9, 0x20, 0x16, 0xbe, 0x66, 0x10, 0xeb, 0x50, 0x66, 0x34, 0x08, 0xa9, 1973 0x25, 0x33, 0x22, 0x7b, 0xce, 0x9c, 0x02, 0xa9, 0x34, 0x9b, 0x52, 0xb9, 0xaf, 0x95, 0x52, 0x4f, 1974 0x61, 0x25, 0x71, 0xc9, 0xf0, 0x09, 0x1b, 0xc4, 0xb9, 0x79, 0xf7, 0x4d, 0x9e, 0x6c, 0x6b, 0xb1, 1975 0x9e, 0xce, 0xd5, 0xf4, 0x2a, 0x9d, 0x58, 0xe3, 0x26, 0x80, 0xcb, 0xa8, 0xdb, 0x37, 0x2c, 0x6a, 1976 0x3a, 0x6a, 0x71, 0x41, 0x94, 0x3a, 0x9c, 0x32, 0x13, 0x25, 0x57, 0xa2, 0xa6, 0x83, 0x3f, 0x1c, 1977 0xa7, 0xda, 0xd2, 0x82, 0x4c, 0x39, 0x90, 0x2f, 0xd9, 0x4c, 0xb6, 0x1d, 0x43, 0xd5, 0xa7, 0x3c, 1978 0xef, 0xa9, 0x15, 0xed, 0xac, 0x24, 0x9c, 0xd8, 0x7e, 0xe3, 0xce, 0xf4, 0x48, 0x4d, 0x6e, 0x6c, 1979 0xd9, 0x4f, 0x2f, 0xf1, 0x7b, 0x90, 0x00, 0x86, 0x48, 0x2b, 0x10, 0x55, 0xa8, 0x12, 0x83, 0x87, 1980 0x64, 0x48, 0x37, 0x1e, 0x41, 0x75, 0x32, 0x3c, 0x78, 0x1d, 0xf2, 0x41, 0x48, 0xfc, 0x50, 0x64, 1981 0x61, 0x5e, 0x97, 0x0b, 0x8c, 0x20, 0x4b, 0x99, 0x25, 0xaa, 0x5c, 0x5e, 0xe7, 0x3f, 0x37, 0x3e, 1982 0x80, 0xe5, 0x89, 0xc7, 0x9f, 0x57, 0xb1, 0xf6, 0xdb, 0x02, 0xac, 0xcf, 0xcb, 0xb9, 0xb9, 0xe9, 1983 0x7f, 0x01, 0x0a, 0x6c, 0x34, 0x3c, 0xa1, 0xbe, 0x9a, 0x15, 0x16, 0xa2, 0x15, 0xae, 0x43, 0xde, 1984 0x21, 0x27, 0xd4, 0x51, 0x73, 0x9b, 0xca, 0x56, 0x75, 0xe7, 0xce, 0xb9, 0xb2, 0x7a, 0xbb, 0xcd, 1985 0x55, 0x74, 0xa9, 0x89, 0x3f, 0x86, 0x5c, 0x54, 0xe2, 0xb8, 0x85, 0xdb, 0xe7, 0xb3, 0xc0, 0x73, 1986 0x51, 0x17, 0x7a, 0xf8, 0x32, 0x94, 0xf8, 0x5f, 0x19, 0xdb, 0x82, 0xf0, 0xb9, 0xc8, 0x01, 0x1e, 1987 0x57, 0xbc, 0x01, 0x45, 0x91, 0x66, 0x16, 0x8d, 0x5b, 0x43, 0xb2, 0xe6, 0x07, 0x63, 0xd1, 0x3e, 1988 0x19, 0x39, 0xa1, 0xf1, 0x82, 0x38, 0x23, 0x2a, 0x12, 0xa6, 0xa4, 0x57, 0x22, 0xf0, 0x67, 0x1c, 1989 0xc3, 0x57, 0xa1, 0x2c, 0xb3, 0xd2, 0x66, 0x16, 0x7d, 0x25, 0xaa, 0x4f, 0x5e, 0x97, 0x89, 0xda, 1990 0xe2, 0x08, 0x7f, 0xfc, 0xb3, 0xc0, 0x65, 0xf1, 0xd1, 0x8a, 0x47, 0x70, 0x40, 0x3c, 0xfe, 0x83, 1991 0xe9, 0xc2, 0x77, 0x65, 0xfe, 0xf6, 0xa6, 0x73, 0xb1, 0xf6, 0x97, 0x0c, 0xe4, 0xc4, 0xfb, 0xb6, 1992 0x02, 0xe5, 0xa3, 0x4f, 0xbb, 0x9a, 0xd1, 0xec, 0x1c, 0xef, 0xb5, 0x35, 0xa4, 0xe0, 0x2a, 0x80, 1993 0x00, 0x1e, 0xb7, 0x3b, 0xf5, 0x23, 0x94, 0x49, 0xd6, 0xad, 0xc3, 0xa3, 0x87, 0xf7, 0x51, 0x36, 1994 0x51, 0x38, 0x96, 0x40, 0x2e, 0x4d, 0xb8, 0xb7, 0x83, 0xf2, 0x18, 0x41, 0x45, 0x1a, 0x68, 0x3d, 1995 0xd5, 0x9a, 0x0f, 0xef, 0xa3, 0xc2, 0x24, 0x72, 0x6f, 0x07, 0x2d, 0xe1, 0x65, 0x28, 0x09, 0x64, 1996 0xaf, 0xd3, 0x69, 0xa3, 0x62, 0x62, 0xb3, 0x77, 0xa4, 0xb7, 0x0e, 0xf7, 0x51, 0x29, 0xb1, 0xb9, 1997 0xaf, 0x77, 0x8e, 0xbb, 0x08, 0x12, 0x0b, 0x07, 0x5a, 0xaf, 0x57, 0xdf, 0xd7, 0x50, 0x39, 0x61, 1998 0xec, 0x7d, 0x7a, 0xa4, 0xf5, 0x50, 0x65, 0xc2, 0xad, 0x7b, 0x3b, 0x68, 0x39, 0x79, 0x84, 0x76, 1999 0x78, 0x7c, 0x80, 0xaa, 0x78, 0x15, 0x96, 0xe5, 0x23, 0x62, 0x27, 0x56, 0xa6, 0xa0, 0x87, 0xf7, 2000 0x11, 0x1a, 0x3b, 0x22, 0xad, 0xac, 0x4e, 0x00, 0x0f, 0xef, 0x23, 0x5c, 0x6b, 0x40, 0x5e, 0x64, 2001 0x17, 0xc6, 0x50, 0x6d, 0xd7, 0xf7, 0xb4, 0xb6, 0xd1, 0xe9, 0x1e, 0xb5, 0x3a, 0x87, 0xf5, 0x36, 2002 0x52, 0xc6, 0x98, 0xae, 0xfd, 0xf4, 0xb8, 0xa5, 0x6b, 0x4d, 0x94, 0x49, 0x63, 0x5d, 0xad, 0x7e, 2003 0xa4, 0x35, 0x51, 0xb6, 0x66, 0xc2, 0xfa, 0xbc, 0x3a, 0x33, 0xf7, 0xcd, 0x48, 0x1d, 0x71, 0x66, 2004 0xc1, 0x11, 0x0b, 0x5b, 0x33, 0x47, 0xfc, 0x85, 0x02, 0x6b, 0x73, 0x6a, 0xed, 0xdc, 0x87, 0xfc, 2005 0x04, 0xf2, 0x32, 0x45, 0x65, 0xf7, 0xb9, 0x35, 0xb7, 0x68, 0x8b, 0x84, 0x9d, 0xe9, 0x40, 0x42, 2006 0x2f, 0xdd, 0x81, 0xb3, 0x0b, 0x3a, 0x30, 0x37, 0x31, 0xe3, 0xe4, 0xaf, 0x14, 0x50, 0x17, 0xd9, 2007 0x7e, 0x43, 0xa1, 0xc8, 0x4c, 0x14, 0x8a, 0x8f, 0xa6, 0x1d, 0xb8, 0xb6, 0x78, 0x0f, 0x33, 0x5e, 2008 0x7c, 0xa9, 0xc0, 0x85, 0xf9, 0x83, 0xca, 0x5c, 0x1f, 0x3e, 0x86, 0xc2, 0x90, 0x86, 0xa7, 0x6e, 2009 0xdc, 0xac, 0x7f, 0x30, 0xa7, 0x05, 0x70, 0xf1, 0x74, 0xac, 0x22, 0xad, 0x74, 0x0f, 0xc9, 0x2e, 2010 0x9a, 0x36, 0xa4, 0x37, 0x33, 0x9e, 0xfe, 0x3a, 0x03, 0x6f, 0xcf, 0x35, 0x3e, 0xd7, 0xd1, 0x2b, 2011 0x00, 0x36, 0xf3, 0x46, 0xa1, 0x6c, 0xc8, 0xb2, 0x3e, 0x95, 0x04, 0x22, 0xde, 0x7d, 0x5e, 0x7b, 2012 0x46, 0x61, 0x22, 0xcf, 0x0a, 0x39, 0x48, 0x48, 0x10, 0x1e, 0x8d, 0x1d, 0xcd, 0x09, 0x47, 0xdf, 2013 0x5d, 0xb0, 0xd3, 0x99, 0x5e, 0xf7, 0x3e, 0x20, 0xd3, 0xb1, 0x29, 0x0b, 0x8d, 0x20, 0xf4, 0x29, 2014 0x19, 0xda, 0x6c, 0x20, 0x0a, 0x70, 0x71, 0x37, 0xdf, 0x27, 0x4e, 0x40, 0xf5, 0x15, 0x29, 0xee, 2015 0xc5, 0x52, 0xae, 0x21, 0xba, 0x8c, 0x9f, 0xd2, 0x28, 0x4c, 0x68, 0x48, 0x71, 0xa2, 0x51, 0xfb, 2016 0xcd, 0x12, 0x94, 0x53, 0x63, 0x1d, 0xbe, 0x06, 0x95, 0x67, 0xe4, 0x05, 0x31, 0xe2, 0x51, 0x5d, 2017 0x46, 0xa2, 0xcc, 0xb1, 0x6e, 0x34, 0xae, 0xbf, 0x0f, 0xeb, 0x82, 0xe2, 0x8e, 0x42, 0xea, 0x1b, 2018 0xa6, 0x43, 0x82, 0x40, 0x04, 0xad, 0x28, 0xa8, 0x98, 0xcb, 0x3a, 0x5c, 0xd4, 0x88, 0x25, 0xf8, 2019 0x01, 0xac, 0x09, 0x8d, 0xe1, 0xc8, 0x09, 0x6d, 0xcf, 0xa1, 0x06, 0xff, 0x78, 0x08, 0x44, 0x21, 2020 0x4e, 0x3c, 0x5b, 0xe5, 0x8c, 0x83, 0x88, 0xc0, 0x3d, 0x0a, 0xf0, 0x3e, 0x5c, 0x11, 0x6a, 0x03, 2021 0xca, 0xa8, 0x4f, 0x42, 0x6a, 0xd0, 0x5f, 0x8e, 0x88, 0x13, 0x18, 0x84, 0x59, 0xc6, 0x29, 0x09, 2022 0x4e, 0xd5, 0xf5, 0xb4, 0x81, 0x4b, 0x9c, 0xbb, 0x1f, 0x51, 0x35, 0xc1, 0xac, 0x33, 0xeb, 0x13, 2023 0x12, 0x9c, 0xe2, 0x5d, 0xb8, 0x20, 0x0c, 0x05, 0xa1, 0x6f, 0xb3, 0x81, 0x61, 0x9e, 0x52, 0xf3, 2024 0xb9, 0x31, 0x0a, 0xfb, 0x8f, 0xd4, 0xcb, 0x69, 0x0b, 0xc2, 0xc9, 0x9e, 0xe0, 0x34, 0x38, 0xe5, 2025 0x38, 0xec, 0x3f, 0xc2, 0x3d, 0xa8, 0xf0, 0xf3, 0x18, 0xda, 0x9f, 0x53, 0xa3, 0xef, 0xfa, 0xa2, 2026 0xb9, 0x54, 0xe7, 0xbc, 0xdc, 0xa9, 0x20, 0x6e, 0x77, 0x22, 0x85, 0x03, 0xd7, 0xa2, 0xbb, 0xf9, 2027 0x5e, 0x57, 0xd3, 0x9a, 0x7a, 0x39, 0xb6, 0xf2, 0xd8, 0xf5, 0x79, 0x4e, 0x0d, 0xdc, 0x24, 0xc6, 2028 0x65, 0x99, 0x53, 0x03, 0x37, 0x8e, 0xf0, 0x03, 0x58, 0x33, 0x4d, 0xb9, 0x6d, 0xdb, 0x34, 0xa2, 2029 0x29, 0x3f, 0x50, 0xd1, 0x44, 0xbc, 0x4c, 0x73, 0x5f, 0x12, 0xa2, 0x34, 0x0f, 0xf0, 0x87, 0xf0, 2030 0xf6, 0x38, 0x5e, 0x69, 0xc5, 0xd5, 0x99, 0x5d, 0x4e, 0xab, 0x3e, 0x80, 0x35, 0xef, 0x6c, 0x56, 2031 0x11, 0x4f, 0x3c, 0xd1, 0x3b, 0x9b, 0x56, 0xbb, 0x21, 0xbe, 0xdc, 0x7c, 0x6a, 0x92, 0x90, 0x5a, 2032 0xea, 0xc5, 0x34, 0x3b, 0x25, 0xc0, 0x77, 0x01, 0x99, 0xa6, 0x41, 0x19, 0x39, 0x71, 0xa8, 0x41, 2033 0x7c, 0xca, 0x48, 0xa0, 0x5e, 0x4d, 0x93, 0xab, 0xa6, 0xa9, 0x09, 0x69, 0x5d, 0x08, 0xf1, 0x6d, 2034 0x58, 0x75, 0x4f, 0x9e, 0x99, 0x32, 0xb9, 0x0c, 0xcf, 0xa7, 0x7d, 0xfb, 0x95, 0x7a, 0x5d, 0x84, 2035 0x69, 0x85, 0x0b, 0x44, 0x6a, 0x75, 0x05, 0x8c, 0x6f, 0x01, 0x32, 0x83, 0x53, 0xe2, 0x7b, 0xa2, 2036 0xbb, 0x07, 0x1e, 0x31, 0xa9, 0x7a, 0x43, 0x52, 0x25, 0x7e, 0x18, 0xc3, 0xf8, 0x29, 0xac, 0x8f, 2037 0x98, 0xcd, 0x42, 0xea, 0x7b, 0x3e, 0xe5, 0x43, 0xba, 0x7c, 0xd3, 0xd4, 0x7f, 0x2f, 0x2d, 0x18, 2038 0xb3, 0x8f, 0xd3, 0x6c, 0x79, 0xba, 0xfa, 0xda, 0x68, 0x16, 0xac, 0xed, 0x42, 0x25, 0x7d, 0xe8, 2039 0xb8, 0x04, 0xf2, 0xd8, 0x91, 0xc2, 0x7b, 0x68, 0xa3, 0xd3, 0xe4, 0xdd, 0xef, 0x33, 0x0d, 0x65, 2040 0x78, 0x17, 0x6e, 0xb7, 0x8e, 0x34, 0x43, 0x3f, 0x3e, 0x3c, 0x6a, 0x1d, 0x68, 0x28, 0x7b, 0xbb, 2041 0x54, 0xfc, 0xcf, 0x12, 0x7a, 0xfd, 0xfa, 0xf5, 0xeb, 0x4c, 0xed, 0x6f, 0x19, 0xa8, 0x4e, 0x4e, 2042 0xbe, 0xf8, 0xc7, 0x70, 0x31, 0xfe, 0x4c, 0x0d, 0x68, 0x68, 0xbc, 0xb4, 0x7d, 0x91, 0x87, 0x43, 2043 0x22, 0x67, 0xc7, 0x24, 0x84, 0xeb, 0x11, 0xab, 0x47, 0xc3, 0x9f, 0xdb, 0x3e, 0xcf, 0xb2, 0x21, 2044 0x09, 0x71, 0x1b, 0xae, 0x32, 0xd7, 0x08, 0x42, 0xc2, 0x2c, 0xe2, 0x5b, 0xc6, 0xf8, 0x82, 0xc0, 2045 0x20, 0xa6, 0x49, 0x83, 0xc0, 0x95, 0x2d, 0x20, 0xb1, 0xf2, 0x0e, 0x73, 0x7b, 0x11, 0x79, 0x5c, 2046 0x1b, 0xeb, 0x11, 0x75, 0xea, 0xb8, 0xb3, 0x8b, 0x8e, 0xfb, 0x32, 0x94, 0x86, 0xc4, 0x33, 0x28, 2047 0x0b, 0xfd, 0x33, 0x31, 0xaf, 0x15, 0xf5, 0xe2, 0x90, 0x78, 0x1a, 0x5f, 0x7f, 0x73, 0x67, 0x90, 2048 0x8e, 0xe3, 0x3f, 0xb3, 0x50, 0x49, 0xcf, 0x6c, 0x7c, 0x04, 0x36, 0x45, 0x7d, 0x56, 0xc4, 0xeb, 2049 0xfb, 0xde, 0x57, 0x4e, 0x78, 0xdb, 0x0d, 0x5e, 0xb8, 0x77, 0x0b, 0x72, 0x92, 0xd2, 0xa5, 0x26, 2050 0x6f, 0x9a, 0xfc, 0x85, 0xa5, 0x72, 0x3e, 0x2f, 0xea, 0xd1, 0x0a, 0xef, 0x43, 0xe1, 0x59, 0x20, 2051 0x6c, 0x17, 0x84, 0xed, 0xeb, 0x5f, 0x6d, 0xfb, 0x49, 0x4f, 0x18, 0x2f, 0x3d, 0xe9, 0x19, 0x87, 2052 0x1d, 0xfd, 0xa0, 0xde, 0xd6, 0x23, 0x75, 0x7c, 0x09, 0x72, 0x0e, 0xf9, 0xfc, 0x6c, 0xb2, 0xc4, 2053 0x0b, 0xe8, 0xbc, 0x81, 0xbf, 0x04, 0xb9, 0x97, 0x94, 0x3c, 0x9f, 0x2c, 0xac, 0x02, 0xfa, 0x06, 2054 0x53, 0xff, 0x2e, 0xe4, 0x45, 0xbc, 0x30, 0x40, 0x14, 0x31, 0xf4, 0x16, 0x2e, 0x42, 0xae, 0xd1, 2055 0xd1, 0x79, 0xfa, 0x23, 0xa8, 0x48, 0xd4, 0xe8, 0xb6, 0xb4, 0x86, 0x86, 0x32, 0xb5, 0x07, 0x50, 2056 0x90, 0x41, 0xe0, 0xaf, 0x46, 0x12, 0x06, 0xf4, 0x56, 0xb4, 0x8c, 0x6c, 0x28, 0xb1, 0xf4, 0xf8, 2057 0x60, 0x4f, 0xd3, 0x51, 0x26, 0x7d, 0xbc, 0x01, 0x54, 0xd2, 0xe3, 0xda, 0xb7, 0x93, 0x53, 0x7f, 2058 0x55, 0xa0, 0x9c, 0x1a, 0xbf, 0x78, 0xe3, 0x27, 0x8e, 0xe3, 0xbe, 0x34, 0x88, 0x63, 0x93, 0x20, 2059 0x4a, 0x0a, 0x10, 0x50, 0x9d, 0x23, 0xe7, 0x3d, 0xb4, 0x6f, 0xc5, 0xf9, 0x3f, 0x2a, 0x80, 0xa6, 2060 0x47, 0xb7, 0x29, 0x07, 0x95, 0xef, 0xd4, 0xc1, 0x3f, 0x28, 0x50, 0x9d, 0x9c, 0xd7, 0xa6, 0xdc, 2061 0xbb, 0xf6, 0x9d, 0xba, 0xf7, 0x7b, 0x05, 0x96, 0x27, 0xa6, 0xb4, 0xef, 0x95, 0x77, 0xbf, 0xcb, 2062 0xc2, 0xda, 0x1c, 0x3d, 0x5c, 0x8f, 0xc6, 0x59, 0x39, 0x61, 0xff, 0xe8, 0x3c, 0xcf, 0xda, 0xe6, 2063 0xdd, 0xb2, 0x4b, 0xfc, 0x30, 0x9a, 0x7e, 0x6f, 0x01, 0xb2, 0x2d, 0xca, 0x42, 0xbb, 0x6f, 0x53, 2064 0x3f, 0xfa, 0x04, 0x97, 0x33, 0xee, 0xca, 0x18, 0x97, 0x5f, 0xe1, 0x3f, 0x04, 0xec, 0xb9, 0x81, 2065 0x1d, 0xda, 0x2f, 0xa8, 0x61, 0xb3, 0xf8, 0x7b, 0x9d, 0xcf, 0xbc, 0x39, 0x1d, 0xc5, 0x92, 0x16, 2066 0x0b, 0x13, 0x36, 0xa3, 0x03, 0x32, 0xc5, 0xe6, 0xb5, 0x2f, 0xab, 0xa3, 0x58, 0x92, 0xb0, 0xaf, 2067 0x41, 0xc5, 0x72, 0x47, 0x7c, 0x7c, 0x90, 0x3c, 0x5e, 0x6a, 0x15, 0xbd, 0x2c, 0xb1, 0x84, 0x12, 2068 0xcd, 0x77, 0xe3, 0x8b, 0x82, 0x8a, 0x5e, 0x96, 0x98, 0xa4, 0xdc, 0x84, 0x15, 0x32, 0x18, 0xf8, 2069 0xdc, 0x78, 0x6c, 0x48, 0x0e, 0xad, 0xd5, 0x04, 0x16, 0xc4, 0x8d, 0x27, 0x50, 0x8c, 0xe3, 0xc0, 2070 0xbb, 0x19, 0x8f, 0x84, 0xe1, 0xc9, 0xeb, 0x9a, 0xcc, 0x56, 0x49, 0x2f, 0xb2, 0x58, 0x78, 0x0d, 2071 0x2a, 0x76, 0x60, 0x8c, 0xef, 0x0d, 0x33, 0x9b, 0x99, 0xad, 0xa2, 0x5e, 0xb6, 0x83, 0xe4, 0xa2, 2072 0xa8, 0xf6, 0x65, 0x06, 0xaa, 0x93, 0xf7, 0x9e, 0xb8, 0x09, 0x45, 0xc7, 0x35, 0x89, 0x48, 0x04, 2073 0x79, 0xe9, 0xbe, 0xf5, 0x86, 0xab, 0xd2, 0xed, 0x76, 0xc4, 0xd7, 0x13, 0xcd, 0x8d, 0xbf, 0x2b, 2074 0x50, 0x8c, 0x61, 0x7c, 0x01, 0x72, 0x1e, 0x09, 0x4f, 0x85, 0xb9, 0xfc, 0x5e, 0x06, 0x29, 0xba, 2075 0x58, 0x73, 0x3c, 0xf0, 0x08, 0x13, 0x29, 0x10, 0xe1, 0x7c, 0xcd, 0xcf, 0xd5, 0xa1, 0xc4, 0x12, 2076 0xe3, 0xb0, 0x3b, 0x1c, 0x52, 0x16, 0x06, 0xf1, 0xb9, 0x46, 0x78, 0x23, 0x82, 0xf1, 0x1d, 0x58, 2077 0x0d, 0x7d, 0x62, 0x3b, 0x13, 0xdc, 0x9c, 0xe0, 0xa2, 0x58, 0x90, 0x90, 0x77, 0xe1, 0x52, 0x6c, 2078 0xd7, 0xa2, 0x21, 0x31, 0x4f, 0xa9, 0x35, 0x56, 0x2a, 0x88, 0x4b, 0xb5, 0x8b, 0x11, 0xa1, 0x19, 2079 0xc9, 0x63, 0xdd, 0xda, 0x3f, 0x14, 0x58, 0x8d, 0x07, 0x78, 0x2b, 0x09, 0xd6, 0x01, 0x00, 0x61, 2080 0xcc, 0x0d, 0xd3, 0xe1, 0x9a, 0x4d, 0xe5, 0x19, 0xbd, 0xed, 0x7a, 0xa2, 0xa4, 0xa7, 0x0c, 0x6c, 2081 0x0c, 0x01, 0xc6, 0x92, 0x85, 0x61, 0xbb, 0x0a, 0xe5, 0xe8, 0x52, 0x5b, 0xfc, 0x67, 0x44, 0x7e, 2082 0xf5, 0x81, 0x84, 0xf8, 0xa4, 0x8f, 0xd7, 0x21, 0x7f, 0x42, 0x07, 0x36, 0x8b, 0xae, 0xda, 0xe4, 2083 0x22, 0xbe, 0xc0, 0xcb, 0x25, 0x17, 0x78, 0x7b, 0xbf, 0x80, 0x35, 0xd3, 0x1d, 0x4e, 0xbb, 0xbb, 2084 0x87, 0xa6, 0xbe, 0x3c, 0x83, 0x4f, 0x94, 0xcf, 0x60, 0x3c, 0x9d, 0xfd, 0x49, 0x51, 0xbe, 0xc8, 2085 0x64, 0xf7, 0xbb, 0x7b, 0x7f, 0xce, 0x6c, 0xec, 0x4b, 0xd5, 0x6e, 0xbc, 0x53, 0x9d, 0xf6, 0x1d, 2086 0x6a, 0x72, 0xef, 0xff, 0x17, 0x00, 0x00, 0xff, 0xff, 0xd0, 0xf2, 0xf3, 0xa9, 0xf1, 0x19, 0x00, 2087 0x00, 2088} 2089