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