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