1// Code generated by protoc-gen-go. DO NOT EDIT.
2// versions:
3// 	protoc-gen-go v1.26.0
4// 	protoc        v3.17.3
5// source: validate/validate.proto
6
7package validate
8
9import (
10	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
11	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
12	descriptorpb "google.golang.org/protobuf/types/descriptorpb"
13	durationpb "google.golang.org/protobuf/types/known/durationpb"
14	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
15	reflect "reflect"
16	sync "sync"
17)
18
19const (
20	// Verify that this generated code is sufficiently up-to-date.
21	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
22	// Verify that runtime/protoimpl is sufficiently up-to-date.
23	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
24)
25
26// WellKnownRegex contain some well-known patterns.
27type KnownRegex int32
28
29const (
30	KnownRegex_UNKNOWN KnownRegex = 0
31	// HTTP header name as defined by RFC 7230.
32	KnownRegex_HTTP_HEADER_NAME KnownRegex = 1
33	// HTTP header value as defined by RFC 7230.
34	KnownRegex_HTTP_HEADER_VALUE KnownRegex = 2
35)
36
37// Enum value maps for KnownRegex.
38var (
39	KnownRegex_name = map[int32]string{
40		0: "UNKNOWN",
41		1: "HTTP_HEADER_NAME",
42		2: "HTTP_HEADER_VALUE",
43	}
44	KnownRegex_value = map[string]int32{
45		"UNKNOWN":           0,
46		"HTTP_HEADER_NAME":  1,
47		"HTTP_HEADER_VALUE": 2,
48	}
49)
50
51func (x KnownRegex) Enum() *KnownRegex {
52	p := new(KnownRegex)
53	*p = x
54	return p
55}
56
57func (x KnownRegex) String() string {
58	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
59}
60
61func (KnownRegex) Descriptor() protoreflect.EnumDescriptor {
62	return file_validate_validate_proto_enumTypes[0].Descriptor()
63}
64
65func (KnownRegex) Type() protoreflect.EnumType {
66	return &file_validate_validate_proto_enumTypes[0]
67}
68
69func (x KnownRegex) Number() protoreflect.EnumNumber {
70	return protoreflect.EnumNumber(x)
71}
72
73// Deprecated: Do not use.
74func (x *KnownRegex) UnmarshalJSON(b []byte) error {
75	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
76	if err != nil {
77		return err
78	}
79	*x = KnownRegex(num)
80	return nil
81}
82
83// Deprecated: Use KnownRegex.Descriptor instead.
84func (KnownRegex) EnumDescriptor() ([]byte, []int) {
85	return file_validate_validate_proto_rawDescGZIP(), []int{0}
86}
87
88// FieldRules encapsulates the rules for each type of field. Depending on the
89// field, the correct set should be used to ensure proper validations.
90type FieldRules struct {
91	state         protoimpl.MessageState
92	sizeCache     protoimpl.SizeCache
93	unknownFields protoimpl.UnknownFields
94
95	Message *MessageRules `protobuf:"bytes,17,opt,name=message" json:"message,omitempty"`
96	// Types that are assignable to Type:
97	//	*FieldRules_Float
98	//	*FieldRules_Double
99	//	*FieldRules_Int32
100	//	*FieldRules_Int64
101	//	*FieldRules_Uint32
102	//	*FieldRules_Uint64
103	//	*FieldRules_Sint32
104	//	*FieldRules_Sint64
105	//	*FieldRules_Fixed32
106	//	*FieldRules_Fixed64
107	//	*FieldRules_Sfixed32
108	//	*FieldRules_Sfixed64
109	//	*FieldRules_Bool
110	//	*FieldRules_String_
111	//	*FieldRules_Bytes
112	//	*FieldRules_Enum
113	//	*FieldRules_Repeated
114	//	*FieldRules_Map
115	//	*FieldRules_Any
116	//	*FieldRules_Duration
117	//	*FieldRules_Timestamp
118	Type isFieldRules_Type `protobuf_oneof:"type"`
119}
120
121func (x *FieldRules) Reset() {
122	*x = FieldRules{}
123	if protoimpl.UnsafeEnabled {
124		mi := &file_validate_validate_proto_msgTypes[0]
125		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
126		ms.StoreMessageInfo(mi)
127	}
128}
129
130func (x *FieldRules) String() string {
131	return protoimpl.X.MessageStringOf(x)
132}
133
134func (*FieldRules) ProtoMessage() {}
135
136func (x *FieldRules) ProtoReflect() protoreflect.Message {
137	mi := &file_validate_validate_proto_msgTypes[0]
138	if protoimpl.UnsafeEnabled && x != nil {
139		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
140		if ms.LoadMessageInfo() == nil {
141			ms.StoreMessageInfo(mi)
142		}
143		return ms
144	}
145	return mi.MessageOf(x)
146}
147
148// Deprecated: Use FieldRules.ProtoReflect.Descriptor instead.
149func (*FieldRules) Descriptor() ([]byte, []int) {
150	return file_validate_validate_proto_rawDescGZIP(), []int{0}
151}
152
153func (x *FieldRules) GetMessage() *MessageRules {
154	if x != nil {
155		return x.Message
156	}
157	return nil
158}
159
160func (m *FieldRules) GetType() isFieldRules_Type {
161	if m != nil {
162		return m.Type
163	}
164	return nil
165}
166
167func (x *FieldRules) GetFloat() *FloatRules {
168	if x, ok := x.GetType().(*FieldRules_Float); ok {
169		return x.Float
170	}
171	return nil
172}
173
174func (x *FieldRules) GetDouble() *DoubleRules {
175	if x, ok := x.GetType().(*FieldRules_Double); ok {
176		return x.Double
177	}
178	return nil
179}
180
181func (x *FieldRules) GetInt32() *Int32Rules {
182	if x, ok := x.GetType().(*FieldRules_Int32); ok {
183		return x.Int32
184	}
185	return nil
186}
187
188func (x *FieldRules) GetInt64() *Int64Rules {
189	if x, ok := x.GetType().(*FieldRules_Int64); ok {
190		return x.Int64
191	}
192	return nil
193}
194
195func (x *FieldRules) GetUint32() *UInt32Rules {
196	if x, ok := x.GetType().(*FieldRules_Uint32); ok {
197		return x.Uint32
198	}
199	return nil
200}
201
202func (x *FieldRules) GetUint64() *UInt64Rules {
203	if x, ok := x.GetType().(*FieldRules_Uint64); ok {
204		return x.Uint64
205	}
206	return nil
207}
208
209func (x *FieldRules) GetSint32() *SInt32Rules {
210	if x, ok := x.GetType().(*FieldRules_Sint32); ok {
211		return x.Sint32
212	}
213	return nil
214}
215
216func (x *FieldRules) GetSint64() *SInt64Rules {
217	if x, ok := x.GetType().(*FieldRules_Sint64); ok {
218		return x.Sint64
219	}
220	return nil
221}
222
223func (x *FieldRules) GetFixed32() *Fixed32Rules {
224	if x, ok := x.GetType().(*FieldRules_Fixed32); ok {
225		return x.Fixed32
226	}
227	return nil
228}
229
230func (x *FieldRules) GetFixed64() *Fixed64Rules {
231	if x, ok := x.GetType().(*FieldRules_Fixed64); ok {
232		return x.Fixed64
233	}
234	return nil
235}
236
237func (x *FieldRules) GetSfixed32() *SFixed32Rules {
238	if x, ok := x.GetType().(*FieldRules_Sfixed32); ok {
239		return x.Sfixed32
240	}
241	return nil
242}
243
244func (x *FieldRules) GetSfixed64() *SFixed64Rules {
245	if x, ok := x.GetType().(*FieldRules_Sfixed64); ok {
246		return x.Sfixed64
247	}
248	return nil
249}
250
251func (x *FieldRules) GetBool() *BoolRules {
252	if x, ok := x.GetType().(*FieldRules_Bool); ok {
253		return x.Bool
254	}
255	return nil
256}
257
258func (x *FieldRules) GetString_() *StringRules {
259	if x, ok := x.GetType().(*FieldRules_String_); ok {
260		return x.String_
261	}
262	return nil
263}
264
265func (x *FieldRules) GetBytes() *BytesRules {
266	if x, ok := x.GetType().(*FieldRules_Bytes); ok {
267		return x.Bytes
268	}
269	return nil
270}
271
272func (x *FieldRules) GetEnum() *EnumRules {
273	if x, ok := x.GetType().(*FieldRules_Enum); ok {
274		return x.Enum
275	}
276	return nil
277}
278
279func (x *FieldRules) GetRepeated() *RepeatedRules {
280	if x, ok := x.GetType().(*FieldRules_Repeated); ok {
281		return x.Repeated
282	}
283	return nil
284}
285
286func (x *FieldRules) GetMap() *MapRules {
287	if x, ok := x.GetType().(*FieldRules_Map); ok {
288		return x.Map
289	}
290	return nil
291}
292
293func (x *FieldRules) GetAny() *AnyRules {
294	if x, ok := x.GetType().(*FieldRules_Any); ok {
295		return x.Any
296	}
297	return nil
298}
299
300func (x *FieldRules) GetDuration() *DurationRules {
301	if x, ok := x.GetType().(*FieldRules_Duration); ok {
302		return x.Duration
303	}
304	return nil
305}
306
307func (x *FieldRules) GetTimestamp() *TimestampRules {
308	if x, ok := x.GetType().(*FieldRules_Timestamp); ok {
309		return x.Timestamp
310	}
311	return nil
312}
313
314type isFieldRules_Type interface {
315	isFieldRules_Type()
316}
317
318type FieldRules_Float struct {
319	// Scalar Field Types
320	Float *FloatRules `protobuf:"bytes,1,opt,name=float,oneof"`
321}
322
323type FieldRules_Double struct {
324	Double *DoubleRules `protobuf:"bytes,2,opt,name=double,oneof"`
325}
326
327type FieldRules_Int32 struct {
328	Int32 *Int32Rules `protobuf:"bytes,3,opt,name=int32,oneof"`
329}
330
331type FieldRules_Int64 struct {
332	Int64 *Int64Rules `protobuf:"bytes,4,opt,name=int64,oneof"`
333}
334
335type FieldRules_Uint32 struct {
336	Uint32 *UInt32Rules `protobuf:"bytes,5,opt,name=uint32,oneof"`
337}
338
339type FieldRules_Uint64 struct {
340	Uint64 *UInt64Rules `protobuf:"bytes,6,opt,name=uint64,oneof"`
341}
342
343type FieldRules_Sint32 struct {
344	Sint32 *SInt32Rules `protobuf:"bytes,7,opt,name=sint32,oneof"`
345}
346
347type FieldRules_Sint64 struct {
348	Sint64 *SInt64Rules `protobuf:"bytes,8,opt,name=sint64,oneof"`
349}
350
351type FieldRules_Fixed32 struct {
352	Fixed32 *Fixed32Rules `protobuf:"bytes,9,opt,name=fixed32,oneof"`
353}
354
355type FieldRules_Fixed64 struct {
356	Fixed64 *Fixed64Rules `protobuf:"bytes,10,opt,name=fixed64,oneof"`
357}
358
359type FieldRules_Sfixed32 struct {
360	Sfixed32 *SFixed32Rules `protobuf:"bytes,11,opt,name=sfixed32,oneof"`
361}
362
363type FieldRules_Sfixed64 struct {
364	Sfixed64 *SFixed64Rules `protobuf:"bytes,12,opt,name=sfixed64,oneof"`
365}
366
367type FieldRules_Bool struct {
368	Bool *BoolRules `protobuf:"bytes,13,opt,name=bool,oneof"`
369}
370
371type FieldRules_String_ struct {
372	String_ *StringRules `protobuf:"bytes,14,opt,name=string,oneof"`
373}
374
375type FieldRules_Bytes struct {
376	Bytes *BytesRules `protobuf:"bytes,15,opt,name=bytes,oneof"`
377}
378
379type FieldRules_Enum struct {
380	// Complex Field Types
381	Enum *EnumRules `protobuf:"bytes,16,opt,name=enum,oneof"`
382}
383
384type FieldRules_Repeated struct {
385	Repeated *RepeatedRules `protobuf:"bytes,18,opt,name=repeated,oneof"`
386}
387
388type FieldRules_Map struct {
389	Map *MapRules `protobuf:"bytes,19,opt,name=map,oneof"`
390}
391
392type FieldRules_Any struct {
393	// Well-Known Field Types
394	Any *AnyRules `protobuf:"bytes,20,opt,name=any,oneof"`
395}
396
397type FieldRules_Duration struct {
398	Duration *DurationRules `protobuf:"bytes,21,opt,name=duration,oneof"`
399}
400
401type FieldRules_Timestamp struct {
402	Timestamp *TimestampRules `protobuf:"bytes,22,opt,name=timestamp,oneof"`
403}
404
405func (*FieldRules_Float) isFieldRules_Type() {}
406
407func (*FieldRules_Double) isFieldRules_Type() {}
408
409func (*FieldRules_Int32) isFieldRules_Type() {}
410
411func (*FieldRules_Int64) isFieldRules_Type() {}
412
413func (*FieldRules_Uint32) isFieldRules_Type() {}
414
415func (*FieldRules_Uint64) isFieldRules_Type() {}
416
417func (*FieldRules_Sint32) isFieldRules_Type() {}
418
419func (*FieldRules_Sint64) isFieldRules_Type() {}
420
421func (*FieldRules_Fixed32) isFieldRules_Type() {}
422
423func (*FieldRules_Fixed64) isFieldRules_Type() {}
424
425func (*FieldRules_Sfixed32) isFieldRules_Type() {}
426
427func (*FieldRules_Sfixed64) isFieldRules_Type() {}
428
429func (*FieldRules_Bool) isFieldRules_Type() {}
430
431func (*FieldRules_String_) isFieldRules_Type() {}
432
433func (*FieldRules_Bytes) isFieldRules_Type() {}
434
435func (*FieldRules_Enum) isFieldRules_Type() {}
436
437func (*FieldRules_Repeated) isFieldRules_Type() {}
438
439func (*FieldRules_Map) isFieldRules_Type() {}
440
441func (*FieldRules_Any) isFieldRules_Type() {}
442
443func (*FieldRules_Duration) isFieldRules_Type() {}
444
445func (*FieldRules_Timestamp) isFieldRules_Type() {}
446
447// FloatRules describes the constraints applied to `float` values
448type FloatRules struct {
449	state         protoimpl.MessageState
450	sizeCache     protoimpl.SizeCache
451	unknownFields protoimpl.UnknownFields
452
453	// Const specifies that this field must be exactly the specified value
454	Const *float32 `protobuf:"fixed32,1,opt,name=const" json:"const,omitempty"`
455	// Lt specifies that this field must be less than the specified value,
456	// exclusive
457	Lt *float32 `protobuf:"fixed32,2,opt,name=lt" json:"lt,omitempty"`
458	// Lte specifies that this field must be less than or equal to the
459	// specified value, inclusive
460	Lte *float32 `protobuf:"fixed32,3,opt,name=lte" json:"lte,omitempty"`
461	// Gt specifies that this field must be greater than the specified value,
462	// exclusive. If the value of Gt is larger than a specified Lt or Lte, the
463	// range is reversed.
464	Gt *float32 `protobuf:"fixed32,4,opt,name=gt" json:"gt,omitempty"`
465	// Gte specifies that this field must be greater than or equal to the
466	// specified value, inclusive. If the value of Gte is larger than a
467	// specified Lt or Lte, the range is reversed.
468	Gte *float32 `protobuf:"fixed32,5,opt,name=gte" json:"gte,omitempty"`
469	// In specifies that this field must be equal to one of the specified
470	// values
471	In []float32 `protobuf:"fixed32,6,rep,name=in" json:"in,omitempty"`
472	// NotIn specifies that this field cannot be equal to one of the specified
473	// values
474	NotIn []float32 `protobuf:"fixed32,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"`
475	// IgnoreEmpty specifies that the validation rules of this field should be
476	// evaluated only if the field is not empty
477	IgnoreEmpty *bool `protobuf:"varint,8,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"`
478}
479
480func (x *FloatRules) Reset() {
481	*x = FloatRules{}
482	if protoimpl.UnsafeEnabled {
483		mi := &file_validate_validate_proto_msgTypes[1]
484		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
485		ms.StoreMessageInfo(mi)
486	}
487}
488
489func (x *FloatRules) String() string {
490	return protoimpl.X.MessageStringOf(x)
491}
492
493func (*FloatRules) ProtoMessage() {}
494
495func (x *FloatRules) ProtoReflect() protoreflect.Message {
496	mi := &file_validate_validate_proto_msgTypes[1]
497	if protoimpl.UnsafeEnabled && x != nil {
498		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
499		if ms.LoadMessageInfo() == nil {
500			ms.StoreMessageInfo(mi)
501		}
502		return ms
503	}
504	return mi.MessageOf(x)
505}
506
507// Deprecated: Use FloatRules.ProtoReflect.Descriptor instead.
508func (*FloatRules) Descriptor() ([]byte, []int) {
509	return file_validate_validate_proto_rawDescGZIP(), []int{1}
510}
511
512func (x *FloatRules) GetConst() float32 {
513	if x != nil && x.Const != nil {
514		return *x.Const
515	}
516	return 0
517}
518
519func (x *FloatRules) GetLt() float32 {
520	if x != nil && x.Lt != nil {
521		return *x.Lt
522	}
523	return 0
524}
525
526func (x *FloatRules) GetLte() float32 {
527	if x != nil && x.Lte != nil {
528		return *x.Lte
529	}
530	return 0
531}
532
533func (x *FloatRules) GetGt() float32 {
534	if x != nil && x.Gt != nil {
535		return *x.Gt
536	}
537	return 0
538}
539
540func (x *FloatRules) GetGte() float32 {
541	if x != nil && x.Gte != nil {
542		return *x.Gte
543	}
544	return 0
545}
546
547func (x *FloatRules) GetIn() []float32 {
548	if x != nil {
549		return x.In
550	}
551	return nil
552}
553
554func (x *FloatRules) GetNotIn() []float32 {
555	if x != nil {
556		return x.NotIn
557	}
558	return nil
559}
560
561func (x *FloatRules) GetIgnoreEmpty() bool {
562	if x != nil && x.IgnoreEmpty != nil {
563		return *x.IgnoreEmpty
564	}
565	return false
566}
567
568// DoubleRules describes the constraints applied to `double` values
569type DoubleRules struct {
570	state         protoimpl.MessageState
571	sizeCache     protoimpl.SizeCache
572	unknownFields protoimpl.UnknownFields
573
574	// Const specifies that this field must be exactly the specified value
575	Const *float64 `protobuf:"fixed64,1,opt,name=const" json:"const,omitempty"`
576	// Lt specifies that this field must be less than the specified value,
577	// exclusive
578	Lt *float64 `protobuf:"fixed64,2,opt,name=lt" json:"lt,omitempty"`
579	// Lte specifies that this field must be less than or equal to the
580	// specified value, inclusive
581	Lte *float64 `protobuf:"fixed64,3,opt,name=lte" json:"lte,omitempty"`
582	// Gt specifies that this field must be greater than the specified value,
583	// exclusive. If the value of Gt is larger than a specified Lt or Lte, the
584	// range is reversed.
585	Gt *float64 `protobuf:"fixed64,4,opt,name=gt" json:"gt,omitempty"`
586	// Gte specifies that this field must be greater than or equal to the
587	// specified value, inclusive. If the value of Gte is larger than a
588	// specified Lt or Lte, the range is reversed.
589	Gte *float64 `protobuf:"fixed64,5,opt,name=gte" json:"gte,omitempty"`
590	// In specifies that this field must be equal to one of the specified
591	// values
592	In []float64 `protobuf:"fixed64,6,rep,name=in" json:"in,omitempty"`
593	// NotIn specifies that this field cannot be equal to one of the specified
594	// values
595	NotIn []float64 `protobuf:"fixed64,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"`
596	// IgnoreEmpty specifies that the validation rules of this field should be
597	// evaluated only if the field is not empty
598	IgnoreEmpty *bool `protobuf:"varint,8,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"`
599}
600
601func (x *DoubleRules) Reset() {
602	*x = DoubleRules{}
603	if protoimpl.UnsafeEnabled {
604		mi := &file_validate_validate_proto_msgTypes[2]
605		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
606		ms.StoreMessageInfo(mi)
607	}
608}
609
610func (x *DoubleRules) String() string {
611	return protoimpl.X.MessageStringOf(x)
612}
613
614func (*DoubleRules) ProtoMessage() {}
615
616func (x *DoubleRules) ProtoReflect() protoreflect.Message {
617	mi := &file_validate_validate_proto_msgTypes[2]
618	if protoimpl.UnsafeEnabled && x != nil {
619		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
620		if ms.LoadMessageInfo() == nil {
621			ms.StoreMessageInfo(mi)
622		}
623		return ms
624	}
625	return mi.MessageOf(x)
626}
627
628// Deprecated: Use DoubleRules.ProtoReflect.Descriptor instead.
629func (*DoubleRules) Descriptor() ([]byte, []int) {
630	return file_validate_validate_proto_rawDescGZIP(), []int{2}
631}
632
633func (x *DoubleRules) GetConst() float64 {
634	if x != nil && x.Const != nil {
635		return *x.Const
636	}
637	return 0
638}
639
640func (x *DoubleRules) GetLt() float64 {
641	if x != nil && x.Lt != nil {
642		return *x.Lt
643	}
644	return 0
645}
646
647func (x *DoubleRules) GetLte() float64 {
648	if x != nil && x.Lte != nil {
649		return *x.Lte
650	}
651	return 0
652}
653
654func (x *DoubleRules) GetGt() float64 {
655	if x != nil && x.Gt != nil {
656		return *x.Gt
657	}
658	return 0
659}
660
661func (x *DoubleRules) GetGte() float64 {
662	if x != nil && x.Gte != nil {
663		return *x.Gte
664	}
665	return 0
666}
667
668func (x *DoubleRules) GetIn() []float64 {
669	if x != nil {
670		return x.In
671	}
672	return nil
673}
674
675func (x *DoubleRules) GetNotIn() []float64 {
676	if x != nil {
677		return x.NotIn
678	}
679	return nil
680}
681
682func (x *DoubleRules) GetIgnoreEmpty() bool {
683	if x != nil && x.IgnoreEmpty != nil {
684		return *x.IgnoreEmpty
685	}
686	return false
687}
688
689// Int32Rules describes the constraints applied to `int32` values
690type Int32Rules struct {
691	state         protoimpl.MessageState
692	sizeCache     protoimpl.SizeCache
693	unknownFields protoimpl.UnknownFields
694
695	// Const specifies that this field must be exactly the specified value
696	Const *int32 `protobuf:"varint,1,opt,name=const" json:"const,omitempty"`
697	// Lt specifies that this field must be less than the specified value,
698	// exclusive
699	Lt *int32 `protobuf:"varint,2,opt,name=lt" json:"lt,omitempty"`
700	// Lte specifies that this field must be less than or equal to the
701	// specified value, inclusive
702	Lte *int32 `protobuf:"varint,3,opt,name=lte" json:"lte,omitempty"`
703	// Gt specifies that this field must be greater than the specified value,
704	// exclusive. If the value of Gt is larger than a specified Lt or Lte, the
705	// range is reversed.
706	Gt *int32 `protobuf:"varint,4,opt,name=gt" json:"gt,omitempty"`
707	// Gte specifies that this field must be greater than or equal to the
708	// specified value, inclusive. If the value of Gte is larger than a
709	// specified Lt or Lte, the range is reversed.
710	Gte *int32 `protobuf:"varint,5,opt,name=gte" json:"gte,omitempty"`
711	// In specifies that this field must be equal to one of the specified
712	// values
713	In []int32 `protobuf:"varint,6,rep,name=in" json:"in,omitempty"`
714	// NotIn specifies that this field cannot be equal to one of the specified
715	// values
716	NotIn []int32 `protobuf:"varint,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"`
717	// IgnoreEmpty specifies that the validation rules of this field should be
718	// evaluated only if the field is not empty
719	IgnoreEmpty *bool `protobuf:"varint,8,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"`
720}
721
722func (x *Int32Rules) Reset() {
723	*x = Int32Rules{}
724	if protoimpl.UnsafeEnabled {
725		mi := &file_validate_validate_proto_msgTypes[3]
726		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
727		ms.StoreMessageInfo(mi)
728	}
729}
730
731func (x *Int32Rules) String() string {
732	return protoimpl.X.MessageStringOf(x)
733}
734
735func (*Int32Rules) ProtoMessage() {}
736
737func (x *Int32Rules) ProtoReflect() protoreflect.Message {
738	mi := &file_validate_validate_proto_msgTypes[3]
739	if protoimpl.UnsafeEnabled && x != nil {
740		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
741		if ms.LoadMessageInfo() == nil {
742			ms.StoreMessageInfo(mi)
743		}
744		return ms
745	}
746	return mi.MessageOf(x)
747}
748
749// Deprecated: Use Int32Rules.ProtoReflect.Descriptor instead.
750func (*Int32Rules) Descriptor() ([]byte, []int) {
751	return file_validate_validate_proto_rawDescGZIP(), []int{3}
752}
753
754func (x *Int32Rules) GetConst() int32 {
755	if x != nil && x.Const != nil {
756		return *x.Const
757	}
758	return 0
759}
760
761func (x *Int32Rules) GetLt() int32 {
762	if x != nil && x.Lt != nil {
763		return *x.Lt
764	}
765	return 0
766}
767
768func (x *Int32Rules) GetLte() int32 {
769	if x != nil && x.Lte != nil {
770		return *x.Lte
771	}
772	return 0
773}
774
775func (x *Int32Rules) GetGt() int32 {
776	if x != nil && x.Gt != nil {
777		return *x.Gt
778	}
779	return 0
780}
781
782func (x *Int32Rules) GetGte() int32 {
783	if x != nil && x.Gte != nil {
784		return *x.Gte
785	}
786	return 0
787}
788
789func (x *Int32Rules) GetIn() []int32 {
790	if x != nil {
791		return x.In
792	}
793	return nil
794}
795
796func (x *Int32Rules) GetNotIn() []int32 {
797	if x != nil {
798		return x.NotIn
799	}
800	return nil
801}
802
803func (x *Int32Rules) GetIgnoreEmpty() bool {
804	if x != nil && x.IgnoreEmpty != nil {
805		return *x.IgnoreEmpty
806	}
807	return false
808}
809
810// Int64Rules describes the constraints applied to `int64` values
811type Int64Rules struct {
812	state         protoimpl.MessageState
813	sizeCache     protoimpl.SizeCache
814	unknownFields protoimpl.UnknownFields
815
816	// Const specifies that this field must be exactly the specified value
817	Const *int64 `protobuf:"varint,1,opt,name=const" json:"const,omitempty"`
818	// Lt specifies that this field must be less than the specified value,
819	// exclusive
820	Lt *int64 `protobuf:"varint,2,opt,name=lt" json:"lt,omitempty"`
821	// Lte specifies that this field must be less than or equal to the
822	// specified value, inclusive
823	Lte *int64 `protobuf:"varint,3,opt,name=lte" json:"lte,omitempty"`
824	// Gt specifies that this field must be greater than the specified value,
825	// exclusive. If the value of Gt is larger than a specified Lt or Lte, the
826	// range is reversed.
827	Gt *int64 `protobuf:"varint,4,opt,name=gt" json:"gt,omitempty"`
828	// Gte specifies that this field must be greater than or equal to the
829	// specified value, inclusive. If the value of Gte is larger than a
830	// specified Lt or Lte, the range is reversed.
831	Gte *int64 `protobuf:"varint,5,opt,name=gte" json:"gte,omitempty"`
832	// In specifies that this field must be equal to one of the specified
833	// values
834	In []int64 `protobuf:"varint,6,rep,name=in" json:"in,omitempty"`
835	// NotIn specifies that this field cannot be equal to one of the specified
836	// values
837	NotIn []int64 `protobuf:"varint,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"`
838	// IgnoreEmpty specifies that the validation rules of this field should be
839	// evaluated only if the field is not empty
840	IgnoreEmpty *bool `protobuf:"varint,8,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"`
841}
842
843func (x *Int64Rules) Reset() {
844	*x = Int64Rules{}
845	if protoimpl.UnsafeEnabled {
846		mi := &file_validate_validate_proto_msgTypes[4]
847		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
848		ms.StoreMessageInfo(mi)
849	}
850}
851
852func (x *Int64Rules) String() string {
853	return protoimpl.X.MessageStringOf(x)
854}
855
856func (*Int64Rules) ProtoMessage() {}
857
858func (x *Int64Rules) ProtoReflect() protoreflect.Message {
859	mi := &file_validate_validate_proto_msgTypes[4]
860	if protoimpl.UnsafeEnabled && x != nil {
861		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
862		if ms.LoadMessageInfo() == nil {
863			ms.StoreMessageInfo(mi)
864		}
865		return ms
866	}
867	return mi.MessageOf(x)
868}
869
870// Deprecated: Use Int64Rules.ProtoReflect.Descriptor instead.
871func (*Int64Rules) Descriptor() ([]byte, []int) {
872	return file_validate_validate_proto_rawDescGZIP(), []int{4}
873}
874
875func (x *Int64Rules) GetConst() int64 {
876	if x != nil && x.Const != nil {
877		return *x.Const
878	}
879	return 0
880}
881
882func (x *Int64Rules) GetLt() int64 {
883	if x != nil && x.Lt != nil {
884		return *x.Lt
885	}
886	return 0
887}
888
889func (x *Int64Rules) GetLte() int64 {
890	if x != nil && x.Lte != nil {
891		return *x.Lte
892	}
893	return 0
894}
895
896func (x *Int64Rules) GetGt() int64 {
897	if x != nil && x.Gt != nil {
898		return *x.Gt
899	}
900	return 0
901}
902
903func (x *Int64Rules) GetGte() int64 {
904	if x != nil && x.Gte != nil {
905		return *x.Gte
906	}
907	return 0
908}
909
910func (x *Int64Rules) GetIn() []int64 {
911	if x != nil {
912		return x.In
913	}
914	return nil
915}
916
917func (x *Int64Rules) GetNotIn() []int64 {
918	if x != nil {
919		return x.NotIn
920	}
921	return nil
922}
923
924func (x *Int64Rules) GetIgnoreEmpty() bool {
925	if x != nil && x.IgnoreEmpty != nil {
926		return *x.IgnoreEmpty
927	}
928	return false
929}
930
931// UInt32Rules describes the constraints applied to `uint32` values
932type UInt32Rules struct {
933	state         protoimpl.MessageState
934	sizeCache     protoimpl.SizeCache
935	unknownFields protoimpl.UnknownFields
936
937	// Const specifies that this field must be exactly the specified value
938	Const *uint32 `protobuf:"varint,1,opt,name=const" json:"const,omitempty"`
939	// Lt specifies that this field must be less than the specified value,
940	// exclusive
941	Lt *uint32 `protobuf:"varint,2,opt,name=lt" json:"lt,omitempty"`
942	// Lte specifies that this field must be less than or equal to the
943	// specified value, inclusive
944	Lte *uint32 `protobuf:"varint,3,opt,name=lte" json:"lte,omitempty"`
945	// Gt specifies that this field must be greater than the specified value,
946	// exclusive. If the value of Gt is larger than a specified Lt or Lte, the
947	// range is reversed.
948	Gt *uint32 `protobuf:"varint,4,opt,name=gt" json:"gt,omitempty"`
949	// Gte specifies that this field must be greater than or equal to the
950	// specified value, inclusive. If the value of Gte is larger than a
951	// specified Lt or Lte, the range is reversed.
952	Gte *uint32 `protobuf:"varint,5,opt,name=gte" json:"gte,omitempty"`
953	// In specifies that this field must be equal to one of the specified
954	// values
955	In []uint32 `protobuf:"varint,6,rep,name=in" json:"in,omitempty"`
956	// NotIn specifies that this field cannot be equal to one of the specified
957	// values
958	NotIn []uint32 `protobuf:"varint,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"`
959	// IgnoreEmpty specifies that the validation rules of this field should be
960	// evaluated only if the field is not empty
961	IgnoreEmpty *bool `protobuf:"varint,8,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"`
962}
963
964func (x *UInt32Rules) Reset() {
965	*x = UInt32Rules{}
966	if protoimpl.UnsafeEnabled {
967		mi := &file_validate_validate_proto_msgTypes[5]
968		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
969		ms.StoreMessageInfo(mi)
970	}
971}
972
973func (x *UInt32Rules) String() string {
974	return protoimpl.X.MessageStringOf(x)
975}
976
977func (*UInt32Rules) ProtoMessage() {}
978
979func (x *UInt32Rules) ProtoReflect() protoreflect.Message {
980	mi := &file_validate_validate_proto_msgTypes[5]
981	if protoimpl.UnsafeEnabled && x != nil {
982		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
983		if ms.LoadMessageInfo() == nil {
984			ms.StoreMessageInfo(mi)
985		}
986		return ms
987	}
988	return mi.MessageOf(x)
989}
990
991// Deprecated: Use UInt32Rules.ProtoReflect.Descriptor instead.
992func (*UInt32Rules) Descriptor() ([]byte, []int) {
993	return file_validate_validate_proto_rawDescGZIP(), []int{5}
994}
995
996func (x *UInt32Rules) GetConst() uint32 {
997	if x != nil && x.Const != nil {
998		return *x.Const
999	}
1000	return 0
1001}
1002
1003func (x *UInt32Rules) GetLt() uint32 {
1004	if x != nil && x.Lt != nil {
1005		return *x.Lt
1006	}
1007	return 0
1008}
1009
1010func (x *UInt32Rules) GetLte() uint32 {
1011	if x != nil && x.Lte != nil {
1012		return *x.Lte
1013	}
1014	return 0
1015}
1016
1017func (x *UInt32Rules) GetGt() uint32 {
1018	if x != nil && x.Gt != nil {
1019		return *x.Gt
1020	}
1021	return 0
1022}
1023
1024func (x *UInt32Rules) GetGte() uint32 {
1025	if x != nil && x.Gte != nil {
1026		return *x.Gte
1027	}
1028	return 0
1029}
1030
1031func (x *UInt32Rules) GetIn() []uint32 {
1032	if x != nil {
1033		return x.In
1034	}
1035	return nil
1036}
1037
1038func (x *UInt32Rules) GetNotIn() []uint32 {
1039	if x != nil {
1040		return x.NotIn
1041	}
1042	return nil
1043}
1044
1045func (x *UInt32Rules) GetIgnoreEmpty() bool {
1046	if x != nil && x.IgnoreEmpty != nil {
1047		return *x.IgnoreEmpty
1048	}
1049	return false
1050}
1051
1052// UInt64Rules describes the constraints applied to `uint64` values
1053type UInt64Rules struct {
1054	state         protoimpl.MessageState
1055	sizeCache     protoimpl.SizeCache
1056	unknownFields protoimpl.UnknownFields
1057
1058	// Const specifies that this field must be exactly the specified value
1059	Const *uint64 `protobuf:"varint,1,opt,name=const" json:"const,omitempty"`
1060	// Lt specifies that this field must be less than the specified value,
1061	// exclusive
1062	Lt *uint64 `protobuf:"varint,2,opt,name=lt" json:"lt,omitempty"`
1063	// Lte specifies that this field must be less than or equal to the
1064	// specified value, inclusive
1065	Lte *uint64 `protobuf:"varint,3,opt,name=lte" json:"lte,omitempty"`
1066	// Gt specifies that this field must be greater than the specified value,
1067	// exclusive. If the value of Gt is larger than a specified Lt or Lte, the
1068	// range is reversed.
1069	Gt *uint64 `protobuf:"varint,4,opt,name=gt" json:"gt,omitempty"`
1070	// Gte specifies that this field must be greater than or equal to the
1071	// specified value, inclusive. If the value of Gte is larger than a
1072	// specified Lt or Lte, the range is reversed.
1073	Gte *uint64 `protobuf:"varint,5,opt,name=gte" json:"gte,omitempty"`
1074	// In specifies that this field must be equal to one of the specified
1075	// values
1076	In []uint64 `protobuf:"varint,6,rep,name=in" json:"in,omitempty"`
1077	// NotIn specifies that this field cannot be equal to one of the specified
1078	// values
1079	NotIn []uint64 `protobuf:"varint,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"`
1080	// IgnoreEmpty specifies that the validation rules of this field should be
1081	// evaluated only if the field is not empty
1082	IgnoreEmpty *bool `protobuf:"varint,8,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"`
1083}
1084
1085func (x *UInt64Rules) Reset() {
1086	*x = UInt64Rules{}
1087	if protoimpl.UnsafeEnabled {
1088		mi := &file_validate_validate_proto_msgTypes[6]
1089		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1090		ms.StoreMessageInfo(mi)
1091	}
1092}
1093
1094func (x *UInt64Rules) String() string {
1095	return protoimpl.X.MessageStringOf(x)
1096}
1097
1098func (*UInt64Rules) ProtoMessage() {}
1099
1100func (x *UInt64Rules) ProtoReflect() protoreflect.Message {
1101	mi := &file_validate_validate_proto_msgTypes[6]
1102	if protoimpl.UnsafeEnabled && x != nil {
1103		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1104		if ms.LoadMessageInfo() == nil {
1105			ms.StoreMessageInfo(mi)
1106		}
1107		return ms
1108	}
1109	return mi.MessageOf(x)
1110}
1111
1112// Deprecated: Use UInt64Rules.ProtoReflect.Descriptor instead.
1113func (*UInt64Rules) Descriptor() ([]byte, []int) {
1114	return file_validate_validate_proto_rawDescGZIP(), []int{6}
1115}
1116
1117func (x *UInt64Rules) GetConst() uint64 {
1118	if x != nil && x.Const != nil {
1119		return *x.Const
1120	}
1121	return 0
1122}
1123
1124func (x *UInt64Rules) GetLt() uint64 {
1125	if x != nil && x.Lt != nil {
1126		return *x.Lt
1127	}
1128	return 0
1129}
1130
1131func (x *UInt64Rules) GetLte() uint64 {
1132	if x != nil && x.Lte != nil {
1133		return *x.Lte
1134	}
1135	return 0
1136}
1137
1138func (x *UInt64Rules) GetGt() uint64 {
1139	if x != nil && x.Gt != nil {
1140		return *x.Gt
1141	}
1142	return 0
1143}
1144
1145func (x *UInt64Rules) GetGte() uint64 {
1146	if x != nil && x.Gte != nil {
1147		return *x.Gte
1148	}
1149	return 0
1150}
1151
1152func (x *UInt64Rules) GetIn() []uint64 {
1153	if x != nil {
1154		return x.In
1155	}
1156	return nil
1157}
1158
1159func (x *UInt64Rules) GetNotIn() []uint64 {
1160	if x != nil {
1161		return x.NotIn
1162	}
1163	return nil
1164}
1165
1166func (x *UInt64Rules) GetIgnoreEmpty() bool {
1167	if x != nil && x.IgnoreEmpty != nil {
1168		return *x.IgnoreEmpty
1169	}
1170	return false
1171}
1172
1173// SInt32Rules describes the constraints applied to `sint32` values
1174type SInt32Rules struct {
1175	state         protoimpl.MessageState
1176	sizeCache     protoimpl.SizeCache
1177	unknownFields protoimpl.UnknownFields
1178
1179	// Const specifies that this field must be exactly the specified value
1180	Const *int32 `protobuf:"zigzag32,1,opt,name=const" json:"const,omitempty"`
1181	// Lt specifies that this field must be less than the specified value,
1182	// exclusive
1183	Lt *int32 `protobuf:"zigzag32,2,opt,name=lt" json:"lt,omitempty"`
1184	// Lte specifies that this field must be less than or equal to the
1185	// specified value, inclusive
1186	Lte *int32 `protobuf:"zigzag32,3,opt,name=lte" json:"lte,omitempty"`
1187	// Gt specifies that this field must be greater than the specified value,
1188	// exclusive. If the value of Gt is larger than a specified Lt or Lte, the
1189	// range is reversed.
1190	Gt *int32 `protobuf:"zigzag32,4,opt,name=gt" json:"gt,omitempty"`
1191	// Gte specifies that this field must be greater than or equal to the
1192	// specified value, inclusive. If the value of Gte is larger than a
1193	// specified Lt or Lte, the range is reversed.
1194	Gte *int32 `protobuf:"zigzag32,5,opt,name=gte" json:"gte,omitempty"`
1195	// In specifies that this field must be equal to one of the specified
1196	// values
1197	In []int32 `protobuf:"zigzag32,6,rep,name=in" json:"in,omitempty"`
1198	// NotIn specifies that this field cannot be equal to one of the specified
1199	// values
1200	NotIn []int32 `protobuf:"zigzag32,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"`
1201	// IgnoreEmpty specifies that the validation rules of this field should be
1202	// evaluated only if the field is not empty
1203	IgnoreEmpty *bool `protobuf:"varint,8,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"`
1204}
1205
1206func (x *SInt32Rules) Reset() {
1207	*x = SInt32Rules{}
1208	if protoimpl.UnsafeEnabled {
1209		mi := &file_validate_validate_proto_msgTypes[7]
1210		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1211		ms.StoreMessageInfo(mi)
1212	}
1213}
1214
1215func (x *SInt32Rules) String() string {
1216	return protoimpl.X.MessageStringOf(x)
1217}
1218
1219func (*SInt32Rules) ProtoMessage() {}
1220
1221func (x *SInt32Rules) ProtoReflect() protoreflect.Message {
1222	mi := &file_validate_validate_proto_msgTypes[7]
1223	if protoimpl.UnsafeEnabled && x != nil {
1224		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1225		if ms.LoadMessageInfo() == nil {
1226			ms.StoreMessageInfo(mi)
1227		}
1228		return ms
1229	}
1230	return mi.MessageOf(x)
1231}
1232
1233// Deprecated: Use SInt32Rules.ProtoReflect.Descriptor instead.
1234func (*SInt32Rules) Descriptor() ([]byte, []int) {
1235	return file_validate_validate_proto_rawDescGZIP(), []int{7}
1236}
1237
1238func (x *SInt32Rules) GetConst() int32 {
1239	if x != nil && x.Const != nil {
1240		return *x.Const
1241	}
1242	return 0
1243}
1244
1245func (x *SInt32Rules) GetLt() int32 {
1246	if x != nil && x.Lt != nil {
1247		return *x.Lt
1248	}
1249	return 0
1250}
1251
1252func (x *SInt32Rules) GetLte() int32 {
1253	if x != nil && x.Lte != nil {
1254		return *x.Lte
1255	}
1256	return 0
1257}
1258
1259func (x *SInt32Rules) GetGt() int32 {
1260	if x != nil && x.Gt != nil {
1261		return *x.Gt
1262	}
1263	return 0
1264}
1265
1266func (x *SInt32Rules) GetGte() int32 {
1267	if x != nil && x.Gte != nil {
1268		return *x.Gte
1269	}
1270	return 0
1271}
1272
1273func (x *SInt32Rules) GetIn() []int32 {
1274	if x != nil {
1275		return x.In
1276	}
1277	return nil
1278}
1279
1280func (x *SInt32Rules) GetNotIn() []int32 {
1281	if x != nil {
1282		return x.NotIn
1283	}
1284	return nil
1285}
1286
1287func (x *SInt32Rules) GetIgnoreEmpty() bool {
1288	if x != nil && x.IgnoreEmpty != nil {
1289		return *x.IgnoreEmpty
1290	}
1291	return false
1292}
1293
1294// SInt64Rules describes the constraints applied to `sint64` values
1295type SInt64Rules struct {
1296	state         protoimpl.MessageState
1297	sizeCache     protoimpl.SizeCache
1298	unknownFields protoimpl.UnknownFields
1299
1300	// Const specifies that this field must be exactly the specified value
1301	Const *int64 `protobuf:"zigzag64,1,opt,name=const" json:"const,omitempty"`
1302	// Lt specifies that this field must be less than the specified value,
1303	// exclusive
1304	Lt *int64 `protobuf:"zigzag64,2,opt,name=lt" json:"lt,omitempty"`
1305	// Lte specifies that this field must be less than or equal to the
1306	// specified value, inclusive
1307	Lte *int64 `protobuf:"zigzag64,3,opt,name=lte" json:"lte,omitempty"`
1308	// Gt specifies that this field must be greater than the specified value,
1309	// exclusive. If the value of Gt is larger than a specified Lt or Lte, the
1310	// range is reversed.
1311	Gt *int64 `protobuf:"zigzag64,4,opt,name=gt" json:"gt,omitempty"`
1312	// Gte specifies that this field must be greater than or equal to the
1313	// specified value, inclusive. If the value of Gte is larger than a
1314	// specified Lt or Lte, the range is reversed.
1315	Gte *int64 `protobuf:"zigzag64,5,opt,name=gte" json:"gte,omitempty"`
1316	// In specifies that this field must be equal to one of the specified
1317	// values
1318	In []int64 `protobuf:"zigzag64,6,rep,name=in" json:"in,omitempty"`
1319	// NotIn specifies that this field cannot be equal to one of the specified
1320	// values
1321	NotIn []int64 `protobuf:"zigzag64,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"`
1322	// IgnoreEmpty specifies that the validation rules of this field should be
1323	// evaluated only if the field is not empty
1324	IgnoreEmpty *bool `protobuf:"varint,8,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"`
1325}
1326
1327func (x *SInt64Rules) Reset() {
1328	*x = SInt64Rules{}
1329	if protoimpl.UnsafeEnabled {
1330		mi := &file_validate_validate_proto_msgTypes[8]
1331		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1332		ms.StoreMessageInfo(mi)
1333	}
1334}
1335
1336func (x *SInt64Rules) String() string {
1337	return protoimpl.X.MessageStringOf(x)
1338}
1339
1340func (*SInt64Rules) ProtoMessage() {}
1341
1342func (x *SInt64Rules) ProtoReflect() protoreflect.Message {
1343	mi := &file_validate_validate_proto_msgTypes[8]
1344	if protoimpl.UnsafeEnabled && x != nil {
1345		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1346		if ms.LoadMessageInfo() == nil {
1347			ms.StoreMessageInfo(mi)
1348		}
1349		return ms
1350	}
1351	return mi.MessageOf(x)
1352}
1353
1354// Deprecated: Use SInt64Rules.ProtoReflect.Descriptor instead.
1355func (*SInt64Rules) Descriptor() ([]byte, []int) {
1356	return file_validate_validate_proto_rawDescGZIP(), []int{8}
1357}
1358
1359func (x *SInt64Rules) GetConst() int64 {
1360	if x != nil && x.Const != nil {
1361		return *x.Const
1362	}
1363	return 0
1364}
1365
1366func (x *SInt64Rules) GetLt() int64 {
1367	if x != nil && x.Lt != nil {
1368		return *x.Lt
1369	}
1370	return 0
1371}
1372
1373func (x *SInt64Rules) GetLte() int64 {
1374	if x != nil && x.Lte != nil {
1375		return *x.Lte
1376	}
1377	return 0
1378}
1379
1380func (x *SInt64Rules) GetGt() int64 {
1381	if x != nil && x.Gt != nil {
1382		return *x.Gt
1383	}
1384	return 0
1385}
1386
1387func (x *SInt64Rules) GetGte() int64 {
1388	if x != nil && x.Gte != nil {
1389		return *x.Gte
1390	}
1391	return 0
1392}
1393
1394func (x *SInt64Rules) GetIn() []int64 {
1395	if x != nil {
1396		return x.In
1397	}
1398	return nil
1399}
1400
1401func (x *SInt64Rules) GetNotIn() []int64 {
1402	if x != nil {
1403		return x.NotIn
1404	}
1405	return nil
1406}
1407
1408func (x *SInt64Rules) GetIgnoreEmpty() bool {
1409	if x != nil && x.IgnoreEmpty != nil {
1410		return *x.IgnoreEmpty
1411	}
1412	return false
1413}
1414
1415// Fixed32Rules describes the constraints applied to `fixed32` values
1416type Fixed32Rules struct {
1417	state         protoimpl.MessageState
1418	sizeCache     protoimpl.SizeCache
1419	unknownFields protoimpl.UnknownFields
1420
1421	// Const specifies that this field must be exactly the specified value
1422	Const *uint32 `protobuf:"fixed32,1,opt,name=const" json:"const,omitempty"`
1423	// Lt specifies that this field must be less than the specified value,
1424	// exclusive
1425	Lt *uint32 `protobuf:"fixed32,2,opt,name=lt" json:"lt,omitempty"`
1426	// Lte specifies that this field must be less than or equal to the
1427	// specified value, inclusive
1428	Lte *uint32 `protobuf:"fixed32,3,opt,name=lte" json:"lte,omitempty"`
1429	// Gt specifies that this field must be greater than the specified value,
1430	// exclusive. If the value of Gt is larger than a specified Lt or Lte, the
1431	// range is reversed.
1432	Gt *uint32 `protobuf:"fixed32,4,opt,name=gt" json:"gt,omitempty"`
1433	// Gte specifies that this field must be greater than or equal to the
1434	// specified value, inclusive. If the value of Gte is larger than a
1435	// specified Lt or Lte, the range is reversed.
1436	Gte *uint32 `protobuf:"fixed32,5,opt,name=gte" json:"gte,omitempty"`
1437	// In specifies that this field must be equal to one of the specified
1438	// values
1439	In []uint32 `protobuf:"fixed32,6,rep,name=in" json:"in,omitempty"`
1440	// NotIn specifies that this field cannot be equal to one of the specified
1441	// values
1442	NotIn []uint32 `protobuf:"fixed32,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"`
1443	// IgnoreEmpty specifies that the validation rules of this field should be
1444	// evaluated only if the field is not empty
1445	IgnoreEmpty *bool `protobuf:"varint,8,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"`
1446}
1447
1448func (x *Fixed32Rules) Reset() {
1449	*x = Fixed32Rules{}
1450	if protoimpl.UnsafeEnabled {
1451		mi := &file_validate_validate_proto_msgTypes[9]
1452		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1453		ms.StoreMessageInfo(mi)
1454	}
1455}
1456
1457func (x *Fixed32Rules) String() string {
1458	return protoimpl.X.MessageStringOf(x)
1459}
1460
1461func (*Fixed32Rules) ProtoMessage() {}
1462
1463func (x *Fixed32Rules) ProtoReflect() protoreflect.Message {
1464	mi := &file_validate_validate_proto_msgTypes[9]
1465	if protoimpl.UnsafeEnabled && x != nil {
1466		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1467		if ms.LoadMessageInfo() == nil {
1468			ms.StoreMessageInfo(mi)
1469		}
1470		return ms
1471	}
1472	return mi.MessageOf(x)
1473}
1474
1475// Deprecated: Use Fixed32Rules.ProtoReflect.Descriptor instead.
1476func (*Fixed32Rules) Descriptor() ([]byte, []int) {
1477	return file_validate_validate_proto_rawDescGZIP(), []int{9}
1478}
1479
1480func (x *Fixed32Rules) GetConst() uint32 {
1481	if x != nil && x.Const != nil {
1482		return *x.Const
1483	}
1484	return 0
1485}
1486
1487func (x *Fixed32Rules) GetLt() uint32 {
1488	if x != nil && x.Lt != nil {
1489		return *x.Lt
1490	}
1491	return 0
1492}
1493
1494func (x *Fixed32Rules) GetLte() uint32 {
1495	if x != nil && x.Lte != nil {
1496		return *x.Lte
1497	}
1498	return 0
1499}
1500
1501func (x *Fixed32Rules) GetGt() uint32 {
1502	if x != nil && x.Gt != nil {
1503		return *x.Gt
1504	}
1505	return 0
1506}
1507
1508func (x *Fixed32Rules) GetGte() uint32 {
1509	if x != nil && x.Gte != nil {
1510		return *x.Gte
1511	}
1512	return 0
1513}
1514
1515func (x *Fixed32Rules) GetIn() []uint32 {
1516	if x != nil {
1517		return x.In
1518	}
1519	return nil
1520}
1521
1522func (x *Fixed32Rules) GetNotIn() []uint32 {
1523	if x != nil {
1524		return x.NotIn
1525	}
1526	return nil
1527}
1528
1529func (x *Fixed32Rules) GetIgnoreEmpty() bool {
1530	if x != nil && x.IgnoreEmpty != nil {
1531		return *x.IgnoreEmpty
1532	}
1533	return false
1534}
1535
1536// Fixed64Rules describes the constraints applied to `fixed64` values
1537type Fixed64Rules struct {
1538	state         protoimpl.MessageState
1539	sizeCache     protoimpl.SizeCache
1540	unknownFields protoimpl.UnknownFields
1541
1542	// Const specifies that this field must be exactly the specified value
1543	Const *uint64 `protobuf:"fixed64,1,opt,name=const" json:"const,omitempty"`
1544	// Lt specifies that this field must be less than the specified value,
1545	// exclusive
1546	Lt *uint64 `protobuf:"fixed64,2,opt,name=lt" json:"lt,omitempty"`
1547	// Lte specifies that this field must be less than or equal to the
1548	// specified value, inclusive
1549	Lte *uint64 `protobuf:"fixed64,3,opt,name=lte" json:"lte,omitempty"`
1550	// Gt specifies that this field must be greater than the specified value,
1551	// exclusive. If the value of Gt is larger than a specified Lt or Lte, the
1552	// range is reversed.
1553	Gt *uint64 `protobuf:"fixed64,4,opt,name=gt" json:"gt,omitempty"`
1554	// Gte specifies that this field must be greater than or equal to the
1555	// specified value, inclusive. If the value of Gte is larger than a
1556	// specified Lt or Lte, the range is reversed.
1557	Gte *uint64 `protobuf:"fixed64,5,opt,name=gte" json:"gte,omitempty"`
1558	// In specifies that this field must be equal to one of the specified
1559	// values
1560	In []uint64 `protobuf:"fixed64,6,rep,name=in" json:"in,omitempty"`
1561	// NotIn specifies that this field cannot be equal to one of the specified
1562	// values
1563	NotIn []uint64 `protobuf:"fixed64,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"`
1564	// IgnoreEmpty specifies that the validation rules of this field should be
1565	// evaluated only if the field is not empty
1566	IgnoreEmpty *bool `protobuf:"varint,8,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"`
1567}
1568
1569func (x *Fixed64Rules) Reset() {
1570	*x = Fixed64Rules{}
1571	if protoimpl.UnsafeEnabled {
1572		mi := &file_validate_validate_proto_msgTypes[10]
1573		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1574		ms.StoreMessageInfo(mi)
1575	}
1576}
1577
1578func (x *Fixed64Rules) String() string {
1579	return protoimpl.X.MessageStringOf(x)
1580}
1581
1582func (*Fixed64Rules) ProtoMessage() {}
1583
1584func (x *Fixed64Rules) ProtoReflect() protoreflect.Message {
1585	mi := &file_validate_validate_proto_msgTypes[10]
1586	if protoimpl.UnsafeEnabled && x != nil {
1587		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1588		if ms.LoadMessageInfo() == nil {
1589			ms.StoreMessageInfo(mi)
1590		}
1591		return ms
1592	}
1593	return mi.MessageOf(x)
1594}
1595
1596// Deprecated: Use Fixed64Rules.ProtoReflect.Descriptor instead.
1597func (*Fixed64Rules) Descriptor() ([]byte, []int) {
1598	return file_validate_validate_proto_rawDescGZIP(), []int{10}
1599}
1600
1601func (x *Fixed64Rules) GetConst() uint64 {
1602	if x != nil && x.Const != nil {
1603		return *x.Const
1604	}
1605	return 0
1606}
1607
1608func (x *Fixed64Rules) GetLt() uint64 {
1609	if x != nil && x.Lt != nil {
1610		return *x.Lt
1611	}
1612	return 0
1613}
1614
1615func (x *Fixed64Rules) GetLte() uint64 {
1616	if x != nil && x.Lte != nil {
1617		return *x.Lte
1618	}
1619	return 0
1620}
1621
1622func (x *Fixed64Rules) GetGt() uint64 {
1623	if x != nil && x.Gt != nil {
1624		return *x.Gt
1625	}
1626	return 0
1627}
1628
1629func (x *Fixed64Rules) GetGte() uint64 {
1630	if x != nil && x.Gte != nil {
1631		return *x.Gte
1632	}
1633	return 0
1634}
1635
1636func (x *Fixed64Rules) GetIn() []uint64 {
1637	if x != nil {
1638		return x.In
1639	}
1640	return nil
1641}
1642
1643func (x *Fixed64Rules) GetNotIn() []uint64 {
1644	if x != nil {
1645		return x.NotIn
1646	}
1647	return nil
1648}
1649
1650func (x *Fixed64Rules) GetIgnoreEmpty() bool {
1651	if x != nil && x.IgnoreEmpty != nil {
1652		return *x.IgnoreEmpty
1653	}
1654	return false
1655}
1656
1657// SFixed32Rules describes the constraints applied to `sfixed32` values
1658type SFixed32Rules struct {
1659	state         protoimpl.MessageState
1660	sizeCache     protoimpl.SizeCache
1661	unknownFields protoimpl.UnknownFields
1662
1663	// Const specifies that this field must be exactly the specified value
1664	Const *int32 `protobuf:"fixed32,1,opt,name=const" json:"const,omitempty"`
1665	// Lt specifies that this field must be less than the specified value,
1666	// exclusive
1667	Lt *int32 `protobuf:"fixed32,2,opt,name=lt" json:"lt,omitempty"`
1668	// Lte specifies that this field must be less than or equal to the
1669	// specified value, inclusive
1670	Lte *int32 `protobuf:"fixed32,3,opt,name=lte" json:"lte,omitempty"`
1671	// Gt specifies that this field must be greater than the specified value,
1672	// exclusive. If the value of Gt is larger than a specified Lt or Lte, the
1673	// range is reversed.
1674	Gt *int32 `protobuf:"fixed32,4,opt,name=gt" json:"gt,omitempty"`
1675	// Gte specifies that this field must be greater than or equal to the
1676	// specified value, inclusive. If the value of Gte is larger than a
1677	// specified Lt or Lte, the range is reversed.
1678	Gte *int32 `protobuf:"fixed32,5,opt,name=gte" json:"gte,omitempty"`
1679	// In specifies that this field must be equal to one of the specified
1680	// values
1681	In []int32 `protobuf:"fixed32,6,rep,name=in" json:"in,omitempty"`
1682	// NotIn specifies that this field cannot be equal to one of the specified
1683	// values
1684	NotIn []int32 `protobuf:"fixed32,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"`
1685	// IgnoreEmpty specifies that the validation rules of this field should be
1686	// evaluated only if the field is not empty
1687	IgnoreEmpty *bool `protobuf:"varint,8,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"`
1688}
1689
1690func (x *SFixed32Rules) Reset() {
1691	*x = SFixed32Rules{}
1692	if protoimpl.UnsafeEnabled {
1693		mi := &file_validate_validate_proto_msgTypes[11]
1694		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1695		ms.StoreMessageInfo(mi)
1696	}
1697}
1698
1699func (x *SFixed32Rules) String() string {
1700	return protoimpl.X.MessageStringOf(x)
1701}
1702
1703func (*SFixed32Rules) ProtoMessage() {}
1704
1705func (x *SFixed32Rules) ProtoReflect() protoreflect.Message {
1706	mi := &file_validate_validate_proto_msgTypes[11]
1707	if protoimpl.UnsafeEnabled && x != nil {
1708		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1709		if ms.LoadMessageInfo() == nil {
1710			ms.StoreMessageInfo(mi)
1711		}
1712		return ms
1713	}
1714	return mi.MessageOf(x)
1715}
1716
1717// Deprecated: Use SFixed32Rules.ProtoReflect.Descriptor instead.
1718func (*SFixed32Rules) Descriptor() ([]byte, []int) {
1719	return file_validate_validate_proto_rawDescGZIP(), []int{11}
1720}
1721
1722func (x *SFixed32Rules) GetConst() int32 {
1723	if x != nil && x.Const != nil {
1724		return *x.Const
1725	}
1726	return 0
1727}
1728
1729func (x *SFixed32Rules) GetLt() int32 {
1730	if x != nil && x.Lt != nil {
1731		return *x.Lt
1732	}
1733	return 0
1734}
1735
1736func (x *SFixed32Rules) GetLte() int32 {
1737	if x != nil && x.Lte != nil {
1738		return *x.Lte
1739	}
1740	return 0
1741}
1742
1743func (x *SFixed32Rules) GetGt() int32 {
1744	if x != nil && x.Gt != nil {
1745		return *x.Gt
1746	}
1747	return 0
1748}
1749
1750func (x *SFixed32Rules) GetGte() int32 {
1751	if x != nil && x.Gte != nil {
1752		return *x.Gte
1753	}
1754	return 0
1755}
1756
1757func (x *SFixed32Rules) GetIn() []int32 {
1758	if x != nil {
1759		return x.In
1760	}
1761	return nil
1762}
1763
1764func (x *SFixed32Rules) GetNotIn() []int32 {
1765	if x != nil {
1766		return x.NotIn
1767	}
1768	return nil
1769}
1770
1771func (x *SFixed32Rules) GetIgnoreEmpty() bool {
1772	if x != nil && x.IgnoreEmpty != nil {
1773		return *x.IgnoreEmpty
1774	}
1775	return false
1776}
1777
1778// SFixed64Rules describes the constraints applied to `sfixed64` values
1779type SFixed64Rules struct {
1780	state         protoimpl.MessageState
1781	sizeCache     protoimpl.SizeCache
1782	unknownFields protoimpl.UnknownFields
1783
1784	// Const specifies that this field must be exactly the specified value
1785	Const *int64 `protobuf:"fixed64,1,opt,name=const" json:"const,omitempty"`
1786	// Lt specifies that this field must be less than the specified value,
1787	// exclusive
1788	Lt *int64 `protobuf:"fixed64,2,opt,name=lt" json:"lt,omitempty"`
1789	// Lte specifies that this field must be less than or equal to the
1790	// specified value, inclusive
1791	Lte *int64 `protobuf:"fixed64,3,opt,name=lte" json:"lte,omitempty"`
1792	// Gt specifies that this field must be greater than the specified value,
1793	// exclusive. If the value of Gt is larger than a specified Lt or Lte, the
1794	// range is reversed.
1795	Gt *int64 `protobuf:"fixed64,4,opt,name=gt" json:"gt,omitempty"`
1796	// Gte specifies that this field must be greater than or equal to the
1797	// specified value, inclusive. If the value of Gte is larger than a
1798	// specified Lt or Lte, the range is reversed.
1799	Gte *int64 `protobuf:"fixed64,5,opt,name=gte" json:"gte,omitempty"`
1800	// In specifies that this field must be equal to one of the specified
1801	// values
1802	In []int64 `protobuf:"fixed64,6,rep,name=in" json:"in,omitempty"`
1803	// NotIn specifies that this field cannot be equal to one of the specified
1804	// values
1805	NotIn []int64 `protobuf:"fixed64,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"`
1806	// IgnoreEmpty specifies that the validation rules of this field should be
1807	// evaluated only if the field is not empty
1808	IgnoreEmpty *bool `protobuf:"varint,8,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"`
1809}
1810
1811func (x *SFixed64Rules) Reset() {
1812	*x = SFixed64Rules{}
1813	if protoimpl.UnsafeEnabled {
1814		mi := &file_validate_validate_proto_msgTypes[12]
1815		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1816		ms.StoreMessageInfo(mi)
1817	}
1818}
1819
1820func (x *SFixed64Rules) String() string {
1821	return protoimpl.X.MessageStringOf(x)
1822}
1823
1824func (*SFixed64Rules) ProtoMessage() {}
1825
1826func (x *SFixed64Rules) ProtoReflect() protoreflect.Message {
1827	mi := &file_validate_validate_proto_msgTypes[12]
1828	if protoimpl.UnsafeEnabled && x != nil {
1829		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1830		if ms.LoadMessageInfo() == nil {
1831			ms.StoreMessageInfo(mi)
1832		}
1833		return ms
1834	}
1835	return mi.MessageOf(x)
1836}
1837
1838// Deprecated: Use SFixed64Rules.ProtoReflect.Descriptor instead.
1839func (*SFixed64Rules) Descriptor() ([]byte, []int) {
1840	return file_validate_validate_proto_rawDescGZIP(), []int{12}
1841}
1842
1843func (x *SFixed64Rules) GetConst() int64 {
1844	if x != nil && x.Const != nil {
1845		return *x.Const
1846	}
1847	return 0
1848}
1849
1850func (x *SFixed64Rules) GetLt() int64 {
1851	if x != nil && x.Lt != nil {
1852		return *x.Lt
1853	}
1854	return 0
1855}
1856
1857func (x *SFixed64Rules) GetLte() int64 {
1858	if x != nil && x.Lte != nil {
1859		return *x.Lte
1860	}
1861	return 0
1862}
1863
1864func (x *SFixed64Rules) GetGt() int64 {
1865	if x != nil && x.Gt != nil {
1866		return *x.Gt
1867	}
1868	return 0
1869}
1870
1871func (x *SFixed64Rules) GetGte() int64 {
1872	if x != nil && x.Gte != nil {
1873		return *x.Gte
1874	}
1875	return 0
1876}
1877
1878func (x *SFixed64Rules) GetIn() []int64 {
1879	if x != nil {
1880		return x.In
1881	}
1882	return nil
1883}
1884
1885func (x *SFixed64Rules) GetNotIn() []int64 {
1886	if x != nil {
1887		return x.NotIn
1888	}
1889	return nil
1890}
1891
1892func (x *SFixed64Rules) GetIgnoreEmpty() bool {
1893	if x != nil && x.IgnoreEmpty != nil {
1894		return *x.IgnoreEmpty
1895	}
1896	return false
1897}
1898
1899// BoolRules describes the constraints applied to `bool` values
1900type BoolRules struct {
1901	state         protoimpl.MessageState
1902	sizeCache     protoimpl.SizeCache
1903	unknownFields protoimpl.UnknownFields
1904
1905	// Const specifies that this field must be exactly the specified value
1906	Const *bool `protobuf:"varint,1,opt,name=const" json:"const,omitempty"`
1907}
1908
1909func (x *BoolRules) Reset() {
1910	*x = BoolRules{}
1911	if protoimpl.UnsafeEnabled {
1912		mi := &file_validate_validate_proto_msgTypes[13]
1913		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1914		ms.StoreMessageInfo(mi)
1915	}
1916}
1917
1918func (x *BoolRules) String() string {
1919	return protoimpl.X.MessageStringOf(x)
1920}
1921
1922func (*BoolRules) ProtoMessage() {}
1923
1924func (x *BoolRules) ProtoReflect() protoreflect.Message {
1925	mi := &file_validate_validate_proto_msgTypes[13]
1926	if protoimpl.UnsafeEnabled && x != nil {
1927		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1928		if ms.LoadMessageInfo() == nil {
1929			ms.StoreMessageInfo(mi)
1930		}
1931		return ms
1932	}
1933	return mi.MessageOf(x)
1934}
1935
1936// Deprecated: Use BoolRules.ProtoReflect.Descriptor instead.
1937func (*BoolRules) Descriptor() ([]byte, []int) {
1938	return file_validate_validate_proto_rawDescGZIP(), []int{13}
1939}
1940
1941func (x *BoolRules) GetConst() bool {
1942	if x != nil && x.Const != nil {
1943		return *x.Const
1944	}
1945	return false
1946}
1947
1948// StringRules describe the constraints applied to `string` values
1949type StringRules struct {
1950	state         protoimpl.MessageState
1951	sizeCache     protoimpl.SizeCache
1952	unknownFields protoimpl.UnknownFields
1953
1954	// Const specifies that this field must be exactly the specified value
1955	Const *string `protobuf:"bytes,1,opt,name=const" json:"const,omitempty"`
1956	// Len specifies that this field must be the specified number of
1957	// characters (Unicode code points). Note that the number of
1958	// characters may differ from the number of bytes in the string.
1959	Len *uint64 `protobuf:"varint,19,opt,name=len" json:"len,omitempty"`
1960	// MinLen specifies that this field must be the specified number of
1961	// characters (Unicode code points) at a minimum. Note that the number of
1962	// characters may differ from the number of bytes in the string.
1963	MinLen *uint64 `protobuf:"varint,2,opt,name=min_len,json=minLen" json:"min_len,omitempty"`
1964	// MaxLen specifies that this field must be the specified number of
1965	// characters (Unicode code points) at a maximum. Note that the number of
1966	// characters may differ from the number of bytes in the string.
1967	MaxLen *uint64 `protobuf:"varint,3,opt,name=max_len,json=maxLen" json:"max_len,omitempty"`
1968	// LenBytes specifies that this field must be the specified number of bytes
1969	// at a minimum
1970	LenBytes *uint64 `protobuf:"varint,20,opt,name=len_bytes,json=lenBytes" json:"len_bytes,omitempty"`
1971	// MinBytes specifies that this field must be the specified number of bytes
1972	// at a minimum
1973	MinBytes *uint64 `protobuf:"varint,4,opt,name=min_bytes,json=minBytes" json:"min_bytes,omitempty"`
1974	// MaxBytes specifies that this field must be the specified number of bytes
1975	// at a maximum
1976	MaxBytes *uint64 `protobuf:"varint,5,opt,name=max_bytes,json=maxBytes" json:"max_bytes,omitempty"`
1977	// Pattern specifes that this field must match against the specified
1978	// regular expression (RE2 syntax). The included expression should elide
1979	// any delimiters.
1980	Pattern *string `protobuf:"bytes,6,opt,name=pattern" json:"pattern,omitempty"`
1981	// Prefix specifies that this field must have the specified substring at
1982	// the beginning of the string.
1983	Prefix *string `protobuf:"bytes,7,opt,name=prefix" json:"prefix,omitempty"`
1984	// Suffix specifies that this field must have the specified substring at
1985	// the end of the string.
1986	Suffix *string `protobuf:"bytes,8,opt,name=suffix" json:"suffix,omitempty"`
1987	// Contains specifies that this field must have the specified substring
1988	// anywhere in the string.
1989	Contains *string `protobuf:"bytes,9,opt,name=contains" json:"contains,omitempty"`
1990	// NotContains specifies that this field cannot have the specified substring
1991	// anywhere in the string.
1992	NotContains *string `protobuf:"bytes,23,opt,name=not_contains,json=notContains" json:"not_contains,omitempty"`
1993	// In specifies that this field must be equal to one of the specified
1994	// values
1995	In []string `protobuf:"bytes,10,rep,name=in" json:"in,omitempty"`
1996	// NotIn specifies that this field cannot be equal to one of the specified
1997	// values
1998	NotIn []string `protobuf:"bytes,11,rep,name=not_in,json=notIn" json:"not_in,omitempty"`
1999	// WellKnown rules provide advanced constraints against common string
2000	// patterns
2001	//
2002	// Types that are assignable to WellKnown:
2003	//	*StringRules_Email
2004	//	*StringRules_Hostname
2005	//	*StringRules_Ip
2006	//	*StringRules_Ipv4
2007	//	*StringRules_Ipv6
2008	//	*StringRules_Uri
2009	//	*StringRules_UriRef
2010	//	*StringRules_Address
2011	//	*StringRules_Uuid
2012	//	*StringRules_WellKnownRegex
2013	WellKnown isStringRules_WellKnown `protobuf_oneof:"well_known"`
2014	// This applies to regexes HTTP_HEADER_NAME and HTTP_HEADER_VALUE to enable
2015	// strict header validation.
2016	// By default, this is true, and HTTP header validations are RFC-compliant.
2017	// Setting to false will enable a looser validations that only disallows
2018	// \r\n\0 characters, which can be used to bypass header matching rules.
2019	Strict *bool `protobuf:"varint,25,opt,name=strict,def=1" json:"strict,omitempty"`
2020	// IgnoreEmpty specifies that the validation rules of this field should be
2021	// evaluated only if the field is not empty
2022	IgnoreEmpty *bool `protobuf:"varint,26,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"`
2023}
2024
2025// Default values for StringRules fields.
2026const (
2027	Default_StringRules_Strict = bool(true)
2028)
2029
2030func (x *StringRules) Reset() {
2031	*x = StringRules{}
2032	if protoimpl.UnsafeEnabled {
2033		mi := &file_validate_validate_proto_msgTypes[14]
2034		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2035		ms.StoreMessageInfo(mi)
2036	}
2037}
2038
2039func (x *StringRules) String() string {
2040	return protoimpl.X.MessageStringOf(x)
2041}
2042
2043func (*StringRules) ProtoMessage() {}
2044
2045func (x *StringRules) ProtoReflect() protoreflect.Message {
2046	mi := &file_validate_validate_proto_msgTypes[14]
2047	if protoimpl.UnsafeEnabled && x != nil {
2048		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2049		if ms.LoadMessageInfo() == nil {
2050			ms.StoreMessageInfo(mi)
2051		}
2052		return ms
2053	}
2054	return mi.MessageOf(x)
2055}
2056
2057// Deprecated: Use StringRules.ProtoReflect.Descriptor instead.
2058func (*StringRules) Descriptor() ([]byte, []int) {
2059	return file_validate_validate_proto_rawDescGZIP(), []int{14}
2060}
2061
2062func (x *StringRules) GetConst() string {
2063	if x != nil && x.Const != nil {
2064		return *x.Const
2065	}
2066	return ""
2067}
2068
2069func (x *StringRules) GetLen() uint64 {
2070	if x != nil && x.Len != nil {
2071		return *x.Len
2072	}
2073	return 0
2074}
2075
2076func (x *StringRules) GetMinLen() uint64 {
2077	if x != nil && x.MinLen != nil {
2078		return *x.MinLen
2079	}
2080	return 0
2081}
2082
2083func (x *StringRules) GetMaxLen() uint64 {
2084	if x != nil && x.MaxLen != nil {
2085		return *x.MaxLen
2086	}
2087	return 0
2088}
2089
2090func (x *StringRules) GetLenBytes() uint64 {
2091	if x != nil && x.LenBytes != nil {
2092		return *x.LenBytes
2093	}
2094	return 0
2095}
2096
2097func (x *StringRules) GetMinBytes() uint64 {
2098	if x != nil && x.MinBytes != nil {
2099		return *x.MinBytes
2100	}
2101	return 0
2102}
2103
2104func (x *StringRules) GetMaxBytes() uint64 {
2105	if x != nil && x.MaxBytes != nil {
2106		return *x.MaxBytes
2107	}
2108	return 0
2109}
2110
2111func (x *StringRules) GetPattern() string {
2112	if x != nil && x.Pattern != nil {
2113		return *x.Pattern
2114	}
2115	return ""
2116}
2117
2118func (x *StringRules) GetPrefix() string {
2119	if x != nil && x.Prefix != nil {
2120		return *x.Prefix
2121	}
2122	return ""
2123}
2124
2125func (x *StringRules) GetSuffix() string {
2126	if x != nil && x.Suffix != nil {
2127		return *x.Suffix
2128	}
2129	return ""
2130}
2131
2132func (x *StringRules) GetContains() string {
2133	if x != nil && x.Contains != nil {
2134		return *x.Contains
2135	}
2136	return ""
2137}
2138
2139func (x *StringRules) GetNotContains() string {
2140	if x != nil && x.NotContains != nil {
2141		return *x.NotContains
2142	}
2143	return ""
2144}
2145
2146func (x *StringRules) GetIn() []string {
2147	if x != nil {
2148		return x.In
2149	}
2150	return nil
2151}
2152
2153func (x *StringRules) GetNotIn() []string {
2154	if x != nil {
2155		return x.NotIn
2156	}
2157	return nil
2158}
2159
2160func (m *StringRules) GetWellKnown() isStringRules_WellKnown {
2161	if m != nil {
2162		return m.WellKnown
2163	}
2164	return nil
2165}
2166
2167func (x *StringRules) GetEmail() bool {
2168	if x, ok := x.GetWellKnown().(*StringRules_Email); ok {
2169		return x.Email
2170	}
2171	return false
2172}
2173
2174func (x *StringRules) GetHostname() bool {
2175	if x, ok := x.GetWellKnown().(*StringRules_Hostname); ok {
2176		return x.Hostname
2177	}
2178	return false
2179}
2180
2181func (x *StringRules) GetIp() bool {
2182	if x, ok := x.GetWellKnown().(*StringRules_Ip); ok {
2183		return x.Ip
2184	}
2185	return false
2186}
2187
2188func (x *StringRules) GetIpv4() bool {
2189	if x, ok := x.GetWellKnown().(*StringRules_Ipv4); ok {
2190		return x.Ipv4
2191	}
2192	return false
2193}
2194
2195func (x *StringRules) GetIpv6() bool {
2196	if x, ok := x.GetWellKnown().(*StringRules_Ipv6); ok {
2197		return x.Ipv6
2198	}
2199	return false
2200}
2201
2202func (x *StringRules) GetUri() bool {
2203	if x, ok := x.GetWellKnown().(*StringRules_Uri); ok {
2204		return x.Uri
2205	}
2206	return false
2207}
2208
2209func (x *StringRules) GetUriRef() bool {
2210	if x, ok := x.GetWellKnown().(*StringRules_UriRef); ok {
2211		return x.UriRef
2212	}
2213	return false
2214}
2215
2216func (x *StringRules) GetAddress() bool {
2217	if x, ok := x.GetWellKnown().(*StringRules_Address); ok {
2218		return x.Address
2219	}
2220	return false
2221}
2222
2223func (x *StringRules) GetUuid() bool {
2224	if x, ok := x.GetWellKnown().(*StringRules_Uuid); ok {
2225		return x.Uuid
2226	}
2227	return false
2228}
2229
2230func (x *StringRules) GetWellKnownRegex() KnownRegex {
2231	if x, ok := x.GetWellKnown().(*StringRules_WellKnownRegex); ok {
2232		return x.WellKnownRegex
2233	}
2234	return KnownRegex_UNKNOWN
2235}
2236
2237func (x *StringRules) GetStrict() bool {
2238	if x != nil && x.Strict != nil {
2239		return *x.Strict
2240	}
2241	return Default_StringRules_Strict
2242}
2243
2244func (x *StringRules) GetIgnoreEmpty() bool {
2245	if x != nil && x.IgnoreEmpty != nil {
2246		return *x.IgnoreEmpty
2247	}
2248	return false
2249}
2250
2251type isStringRules_WellKnown interface {
2252	isStringRules_WellKnown()
2253}
2254
2255type StringRules_Email struct {
2256	// Email specifies that the field must be a valid email address as
2257	// defined by RFC 5322
2258	Email bool `protobuf:"varint,12,opt,name=email,oneof"`
2259}
2260
2261type StringRules_Hostname struct {
2262	// Hostname specifies that the field must be a valid hostname as
2263	// defined by RFC 1034. This constraint does not support
2264	// internationalized domain names (IDNs).
2265	Hostname bool `protobuf:"varint,13,opt,name=hostname,oneof"`
2266}
2267
2268type StringRules_Ip struct {
2269	// Ip specifies that the field must be a valid IP (v4 or v6) address.
2270	// Valid IPv6 addresses should not include surrounding square brackets.
2271	Ip bool `protobuf:"varint,14,opt,name=ip,oneof"`
2272}
2273
2274type StringRules_Ipv4 struct {
2275	// Ipv4 specifies that the field must be a valid IPv4 address.
2276	Ipv4 bool `protobuf:"varint,15,opt,name=ipv4,oneof"`
2277}
2278
2279type StringRules_Ipv6 struct {
2280	// Ipv6 specifies that the field must be a valid IPv6 address. Valid
2281	// IPv6 addresses should not include surrounding square brackets.
2282	Ipv6 bool `protobuf:"varint,16,opt,name=ipv6,oneof"`
2283}
2284
2285type StringRules_Uri struct {
2286	// Uri specifies that the field must be a valid, absolute URI as defined
2287	// by RFC 3986
2288	Uri bool `protobuf:"varint,17,opt,name=uri,oneof"`
2289}
2290
2291type StringRules_UriRef struct {
2292	// UriRef specifies that the field must be a valid URI as defined by RFC
2293	// 3986 and may be relative or absolute.
2294	UriRef bool `protobuf:"varint,18,opt,name=uri_ref,json=uriRef,oneof"`
2295}
2296
2297type StringRules_Address struct {
2298	// Address specifies that the field must be either a valid hostname as
2299	// defined by RFC 1034 (which does not support internationalized domain
2300	// names or IDNs), or it can be a valid IP (v4 or v6).
2301	Address bool `protobuf:"varint,21,opt,name=address,oneof"`
2302}
2303
2304type StringRules_Uuid struct {
2305	// Uuid specifies that the field must be a valid UUID as defined by
2306	// RFC 4122
2307	Uuid bool `protobuf:"varint,22,opt,name=uuid,oneof"`
2308}
2309
2310type StringRules_WellKnownRegex struct {
2311	// WellKnownRegex specifies a common well known pattern defined as a regex.
2312	WellKnownRegex KnownRegex `protobuf:"varint,24,opt,name=well_known_regex,json=wellKnownRegex,enum=validate.KnownRegex,oneof"`
2313}
2314
2315func (*StringRules_Email) isStringRules_WellKnown() {}
2316
2317func (*StringRules_Hostname) isStringRules_WellKnown() {}
2318
2319func (*StringRules_Ip) isStringRules_WellKnown() {}
2320
2321func (*StringRules_Ipv4) isStringRules_WellKnown() {}
2322
2323func (*StringRules_Ipv6) isStringRules_WellKnown() {}
2324
2325func (*StringRules_Uri) isStringRules_WellKnown() {}
2326
2327func (*StringRules_UriRef) isStringRules_WellKnown() {}
2328
2329func (*StringRules_Address) isStringRules_WellKnown() {}
2330
2331func (*StringRules_Uuid) isStringRules_WellKnown() {}
2332
2333func (*StringRules_WellKnownRegex) isStringRules_WellKnown() {}
2334
2335// BytesRules describe the constraints applied to `bytes` values
2336type BytesRules struct {
2337	state         protoimpl.MessageState
2338	sizeCache     protoimpl.SizeCache
2339	unknownFields protoimpl.UnknownFields
2340
2341	// Const specifies that this field must be exactly the specified value
2342	Const []byte `protobuf:"bytes,1,opt,name=const" json:"const,omitempty"`
2343	// Len specifies that this field must be the specified number of bytes
2344	Len *uint64 `protobuf:"varint,13,opt,name=len" json:"len,omitempty"`
2345	// MinLen specifies that this field must be the specified number of bytes
2346	// at a minimum
2347	MinLen *uint64 `protobuf:"varint,2,opt,name=min_len,json=minLen" json:"min_len,omitempty"`
2348	// MaxLen specifies that this field must be the specified number of bytes
2349	// at a maximum
2350	MaxLen *uint64 `protobuf:"varint,3,opt,name=max_len,json=maxLen" json:"max_len,omitempty"`
2351	// Pattern specifes that this field must match against the specified
2352	// regular expression (RE2 syntax). The included expression should elide
2353	// any delimiters.
2354	Pattern *string `protobuf:"bytes,4,opt,name=pattern" json:"pattern,omitempty"`
2355	// Prefix specifies that this field must have the specified bytes at the
2356	// beginning of the string.
2357	Prefix []byte `protobuf:"bytes,5,opt,name=prefix" json:"prefix,omitempty"`
2358	// Suffix specifies that this field must have the specified bytes at the
2359	// end of the string.
2360	Suffix []byte `protobuf:"bytes,6,opt,name=suffix" json:"suffix,omitempty"`
2361	// Contains specifies that this field must have the specified bytes
2362	// anywhere in the string.
2363	Contains []byte `protobuf:"bytes,7,opt,name=contains" json:"contains,omitempty"`
2364	// In specifies that this field must be equal to one of the specified
2365	// values
2366	In [][]byte `protobuf:"bytes,8,rep,name=in" json:"in,omitempty"`
2367	// NotIn specifies that this field cannot be equal to one of the specified
2368	// values
2369	NotIn [][]byte `protobuf:"bytes,9,rep,name=not_in,json=notIn" json:"not_in,omitempty"`
2370	// WellKnown rules provide advanced constraints against common byte
2371	// patterns
2372	//
2373	// Types that are assignable to WellKnown:
2374	//	*BytesRules_Ip
2375	//	*BytesRules_Ipv4
2376	//	*BytesRules_Ipv6
2377	WellKnown isBytesRules_WellKnown `protobuf_oneof:"well_known"`
2378	// IgnoreEmpty specifies that the validation rules of this field should be
2379	// evaluated only if the field is not empty
2380	IgnoreEmpty *bool `protobuf:"varint,14,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"`
2381}
2382
2383func (x *BytesRules) Reset() {
2384	*x = BytesRules{}
2385	if protoimpl.UnsafeEnabled {
2386		mi := &file_validate_validate_proto_msgTypes[15]
2387		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2388		ms.StoreMessageInfo(mi)
2389	}
2390}
2391
2392func (x *BytesRules) String() string {
2393	return protoimpl.X.MessageStringOf(x)
2394}
2395
2396func (*BytesRules) ProtoMessage() {}
2397
2398func (x *BytesRules) ProtoReflect() protoreflect.Message {
2399	mi := &file_validate_validate_proto_msgTypes[15]
2400	if protoimpl.UnsafeEnabled && x != nil {
2401		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2402		if ms.LoadMessageInfo() == nil {
2403			ms.StoreMessageInfo(mi)
2404		}
2405		return ms
2406	}
2407	return mi.MessageOf(x)
2408}
2409
2410// Deprecated: Use BytesRules.ProtoReflect.Descriptor instead.
2411func (*BytesRules) Descriptor() ([]byte, []int) {
2412	return file_validate_validate_proto_rawDescGZIP(), []int{15}
2413}
2414
2415func (x *BytesRules) GetConst() []byte {
2416	if x != nil {
2417		return x.Const
2418	}
2419	return nil
2420}
2421
2422func (x *BytesRules) GetLen() uint64 {
2423	if x != nil && x.Len != nil {
2424		return *x.Len
2425	}
2426	return 0
2427}
2428
2429func (x *BytesRules) GetMinLen() uint64 {
2430	if x != nil && x.MinLen != nil {
2431		return *x.MinLen
2432	}
2433	return 0
2434}
2435
2436func (x *BytesRules) GetMaxLen() uint64 {
2437	if x != nil && x.MaxLen != nil {
2438		return *x.MaxLen
2439	}
2440	return 0
2441}
2442
2443func (x *BytesRules) GetPattern() string {
2444	if x != nil && x.Pattern != nil {
2445		return *x.Pattern
2446	}
2447	return ""
2448}
2449
2450func (x *BytesRules) GetPrefix() []byte {
2451	if x != nil {
2452		return x.Prefix
2453	}
2454	return nil
2455}
2456
2457func (x *BytesRules) GetSuffix() []byte {
2458	if x != nil {
2459		return x.Suffix
2460	}
2461	return nil
2462}
2463
2464func (x *BytesRules) GetContains() []byte {
2465	if x != nil {
2466		return x.Contains
2467	}
2468	return nil
2469}
2470
2471func (x *BytesRules) GetIn() [][]byte {
2472	if x != nil {
2473		return x.In
2474	}
2475	return nil
2476}
2477
2478func (x *BytesRules) GetNotIn() [][]byte {
2479	if x != nil {
2480		return x.NotIn
2481	}
2482	return nil
2483}
2484
2485func (m *BytesRules) GetWellKnown() isBytesRules_WellKnown {
2486	if m != nil {
2487		return m.WellKnown
2488	}
2489	return nil
2490}
2491
2492func (x *BytesRules) GetIp() bool {
2493	if x, ok := x.GetWellKnown().(*BytesRules_Ip); ok {
2494		return x.Ip
2495	}
2496	return false
2497}
2498
2499func (x *BytesRules) GetIpv4() bool {
2500	if x, ok := x.GetWellKnown().(*BytesRules_Ipv4); ok {
2501		return x.Ipv4
2502	}
2503	return false
2504}
2505
2506func (x *BytesRules) GetIpv6() bool {
2507	if x, ok := x.GetWellKnown().(*BytesRules_Ipv6); ok {
2508		return x.Ipv6
2509	}
2510	return false
2511}
2512
2513func (x *BytesRules) GetIgnoreEmpty() bool {
2514	if x != nil && x.IgnoreEmpty != nil {
2515		return *x.IgnoreEmpty
2516	}
2517	return false
2518}
2519
2520type isBytesRules_WellKnown interface {
2521	isBytesRules_WellKnown()
2522}
2523
2524type BytesRules_Ip struct {
2525	// Ip specifies that the field must be a valid IP (v4 or v6) address in
2526	// byte format
2527	Ip bool `protobuf:"varint,10,opt,name=ip,oneof"`
2528}
2529
2530type BytesRules_Ipv4 struct {
2531	// Ipv4 specifies that the field must be a valid IPv4 address in byte
2532	// format
2533	Ipv4 bool `protobuf:"varint,11,opt,name=ipv4,oneof"`
2534}
2535
2536type BytesRules_Ipv6 struct {
2537	// Ipv6 specifies that the field must be a valid IPv6 address in byte
2538	// format
2539	Ipv6 bool `protobuf:"varint,12,opt,name=ipv6,oneof"`
2540}
2541
2542func (*BytesRules_Ip) isBytesRules_WellKnown() {}
2543
2544func (*BytesRules_Ipv4) isBytesRules_WellKnown() {}
2545
2546func (*BytesRules_Ipv6) isBytesRules_WellKnown() {}
2547
2548// EnumRules describe the constraints applied to enum values
2549type EnumRules struct {
2550	state         protoimpl.MessageState
2551	sizeCache     protoimpl.SizeCache
2552	unknownFields protoimpl.UnknownFields
2553
2554	// Const specifies that this field must be exactly the specified value
2555	Const *int32 `protobuf:"varint,1,opt,name=const" json:"const,omitempty"`
2556	// DefinedOnly specifies that this field must be only one of the defined
2557	// values for this enum, failing on any undefined value.
2558	DefinedOnly *bool `protobuf:"varint,2,opt,name=defined_only,json=definedOnly" json:"defined_only,omitempty"`
2559	// In specifies that this field must be equal to one of the specified
2560	// values
2561	In []int32 `protobuf:"varint,3,rep,name=in" json:"in,omitempty"`
2562	// NotIn specifies that this field cannot be equal to one of the specified
2563	// values
2564	NotIn []int32 `protobuf:"varint,4,rep,name=not_in,json=notIn" json:"not_in,omitempty"`
2565}
2566
2567func (x *EnumRules) Reset() {
2568	*x = EnumRules{}
2569	if protoimpl.UnsafeEnabled {
2570		mi := &file_validate_validate_proto_msgTypes[16]
2571		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2572		ms.StoreMessageInfo(mi)
2573	}
2574}
2575
2576func (x *EnumRules) String() string {
2577	return protoimpl.X.MessageStringOf(x)
2578}
2579
2580func (*EnumRules) ProtoMessage() {}
2581
2582func (x *EnumRules) ProtoReflect() protoreflect.Message {
2583	mi := &file_validate_validate_proto_msgTypes[16]
2584	if protoimpl.UnsafeEnabled && x != nil {
2585		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2586		if ms.LoadMessageInfo() == nil {
2587			ms.StoreMessageInfo(mi)
2588		}
2589		return ms
2590	}
2591	return mi.MessageOf(x)
2592}
2593
2594// Deprecated: Use EnumRules.ProtoReflect.Descriptor instead.
2595func (*EnumRules) Descriptor() ([]byte, []int) {
2596	return file_validate_validate_proto_rawDescGZIP(), []int{16}
2597}
2598
2599func (x *EnumRules) GetConst() int32 {
2600	if x != nil && x.Const != nil {
2601		return *x.Const
2602	}
2603	return 0
2604}
2605
2606func (x *EnumRules) GetDefinedOnly() bool {
2607	if x != nil && x.DefinedOnly != nil {
2608		return *x.DefinedOnly
2609	}
2610	return false
2611}
2612
2613func (x *EnumRules) GetIn() []int32 {
2614	if x != nil {
2615		return x.In
2616	}
2617	return nil
2618}
2619
2620func (x *EnumRules) GetNotIn() []int32 {
2621	if x != nil {
2622		return x.NotIn
2623	}
2624	return nil
2625}
2626
2627// MessageRules describe the constraints applied to embedded message values.
2628// For message-type fields, validation is performed recursively.
2629type MessageRules struct {
2630	state         protoimpl.MessageState
2631	sizeCache     protoimpl.SizeCache
2632	unknownFields protoimpl.UnknownFields
2633
2634	// Skip specifies that the validation rules of this field should not be
2635	// evaluated
2636	Skip *bool `protobuf:"varint,1,opt,name=skip" json:"skip,omitempty"`
2637	// Required specifies that this field must be set
2638	Required *bool `protobuf:"varint,2,opt,name=required" json:"required,omitempty"`
2639}
2640
2641func (x *MessageRules) Reset() {
2642	*x = MessageRules{}
2643	if protoimpl.UnsafeEnabled {
2644		mi := &file_validate_validate_proto_msgTypes[17]
2645		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2646		ms.StoreMessageInfo(mi)
2647	}
2648}
2649
2650func (x *MessageRules) String() string {
2651	return protoimpl.X.MessageStringOf(x)
2652}
2653
2654func (*MessageRules) ProtoMessage() {}
2655
2656func (x *MessageRules) ProtoReflect() protoreflect.Message {
2657	mi := &file_validate_validate_proto_msgTypes[17]
2658	if protoimpl.UnsafeEnabled && x != nil {
2659		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2660		if ms.LoadMessageInfo() == nil {
2661			ms.StoreMessageInfo(mi)
2662		}
2663		return ms
2664	}
2665	return mi.MessageOf(x)
2666}
2667
2668// Deprecated: Use MessageRules.ProtoReflect.Descriptor instead.
2669func (*MessageRules) Descriptor() ([]byte, []int) {
2670	return file_validate_validate_proto_rawDescGZIP(), []int{17}
2671}
2672
2673func (x *MessageRules) GetSkip() bool {
2674	if x != nil && x.Skip != nil {
2675		return *x.Skip
2676	}
2677	return false
2678}
2679
2680func (x *MessageRules) GetRequired() bool {
2681	if x != nil && x.Required != nil {
2682		return *x.Required
2683	}
2684	return false
2685}
2686
2687// RepeatedRules describe the constraints applied to `repeated` values
2688type RepeatedRules struct {
2689	state         protoimpl.MessageState
2690	sizeCache     protoimpl.SizeCache
2691	unknownFields protoimpl.UnknownFields
2692
2693	// MinItems specifies that this field must have the specified number of
2694	// items at a minimum
2695	MinItems *uint64 `protobuf:"varint,1,opt,name=min_items,json=minItems" json:"min_items,omitempty"`
2696	// MaxItems specifies that this field must have the specified number of
2697	// items at a maximum
2698	MaxItems *uint64 `protobuf:"varint,2,opt,name=max_items,json=maxItems" json:"max_items,omitempty"`
2699	// Unique specifies that all elements in this field must be unique. This
2700	// contraint is only applicable to scalar and enum types (messages are not
2701	// supported).
2702	Unique *bool `protobuf:"varint,3,opt,name=unique" json:"unique,omitempty"`
2703	// Items specifies the contraints to be applied to each item in the field.
2704	// Repeated message fields will still execute validation against each item
2705	// unless skip is specified here.
2706	Items *FieldRules `protobuf:"bytes,4,opt,name=items" json:"items,omitempty"`
2707	// IgnoreEmpty specifies that the validation rules of this field should be
2708	// evaluated only if the field is not empty
2709	IgnoreEmpty *bool `protobuf:"varint,5,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"`
2710}
2711
2712func (x *RepeatedRules) Reset() {
2713	*x = RepeatedRules{}
2714	if protoimpl.UnsafeEnabled {
2715		mi := &file_validate_validate_proto_msgTypes[18]
2716		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2717		ms.StoreMessageInfo(mi)
2718	}
2719}
2720
2721func (x *RepeatedRules) String() string {
2722	return protoimpl.X.MessageStringOf(x)
2723}
2724
2725func (*RepeatedRules) ProtoMessage() {}
2726
2727func (x *RepeatedRules) ProtoReflect() protoreflect.Message {
2728	mi := &file_validate_validate_proto_msgTypes[18]
2729	if protoimpl.UnsafeEnabled && x != nil {
2730		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2731		if ms.LoadMessageInfo() == nil {
2732			ms.StoreMessageInfo(mi)
2733		}
2734		return ms
2735	}
2736	return mi.MessageOf(x)
2737}
2738
2739// Deprecated: Use RepeatedRules.ProtoReflect.Descriptor instead.
2740func (*RepeatedRules) Descriptor() ([]byte, []int) {
2741	return file_validate_validate_proto_rawDescGZIP(), []int{18}
2742}
2743
2744func (x *RepeatedRules) GetMinItems() uint64 {
2745	if x != nil && x.MinItems != nil {
2746		return *x.MinItems
2747	}
2748	return 0
2749}
2750
2751func (x *RepeatedRules) GetMaxItems() uint64 {
2752	if x != nil && x.MaxItems != nil {
2753		return *x.MaxItems
2754	}
2755	return 0
2756}
2757
2758func (x *RepeatedRules) GetUnique() bool {
2759	if x != nil && x.Unique != nil {
2760		return *x.Unique
2761	}
2762	return false
2763}
2764
2765func (x *RepeatedRules) GetItems() *FieldRules {
2766	if x != nil {
2767		return x.Items
2768	}
2769	return nil
2770}
2771
2772func (x *RepeatedRules) GetIgnoreEmpty() bool {
2773	if x != nil && x.IgnoreEmpty != nil {
2774		return *x.IgnoreEmpty
2775	}
2776	return false
2777}
2778
2779// MapRules describe the constraints applied to `map` values
2780type MapRules struct {
2781	state         protoimpl.MessageState
2782	sizeCache     protoimpl.SizeCache
2783	unknownFields protoimpl.UnknownFields
2784
2785	// MinPairs specifies that this field must have the specified number of
2786	// KVs at a minimum
2787	MinPairs *uint64 `protobuf:"varint,1,opt,name=min_pairs,json=minPairs" json:"min_pairs,omitempty"`
2788	// MaxPairs specifies that this field must have the specified number of
2789	// KVs at a maximum
2790	MaxPairs *uint64 `protobuf:"varint,2,opt,name=max_pairs,json=maxPairs" json:"max_pairs,omitempty"`
2791	// NoSparse specifies values in this field cannot be unset. This only
2792	// applies to map's with message value types.
2793	NoSparse *bool `protobuf:"varint,3,opt,name=no_sparse,json=noSparse" json:"no_sparse,omitempty"`
2794	// Keys specifies the constraints to be applied to each key in the field.
2795	Keys *FieldRules `protobuf:"bytes,4,opt,name=keys" json:"keys,omitempty"`
2796	// Values specifies the constraints to be applied to the value of each key
2797	// in the field. Message values will still have their validations evaluated
2798	// unless skip is specified here.
2799	Values *FieldRules `protobuf:"bytes,5,opt,name=values" json:"values,omitempty"`
2800	// IgnoreEmpty specifies that the validation rules of this field should be
2801	// evaluated only if the field is not empty
2802	IgnoreEmpty *bool `protobuf:"varint,6,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"`
2803}
2804
2805func (x *MapRules) Reset() {
2806	*x = MapRules{}
2807	if protoimpl.UnsafeEnabled {
2808		mi := &file_validate_validate_proto_msgTypes[19]
2809		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2810		ms.StoreMessageInfo(mi)
2811	}
2812}
2813
2814func (x *MapRules) String() string {
2815	return protoimpl.X.MessageStringOf(x)
2816}
2817
2818func (*MapRules) ProtoMessage() {}
2819
2820func (x *MapRules) ProtoReflect() protoreflect.Message {
2821	mi := &file_validate_validate_proto_msgTypes[19]
2822	if protoimpl.UnsafeEnabled && x != nil {
2823		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2824		if ms.LoadMessageInfo() == nil {
2825			ms.StoreMessageInfo(mi)
2826		}
2827		return ms
2828	}
2829	return mi.MessageOf(x)
2830}
2831
2832// Deprecated: Use MapRules.ProtoReflect.Descriptor instead.
2833func (*MapRules) Descriptor() ([]byte, []int) {
2834	return file_validate_validate_proto_rawDescGZIP(), []int{19}
2835}
2836
2837func (x *MapRules) GetMinPairs() uint64 {
2838	if x != nil && x.MinPairs != nil {
2839		return *x.MinPairs
2840	}
2841	return 0
2842}
2843
2844func (x *MapRules) GetMaxPairs() uint64 {
2845	if x != nil && x.MaxPairs != nil {
2846		return *x.MaxPairs
2847	}
2848	return 0
2849}
2850
2851func (x *MapRules) GetNoSparse() bool {
2852	if x != nil && x.NoSparse != nil {
2853		return *x.NoSparse
2854	}
2855	return false
2856}
2857
2858func (x *MapRules) GetKeys() *FieldRules {
2859	if x != nil {
2860		return x.Keys
2861	}
2862	return nil
2863}
2864
2865func (x *MapRules) GetValues() *FieldRules {
2866	if x != nil {
2867		return x.Values
2868	}
2869	return nil
2870}
2871
2872func (x *MapRules) GetIgnoreEmpty() bool {
2873	if x != nil && x.IgnoreEmpty != nil {
2874		return *x.IgnoreEmpty
2875	}
2876	return false
2877}
2878
2879// AnyRules describe constraints applied exclusively to the
2880// `google.protobuf.Any` well-known type
2881type AnyRules struct {
2882	state         protoimpl.MessageState
2883	sizeCache     protoimpl.SizeCache
2884	unknownFields protoimpl.UnknownFields
2885
2886	// Required specifies that this field must be set
2887	Required *bool `protobuf:"varint,1,opt,name=required" json:"required,omitempty"`
2888	// In specifies that this field's `type_url` must be equal to one of the
2889	// specified values.
2890	In []string `protobuf:"bytes,2,rep,name=in" json:"in,omitempty"`
2891	// NotIn specifies that this field's `type_url` must not be equal to any of
2892	// the specified values.
2893	NotIn []string `protobuf:"bytes,3,rep,name=not_in,json=notIn" json:"not_in,omitempty"`
2894}
2895
2896func (x *AnyRules) Reset() {
2897	*x = AnyRules{}
2898	if protoimpl.UnsafeEnabled {
2899		mi := &file_validate_validate_proto_msgTypes[20]
2900		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2901		ms.StoreMessageInfo(mi)
2902	}
2903}
2904
2905func (x *AnyRules) String() string {
2906	return protoimpl.X.MessageStringOf(x)
2907}
2908
2909func (*AnyRules) ProtoMessage() {}
2910
2911func (x *AnyRules) ProtoReflect() protoreflect.Message {
2912	mi := &file_validate_validate_proto_msgTypes[20]
2913	if protoimpl.UnsafeEnabled && x != nil {
2914		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2915		if ms.LoadMessageInfo() == nil {
2916			ms.StoreMessageInfo(mi)
2917		}
2918		return ms
2919	}
2920	return mi.MessageOf(x)
2921}
2922
2923// Deprecated: Use AnyRules.ProtoReflect.Descriptor instead.
2924func (*AnyRules) Descriptor() ([]byte, []int) {
2925	return file_validate_validate_proto_rawDescGZIP(), []int{20}
2926}
2927
2928func (x *AnyRules) GetRequired() bool {
2929	if x != nil && x.Required != nil {
2930		return *x.Required
2931	}
2932	return false
2933}
2934
2935func (x *AnyRules) GetIn() []string {
2936	if x != nil {
2937		return x.In
2938	}
2939	return nil
2940}
2941
2942func (x *AnyRules) GetNotIn() []string {
2943	if x != nil {
2944		return x.NotIn
2945	}
2946	return nil
2947}
2948
2949// DurationRules describe the constraints applied exclusively to the
2950// `google.protobuf.Duration` well-known type
2951type DurationRules struct {
2952	state         protoimpl.MessageState
2953	sizeCache     protoimpl.SizeCache
2954	unknownFields protoimpl.UnknownFields
2955
2956	// Required specifies that this field must be set
2957	Required *bool `protobuf:"varint,1,opt,name=required" json:"required,omitempty"`
2958	// Const specifies that this field must be exactly the specified value
2959	Const *durationpb.Duration `protobuf:"bytes,2,opt,name=const" json:"const,omitempty"`
2960	// Lt specifies that this field must be less than the specified value,
2961	// exclusive
2962	Lt *durationpb.Duration `protobuf:"bytes,3,opt,name=lt" json:"lt,omitempty"`
2963	// Lt specifies that this field must be less than the specified value,
2964	// inclusive
2965	Lte *durationpb.Duration `protobuf:"bytes,4,opt,name=lte" json:"lte,omitempty"`
2966	// Gt specifies that this field must be greater than the specified value,
2967	// exclusive
2968	Gt *durationpb.Duration `protobuf:"bytes,5,opt,name=gt" json:"gt,omitempty"`
2969	// Gte specifies that this field must be greater than the specified value,
2970	// inclusive
2971	Gte *durationpb.Duration `protobuf:"bytes,6,opt,name=gte" json:"gte,omitempty"`
2972	// In specifies that this field must be equal to one of the specified
2973	// values
2974	In []*durationpb.Duration `protobuf:"bytes,7,rep,name=in" json:"in,omitempty"`
2975	// NotIn specifies that this field cannot be equal to one of the specified
2976	// values
2977	NotIn []*durationpb.Duration `protobuf:"bytes,8,rep,name=not_in,json=notIn" json:"not_in,omitempty"`
2978}
2979
2980func (x *DurationRules) Reset() {
2981	*x = DurationRules{}
2982	if protoimpl.UnsafeEnabled {
2983		mi := &file_validate_validate_proto_msgTypes[21]
2984		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2985		ms.StoreMessageInfo(mi)
2986	}
2987}
2988
2989func (x *DurationRules) String() string {
2990	return protoimpl.X.MessageStringOf(x)
2991}
2992
2993func (*DurationRules) ProtoMessage() {}
2994
2995func (x *DurationRules) ProtoReflect() protoreflect.Message {
2996	mi := &file_validate_validate_proto_msgTypes[21]
2997	if protoimpl.UnsafeEnabled && x != nil {
2998		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2999		if ms.LoadMessageInfo() == nil {
3000			ms.StoreMessageInfo(mi)
3001		}
3002		return ms
3003	}
3004	return mi.MessageOf(x)
3005}
3006
3007// Deprecated: Use DurationRules.ProtoReflect.Descriptor instead.
3008func (*DurationRules) Descriptor() ([]byte, []int) {
3009	return file_validate_validate_proto_rawDescGZIP(), []int{21}
3010}
3011
3012func (x *DurationRules) GetRequired() bool {
3013	if x != nil && x.Required != nil {
3014		return *x.Required
3015	}
3016	return false
3017}
3018
3019func (x *DurationRules) GetConst() *durationpb.Duration {
3020	if x != nil {
3021		return x.Const
3022	}
3023	return nil
3024}
3025
3026func (x *DurationRules) GetLt() *durationpb.Duration {
3027	if x != nil {
3028		return x.Lt
3029	}
3030	return nil
3031}
3032
3033func (x *DurationRules) GetLte() *durationpb.Duration {
3034	if x != nil {
3035		return x.Lte
3036	}
3037	return nil
3038}
3039
3040func (x *DurationRules) GetGt() *durationpb.Duration {
3041	if x != nil {
3042		return x.Gt
3043	}
3044	return nil
3045}
3046
3047func (x *DurationRules) GetGte() *durationpb.Duration {
3048	if x != nil {
3049		return x.Gte
3050	}
3051	return nil
3052}
3053
3054func (x *DurationRules) GetIn() []*durationpb.Duration {
3055	if x != nil {
3056		return x.In
3057	}
3058	return nil
3059}
3060
3061func (x *DurationRules) GetNotIn() []*durationpb.Duration {
3062	if x != nil {
3063		return x.NotIn
3064	}
3065	return nil
3066}
3067
3068// TimestampRules describe the constraints applied exclusively to the
3069// `google.protobuf.Timestamp` well-known type
3070type TimestampRules struct {
3071	state         protoimpl.MessageState
3072	sizeCache     protoimpl.SizeCache
3073	unknownFields protoimpl.UnknownFields
3074
3075	// Required specifies that this field must be set
3076	Required *bool `protobuf:"varint,1,opt,name=required" json:"required,omitempty"`
3077	// Const specifies that this field must be exactly the specified value
3078	Const *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=const" json:"const,omitempty"`
3079	// Lt specifies that this field must be less than the specified value,
3080	// exclusive
3081	Lt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=lt" json:"lt,omitempty"`
3082	// Lte specifies that this field must be less than the specified value,
3083	// inclusive
3084	Lte *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=lte" json:"lte,omitempty"`
3085	// Gt specifies that this field must be greater than the specified value,
3086	// exclusive
3087	Gt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=gt" json:"gt,omitempty"`
3088	// Gte specifies that this field must be greater than the specified value,
3089	// inclusive
3090	Gte *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=gte" json:"gte,omitempty"`
3091	// LtNow specifies that this must be less than the current time. LtNow
3092	// can only be used with the Within rule.
3093	LtNow *bool `protobuf:"varint,7,opt,name=lt_now,json=ltNow" json:"lt_now,omitempty"`
3094	// GtNow specifies that this must be greater than the current time. GtNow
3095	// can only be used with the Within rule.
3096	GtNow *bool `protobuf:"varint,8,opt,name=gt_now,json=gtNow" json:"gt_now,omitempty"`
3097	// Within specifies that this field must be within this duration of the
3098	// current time. This constraint can be used alone or with the LtNow and
3099	// GtNow rules.
3100	Within *durationpb.Duration `protobuf:"bytes,9,opt,name=within" json:"within,omitempty"`
3101}
3102
3103func (x *TimestampRules) Reset() {
3104	*x = TimestampRules{}
3105	if protoimpl.UnsafeEnabled {
3106		mi := &file_validate_validate_proto_msgTypes[22]
3107		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3108		ms.StoreMessageInfo(mi)
3109	}
3110}
3111
3112func (x *TimestampRules) String() string {
3113	return protoimpl.X.MessageStringOf(x)
3114}
3115
3116func (*TimestampRules) ProtoMessage() {}
3117
3118func (x *TimestampRules) ProtoReflect() protoreflect.Message {
3119	mi := &file_validate_validate_proto_msgTypes[22]
3120	if protoimpl.UnsafeEnabled && x != nil {
3121		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3122		if ms.LoadMessageInfo() == nil {
3123			ms.StoreMessageInfo(mi)
3124		}
3125		return ms
3126	}
3127	return mi.MessageOf(x)
3128}
3129
3130// Deprecated: Use TimestampRules.ProtoReflect.Descriptor instead.
3131func (*TimestampRules) Descriptor() ([]byte, []int) {
3132	return file_validate_validate_proto_rawDescGZIP(), []int{22}
3133}
3134
3135func (x *TimestampRules) GetRequired() bool {
3136	if x != nil && x.Required != nil {
3137		return *x.Required
3138	}
3139	return false
3140}
3141
3142func (x *TimestampRules) GetConst() *timestamppb.Timestamp {
3143	if x != nil {
3144		return x.Const
3145	}
3146	return nil
3147}
3148
3149func (x *TimestampRules) GetLt() *timestamppb.Timestamp {
3150	if x != nil {
3151		return x.Lt
3152	}
3153	return nil
3154}
3155
3156func (x *TimestampRules) GetLte() *timestamppb.Timestamp {
3157	if x != nil {
3158		return x.Lte
3159	}
3160	return nil
3161}
3162
3163func (x *TimestampRules) GetGt() *timestamppb.Timestamp {
3164	if x != nil {
3165		return x.Gt
3166	}
3167	return nil
3168}
3169
3170func (x *TimestampRules) GetGte() *timestamppb.Timestamp {
3171	if x != nil {
3172		return x.Gte
3173	}
3174	return nil
3175}
3176
3177func (x *TimestampRules) GetLtNow() bool {
3178	if x != nil && x.LtNow != nil {
3179		return *x.LtNow
3180	}
3181	return false
3182}
3183
3184func (x *TimestampRules) GetGtNow() bool {
3185	if x != nil && x.GtNow != nil {
3186		return *x.GtNow
3187	}
3188	return false
3189}
3190
3191func (x *TimestampRules) GetWithin() *durationpb.Duration {
3192	if x != nil {
3193		return x.Within
3194	}
3195	return nil
3196}
3197
3198var file_validate_validate_proto_extTypes = []protoimpl.ExtensionInfo{
3199	{
3200		ExtendedType:  (*descriptorpb.MessageOptions)(nil),
3201		ExtensionType: (*bool)(nil),
3202		Field:         1071,
3203		Name:          "validate.disabled",
3204		Tag:           "varint,1071,opt,name=disabled",
3205		Filename:      "validate/validate.proto",
3206	},
3207	{
3208		ExtendedType:  (*descriptorpb.MessageOptions)(nil),
3209		ExtensionType: (*bool)(nil),
3210		Field:         1072,
3211		Name:          "validate.ignored",
3212		Tag:           "varint,1072,opt,name=ignored",
3213		Filename:      "validate/validate.proto",
3214	},
3215	{
3216		ExtendedType:  (*descriptorpb.OneofOptions)(nil),
3217		ExtensionType: (*bool)(nil),
3218		Field:         1071,
3219		Name:          "validate.required",
3220		Tag:           "varint,1071,opt,name=required",
3221		Filename:      "validate/validate.proto",
3222	},
3223	{
3224		ExtendedType:  (*descriptorpb.FieldOptions)(nil),
3225		ExtensionType: (*FieldRules)(nil),
3226		Field:         1071,
3227		Name:          "validate.rules",
3228		Tag:           "bytes,1071,opt,name=rules",
3229		Filename:      "validate/validate.proto",
3230	},
3231}
3232
3233// Extension fields to descriptorpb.MessageOptions.
3234var (
3235	// Disabled nullifies any validation rules for this message, including any
3236	// message fields associated with it that do support validation.
3237	//
3238	// optional bool disabled = 1071;
3239	E_Disabled = &file_validate_validate_proto_extTypes[0]
3240	// Ignore skips generation of validation methods for this message.
3241	//
3242	// optional bool ignored = 1072;
3243	E_Ignored = &file_validate_validate_proto_extTypes[1]
3244)
3245
3246// Extension fields to descriptorpb.OneofOptions.
3247var (
3248	// Required ensures that exactly one the field options in a oneof is set;
3249	// validation fails if no fields in the oneof are set.
3250	//
3251	// optional bool required = 1071;
3252	E_Required = &file_validate_validate_proto_extTypes[2]
3253)
3254
3255// Extension fields to descriptorpb.FieldOptions.
3256var (
3257	// Rules specify the validations to be performed on this field. By default,
3258	// no validation is performed against a field.
3259	//
3260	// optional validate.FieldRules rules = 1071;
3261	E_Rules = &file_validate_validate_proto_extTypes[3]
3262)
3263
3264var File_validate_validate_proto protoreflect.FileDescriptor
3265
3266var file_validate_validate_proto_rawDesc = []byte{
3267	0x0a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64,
3268	0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64,
3269	0x61, 0x74, 0x65, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74,
3270	0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e,
3271	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
3272	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
3273	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
3274	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
3275	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc8, 0x08, 0x0a, 0x0a, 0x46, 0x69, 0x65, 0x6c, 0x64,
3276	0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
3277	0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
3278	0x65, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x07,
3279	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2c, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x61, 0x74,
3280	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
3281	0x65, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x05,
3282	0x66, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x2f, 0x0a, 0x06, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18,
3283	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65,
3284	0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x06,
3285	0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x2c, 0x0a, 0x05, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18,
3286	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65,
3287	0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x05, 0x69,
3288	0x6e, 0x74, 0x33, 0x32, 0x12, 0x2c, 0x0a, 0x05, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x04, 0x20,
3289	0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x49,
3290	0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x05, 0x69, 0x6e, 0x74,
3291	0x36, 0x34, 0x12, 0x2f, 0x0a, 0x06, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x05, 0x20, 0x01,
3292	0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x55, 0x49,
3293	0x6e, 0x74, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x06, 0x75, 0x69, 0x6e,
3294	0x74, 0x33, 0x32, 0x12, 0x2f, 0x0a, 0x06, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x06, 0x20,
3295	0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x55,
3296	0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x06, 0x75, 0x69,
3297	0x6e, 0x74, 0x36, 0x34, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x07,
3298	0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e,
3299	0x53, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73,
3300	0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18,
3301	0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65,
3302	0x2e, 0x53, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x06,
3303	0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x32, 0x0a, 0x07, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33,
3304	0x32, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61,
3305	0x74, 0x65, 0x2e, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48,
3306	0x00, 0x52, 0x07, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x32, 0x0a, 0x07, 0x66, 0x69,
3307	0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x76, 0x61,
3308	0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x52, 0x75,
3309	0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x07, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x35,
3310	0x0a, 0x08, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b,
3311	0x32, 0x17, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x46, 0x69, 0x78,
3312	0x65, 0x64, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x08, 0x73, 0x66, 0x69,
3313	0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x35, 0x0a, 0x08, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36,
3314	0x34, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61,
3315	0x74, 0x65, 0x2e, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73,
3316	0x48, 0x00, 0x52, 0x08, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x29, 0x0a, 0x04,
3317	0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x61, 0x6c,
3318	0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48,
3319	0x00, 0x52, 0x04, 0x62, 0x6f, 0x6f, 0x6c, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e,
3320	0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61,
3321	0x74, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00,
3322	0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x2c, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65,
3323	0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61,
3324	0x74, 0x65, 0x2e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52,
3325	0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x04, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x10,
3326	0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e,
3327	0x45, 0x6e, 0x75, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x04, 0x65, 0x6e, 0x75,
3328	0x6d, 0x12, 0x35, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x12, 0x20,
3329	0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x52,
3330	0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x08,
3331	0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x03, 0x6d, 0x61, 0x70, 0x18,
3332	0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65,
3333	0x2e, 0x4d, 0x61, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x03, 0x6d, 0x61, 0x70,
3334	0x12, 0x26, 0x0a, 0x03, 0x61, 0x6e, 0x79, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e,
3335	0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x75, 0x6c, 0x65,
3336	0x73, 0x48, 0x00, 0x52, 0x03, 0x61, 0x6e, 0x79, 0x12, 0x35, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61,
3337	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x76, 0x61, 0x6c,
3338	0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75,
3339	0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
3340	0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x16, 0x20, 0x01,
3341	0x28, 0x0b, 0x32, 0x18, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x69,
3342	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x09,
3343	0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70,
3344	0x65, 0x22, 0xb0, 0x01, 0x0a, 0x0a, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73,
3345	0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52,
3346	0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01,
3347	0x28, 0x02, 0x52, 0x02, 0x6c, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20,
3348	0x01, 0x28, 0x02, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04,
3349	0x20, 0x01, 0x28, 0x02, 0x52, 0x02, 0x67, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18,
3350	0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e,
3351	0x18, 0x06, 0x20, 0x03, 0x28, 0x02, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f,
3352	0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x02, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49,
3353	0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74,
3354	0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45,
3355	0x6d, 0x70, 0x74, 0x79, 0x22, 0xb1, 0x01, 0x0a, 0x0b, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x52,
3356	0x75, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20,
3357	0x01, 0x28, 0x01, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x74,
3358	0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x02, 0x6c, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x74,
3359	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02,
3360	0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x02, 0x67, 0x74, 0x12, 0x10, 0x0a, 0x03,
3361	0x67, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x0e,
3362	0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x01, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15,
3363	0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x01, 0x52, 0x05,
3364	0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f,
3365	0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e,
3366	0x6f, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xb0, 0x01, 0x0a, 0x0a, 0x49, 0x6e, 0x74,
3367	0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74,
3368	0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x0e, 0x0a,
3369	0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x74, 0x12, 0x10, 0x0a,
3370	0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12,
3371	0x0e, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x67, 0x74, 0x12,
3372	0x10, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x67, 0x74,
3373	0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x02, 0x69,
3374	0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28,
3375	0x05, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f,
3376	0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b,
3377	0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xb0, 0x01, 0x0a, 0x0a,
3378	0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f,
3379	0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74,
3380	0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x6c, 0x74,
3381	0x12, 0x10, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6c,
3382	0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02,
3383	0x67, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52,
3384	0x03, 0x67, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x03,
3385	0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07,
3386	0x20, 0x03, 0x28, 0x03, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x69,
3387	0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28,
3388	0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xb1,
3389	0x01, 0x0a, 0x0b, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x14,
3390	0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63,
3391	0x6f, 0x6e, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
3392	0x52, 0x02, 0x6c, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
3393	0x0d, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01,
3394	0x28, 0x0d, 0x52, 0x02, 0x67, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x05, 0x20,
3395	0x01, 0x28, 0x0d, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06,
3396	0x20, 0x03, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f,
3397	0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12,
3398	0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18,
3399	0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x70,
3400	0x74, 0x79, 0x22, 0xb1, 0x01, 0x0a, 0x0b, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c,
3401	0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
3402	0x04, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02,
3403	0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x6c, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18,
3404	0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x67, 0x74,
3405	0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x67, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x74,
3406	0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02,
3407	0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x04, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06,
3408	0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x04, 0x52, 0x05, 0x6e, 0x6f,
3409	0x74, 0x49, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d,
3410	0x70, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72,
3411	0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xb1, 0x01, 0x0a, 0x0b, 0x53, 0x49, 0x6e, 0x74, 0x33,
3412	0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18,
3413	0x01, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02,
3414	0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, 0x52, 0x02, 0x6c, 0x74, 0x12, 0x10, 0x0a, 0x03,
3415	0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0x0e,
3416	0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x02, 0x67, 0x74, 0x12, 0x10,
3417	0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x03, 0x67, 0x74, 0x65,
3418	0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x11, 0x52, 0x02, 0x69, 0x6e,
3419	0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x11,
3420	0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72,
3421	0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69,
3422	0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xb1, 0x01, 0x0a, 0x0b, 0x53,
3423	0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f,
3424	0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74,
3425	0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x02, 0x6c, 0x74,
3426	0x12, 0x10, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x03, 0x6c,
3427	0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x02,
3428	0x67, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x52,
3429	0x03, 0x67, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x12,
3430	0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07,
3431	0x20, 0x03, 0x28, 0x12, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x69,
3432	0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28,
3433	0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xb2,
3434	0x01, 0x0a, 0x0c, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12,
3435	0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x05,
3436	0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
3437	0x07, 0x52, 0x02, 0x6c, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01,
3438	0x28, 0x07, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20,
3439	0x01, 0x28, 0x07, 0x52, 0x02, 0x67, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x05,
3440	0x20, 0x01, 0x28, 0x07, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18,
3441	0x06, 0x20, 0x03, 0x28, 0x07, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74,
3442	0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x07, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e,
3443	0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79,
3444	0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45, 0x6d,
3445	0x70, 0x74, 0x79, 0x22, 0xb2, 0x01, 0x0a, 0x0c, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x52,
3446	0x75, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20,
3447	0x01, 0x28, 0x06, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x74,
3448	0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x02, 0x6c, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x74,
3449	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02,
3450	0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x06, 0x52, 0x02, 0x67, 0x74, 0x12, 0x10, 0x0a, 0x03,
3451	0x67, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x06, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x0e,
3452	0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x06, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15,
3453	0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x06, 0x52, 0x05,
3454	0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f,
3455	0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e,
3456	0x6f, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xb3, 0x01, 0x0a, 0x0d, 0x53, 0x46, 0x69,
3457	0x78, 0x65, 0x64, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f,
3458	0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74,
3459	0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x02, 0x6c, 0x74,
3460	0x12, 0x10, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x03, 0x6c,
3461	0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x02,
3462	0x67, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0f, 0x52,
3463	0x03, 0x67, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0f,
3464	0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07,
3465	0x20, 0x03, 0x28, 0x0f, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x69,
3466	0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28,
3467	0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xb3,
3468	0x01, 0x0a, 0x0d, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73,
3469	0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x10, 0x52,
3470	0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01,
3471	0x28, 0x10, 0x52, 0x02, 0x6c, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20,
3472	0x01, 0x28, 0x10, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04,
3473	0x20, 0x01, 0x28, 0x10, 0x52, 0x02, 0x67, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18,
3474	0x05, 0x20, 0x01, 0x28, 0x10, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e,
3475	0x18, 0x06, 0x20, 0x03, 0x28, 0x10, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f,
3476	0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x10, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49,
3477	0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74,
3478	0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45,
3479	0x6d, 0x70, 0x74, 0x79, 0x22, 0x21, 0x0a, 0x09, 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x75, 0x6c, 0x65,
3480	0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
3481	0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x22, 0xd4, 0x05, 0x0a, 0x0b, 0x53, 0x74, 0x72, 0x69,
3482	0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74,
3483	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x10, 0x0a,
3484	0x03, 0x6c, 0x65, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6c, 0x65, 0x6e, 0x12,
3485	0x17, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04,
3486	0x52, 0x06, 0x6d, 0x69, 0x6e, 0x4c, 0x65, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x5f,
3487	0x6c, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x4c, 0x65,
3488	0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x14,
3489	0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6c, 0x65, 0x6e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1b,
3490	0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
3491	0x04, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6d,
3492	0x61, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08,
3493	0x6d, 0x61, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x74,
3494	0x65, 0x72, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65,
3495	0x72, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x07, 0x20, 0x01,
3496	0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75,
3497	0x66, 0x66, 0x69, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, 0x66, 0x66,
3498	0x69, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x09,
3499	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x21,
3500	0x0a, 0x0c, 0x6e, 0x6f, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x17,
3501	0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x6f, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
3502	0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x02, 0x69,
3503	0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x0b, 0x20, 0x03, 0x28,
3504	0x09, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x16, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69,
3505	0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c,
3506	0x12, 0x1c, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01,
3507	0x28, 0x08, 0x48, 0x00, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10,
3508	0x0a, 0x02, 0x69, 0x70, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x02, 0x69, 0x70,
3509	0x12, 0x14, 0x0a, 0x04, 0x69, 0x70, 0x76, 0x34, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00,
3510	0x52, 0x04, 0x69, 0x70, 0x76, 0x34, 0x12, 0x14, 0x0a, 0x04, 0x69, 0x70, 0x76, 0x36, 0x18, 0x10,
3511	0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x04, 0x69, 0x70, 0x76, 0x36, 0x12, 0x12, 0x0a, 0x03,
3512	0x75, 0x72, 0x69, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x03, 0x75, 0x72, 0x69,
3513	0x12, 0x19, 0x0a, 0x07, 0x75, 0x72, 0x69, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x12, 0x20, 0x01, 0x28,
3514	0x08, 0x48, 0x00, 0x52, 0x06, 0x75, 0x72, 0x69, 0x52, 0x65, 0x66, 0x12, 0x1a, 0x0a, 0x07, 0x61,
3515	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x07,
3516	0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18,
3517	0x16, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x40, 0x0a,
3518	0x10, 0x77, 0x65, 0x6c, 0x6c, 0x5f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x72, 0x65, 0x67, 0x65,
3519	0x78, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61,
3520	0x74, 0x65, 0x2e, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x48, 0x00, 0x52,
3521	0x0e, 0x77, 0x65, 0x6c, 0x6c, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x12,
3522	0x1c, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x3a,
3523	0x04, 0x74, 0x72, 0x75, 0x65, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x12, 0x21, 0x0a,
3524	0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x1a, 0x20,
3525	0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79,
3526	0x42, 0x0c, 0x0a, 0x0a, 0x77, 0x65, 0x6c, 0x6c, 0x5f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x22, 0xe2,
3527	0x02, 0x0a, 0x0a, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a,
3528	0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x63, 0x6f,
3529	0x6e, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x65, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04,
3530	0x52, 0x03, 0x6c, 0x65, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e,
3531	0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x4c, 0x65, 0x6e, 0x12, 0x17,
3532	0x0a, 0x07, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52,
3533	0x06, 0x6d, 0x61, 0x78, 0x4c, 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65,
3534	0x72, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72,
3535	0x6e, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28,
3536	0x0c, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, 0x66,
3537	0x66, 0x69, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x73, 0x75, 0x66, 0x66, 0x69,
3538	0x78, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x07, 0x20,
3539	0x01, 0x28, 0x0c, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x0e, 0x0a,
3540	0x02, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a,
3541	0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x05, 0x6e,
3542	0x6f, 0x74, 0x49, 0x6e, 0x12, 0x10, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08,
3543	0x48, 0x00, 0x52, 0x02, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x04, 0x69, 0x70, 0x76, 0x34, 0x18, 0x0b,
3544	0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x04, 0x69, 0x70, 0x76, 0x34, 0x12, 0x14, 0x0a, 0x04,
3545	0x69, 0x70, 0x76, 0x36, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x04, 0x69, 0x70,
3546	0x76, 0x36, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70,
3547	0x74, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65,
3548	0x45, 0x6d, 0x70, 0x74, 0x79, 0x42, 0x0c, 0x0a, 0x0a, 0x77, 0x65, 0x6c, 0x6c, 0x5f, 0x6b, 0x6e,
3549	0x6f, 0x77, 0x6e, 0x22, 0x6b, 0x0a, 0x09, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x73,
3550	0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
3551	0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65,
3552	0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x64, 0x65,
3553	0x66, 0x69, 0x6e, 0x65, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18,
3554	0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74,
3555	0x5f, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e,
3556	0x22, 0x3e, 0x0a, 0x0c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73,
3557	0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04,
3558	0x73, 0x6b, 0x69, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64,
3559	0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64,
3560	0x22, 0xb0, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x75, 0x6c,
3561	0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18,
3562	0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12,
3563	0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01,
3564	0x28, 0x04, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x16, 0x0a, 0x06,
3565	0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x6e,
3566	0x69, 0x71, 0x75, 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, 0x20,
3567	0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46,
3568	0x69, 0x65, 0x6c, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73,
3569	0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79,
3570	0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45, 0x6d,
3571	0x70, 0x74, 0x79, 0x22, 0xdc, 0x01, 0x0a, 0x08, 0x4d, 0x61, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x73,
3572	0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x18, 0x01, 0x20,
3573	0x01, 0x28, 0x04, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x50, 0x61, 0x69, 0x72, 0x73, 0x12, 0x1b, 0x0a,
3574	0x09, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04,
3575	0x52, 0x08, 0x6d, 0x61, 0x78, 0x50, 0x61, 0x69, 0x72, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f,
3576	0x5f, 0x73, 0x70, 0x61, 0x72, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6e,
3577	0x6f, 0x53, 0x70, 0x61, 0x72, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18,
3578	0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65,
3579	0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x04, 0x6b, 0x65, 0x79,
3580	0x73, 0x12, 0x2c, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28,
3581	0x0b, 0x32, 0x14, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x65,
3582	0x6c, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12,
3583	0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18,
3584	0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x70,
3585	0x74, 0x79, 0x22, 0x4d, 0x0a, 0x08, 0x41, 0x6e, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1a,
3586	0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
3587	0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e,
3588	0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f,
3589	0x74, 0x5f, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49,
3590	0x6e, 0x22, 0xe9, 0x02, 0x0a, 0x0d, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75,
3591	0x6c, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18,
3592	0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12,
3593	0x2f, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
3594	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
3595	0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74,
3596	0x12, 0x29, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67,
3597	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44,
3598	0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x02, 0x6c, 0x74, 0x12, 0x2b, 0x0a, 0x03, 0x6c,
3599	0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3600	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74,
3601	0x69, 0x6f, 0x6e, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x05,
3602	0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
3603	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
3604	0x02, 0x67, 0x74, 0x12, 0x2b, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
3605	0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
3606	0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x67, 0x74, 0x65,
3607	0x12, 0x29, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67,
3608	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44,
3609	0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x30, 0x0a, 0x06, 0x6e,
3610	0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f,
3611	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75,
3612	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x22, 0xf3, 0x02,
3613	0x0a, 0x0e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x73,
3614	0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01,
3615	0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x05,
3616	0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
3617	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
3618	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x2a,
3619	0x0a, 0x02, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
3620	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
3621	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x02, 0x6c, 0x74, 0x12, 0x2c, 0x0a, 0x03, 0x6c, 0x74,
3622	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3623	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
3624	0x61, 0x6d, 0x70, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x05,
3625	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
3626	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
3627	0x52, 0x02, 0x67, 0x74, 0x12, 0x2c, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
3628	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
3629	0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x03, 0x67,
3630	0x74, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6c, 0x74, 0x5f, 0x6e, 0x6f, 0x77, 0x18, 0x07, 0x20, 0x01,
3631	0x28, 0x08, 0x52, 0x05, 0x6c, 0x74, 0x4e, 0x6f, 0x77, 0x12, 0x15, 0x0a, 0x06, 0x67, 0x74, 0x5f,
3632	0x6e, 0x6f, 0x77, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x67, 0x74, 0x4e, 0x6f, 0x77,
3633	0x12, 0x31, 0x0a, 0x06, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b,
3634	0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
3635	0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x77, 0x69, 0x74,
3636	0x68, 0x69, 0x6e, 0x2a, 0x46, 0x0a, 0x0a, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x67, 0x65,
3637	0x78, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x14,
3638	0x0a, 0x10, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x5f, 0x4e, 0x41,
3639	0x4d, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x48, 0x45, 0x41,
3640	0x44, 0x45, 0x52, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x02, 0x3a, 0x3c, 0x0a, 0x08, 0x64,
3641	0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3642	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
3643	0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xaf, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52,
3644	0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x3a, 0x3a, 0x0a, 0x07, 0x69, 0x67, 0x6e,
3645	0x6f, 0x72, 0x65, 0x64, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
3646	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70,
3647	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb0, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x67,
3648	0x6e, 0x6f, 0x72, 0x65, 0x64, 0x3a, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65,
3649	0x64, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
3650	0x62, 0x75, 0x66, 0x2e, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
3651	0x18, 0xaf, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65,
3652	0x64, 0x3a, 0x4a, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f,
3653	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65,
3654	0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xaf, 0x08, 0x20, 0x01, 0x28, 0x0b,
3655	0x32, 0x14, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x65, 0x6c,
3656	0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x42, 0x50, 0x0a,
3657	0x1a, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x70,
3658	0x67, 0x76, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5a, 0x32, 0x67, 0x69, 0x74,
3659	0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f,
3660	0x78, 0x79, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x76, 0x61,
3661	0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65,
3662}
3663
3664var (
3665	file_validate_validate_proto_rawDescOnce sync.Once
3666	file_validate_validate_proto_rawDescData = file_validate_validate_proto_rawDesc
3667)
3668
3669func file_validate_validate_proto_rawDescGZIP() []byte {
3670	file_validate_validate_proto_rawDescOnce.Do(func() {
3671		file_validate_validate_proto_rawDescData = protoimpl.X.CompressGZIP(file_validate_validate_proto_rawDescData)
3672	})
3673	return file_validate_validate_proto_rawDescData
3674}
3675
3676var file_validate_validate_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
3677var file_validate_validate_proto_msgTypes = make([]protoimpl.MessageInfo, 23)
3678var file_validate_validate_proto_goTypes = []interface{}{
3679	(KnownRegex)(0),                     // 0: validate.KnownRegex
3680	(*FieldRules)(nil),                  // 1: validate.FieldRules
3681	(*FloatRules)(nil),                  // 2: validate.FloatRules
3682	(*DoubleRules)(nil),                 // 3: validate.DoubleRules
3683	(*Int32Rules)(nil),                  // 4: validate.Int32Rules
3684	(*Int64Rules)(nil),                  // 5: validate.Int64Rules
3685	(*UInt32Rules)(nil),                 // 6: validate.UInt32Rules
3686	(*UInt64Rules)(nil),                 // 7: validate.UInt64Rules
3687	(*SInt32Rules)(nil),                 // 8: validate.SInt32Rules
3688	(*SInt64Rules)(nil),                 // 9: validate.SInt64Rules
3689	(*Fixed32Rules)(nil),                // 10: validate.Fixed32Rules
3690	(*Fixed64Rules)(nil),                // 11: validate.Fixed64Rules
3691	(*SFixed32Rules)(nil),               // 12: validate.SFixed32Rules
3692	(*SFixed64Rules)(nil),               // 13: validate.SFixed64Rules
3693	(*BoolRules)(nil),                   // 14: validate.BoolRules
3694	(*StringRules)(nil),                 // 15: validate.StringRules
3695	(*BytesRules)(nil),                  // 16: validate.BytesRules
3696	(*EnumRules)(nil),                   // 17: validate.EnumRules
3697	(*MessageRules)(nil),                // 18: validate.MessageRules
3698	(*RepeatedRules)(nil),               // 19: validate.RepeatedRules
3699	(*MapRules)(nil),                    // 20: validate.MapRules
3700	(*AnyRules)(nil),                    // 21: validate.AnyRules
3701	(*DurationRules)(nil),               // 22: validate.DurationRules
3702	(*TimestampRules)(nil),              // 23: validate.TimestampRules
3703	(*durationpb.Duration)(nil),         // 24: google.protobuf.Duration
3704	(*timestamppb.Timestamp)(nil),       // 25: google.protobuf.Timestamp
3705	(*descriptorpb.MessageOptions)(nil), // 26: google.protobuf.MessageOptions
3706	(*descriptorpb.OneofOptions)(nil),   // 27: google.protobuf.OneofOptions
3707	(*descriptorpb.FieldOptions)(nil),   // 28: google.protobuf.FieldOptions
3708}
3709var file_validate_validate_proto_depIdxs = []int32{
3710	18, // 0: validate.FieldRules.message:type_name -> validate.MessageRules
3711	2,  // 1: validate.FieldRules.float:type_name -> validate.FloatRules
3712	3,  // 2: validate.FieldRules.double:type_name -> validate.DoubleRules
3713	4,  // 3: validate.FieldRules.int32:type_name -> validate.Int32Rules
3714	5,  // 4: validate.FieldRules.int64:type_name -> validate.Int64Rules
3715	6,  // 5: validate.FieldRules.uint32:type_name -> validate.UInt32Rules
3716	7,  // 6: validate.FieldRules.uint64:type_name -> validate.UInt64Rules
3717	8,  // 7: validate.FieldRules.sint32:type_name -> validate.SInt32Rules
3718	9,  // 8: validate.FieldRules.sint64:type_name -> validate.SInt64Rules
3719	10, // 9: validate.FieldRules.fixed32:type_name -> validate.Fixed32Rules
3720	11, // 10: validate.FieldRules.fixed64:type_name -> validate.Fixed64Rules
3721	12, // 11: validate.FieldRules.sfixed32:type_name -> validate.SFixed32Rules
3722	13, // 12: validate.FieldRules.sfixed64:type_name -> validate.SFixed64Rules
3723	14, // 13: validate.FieldRules.bool:type_name -> validate.BoolRules
3724	15, // 14: validate.FieldRules.string:type_name -> validate.StringRules
3725	16, // 15: validate.FieldRules.bytes:type_name -> validate.BytesRules
3726	17, // 16: validate.FieldRules.enum:type_name -> validate.EnumRules
3727	19, // 17: validate.FieldRules.repeated:type_name -> validate.RepeatedRules
3728	20, // 18: validate.FieldRules.map:type_name -> validate.MapRules
3729	21, // 19: validate.FieldRules.any:type_name -> validate.AnyRules
3730	22, // 20: validate.FieldRules.duration:type_name -> validate.DurationRules
3731	23, // 21: validate.FieldRules.timestamp:type_name -> validate.TimestampRules
3732	0,  // 22: validate.StringRules.well_known_regex:type_name -> validate.KnownRegex
3733	1,  // 23: validate.RepeatedRules.items:type_name -> validate.FieldRules
3734	1,  // 24: validate.MapRules.keys:type_name -> validate.FieldRules
3735	1,  // 25: validate.MapRules.values:type_name -> validate.FieldRules
3736	24, // 26: validate.DurationRules.const:type_name -> google.protobuf.Duration
3737	24, // 27: validate.DurationRules.lt:type_name -> google.protobuf.Duration
3738	24, // 28: validate.DurationRules.lte:type_name -> google.protobuf.Duration
3739	24, // 29: validate.DurationRules.gt:type_name -> google.protobuf.Duration
3740	24, // 30: validate.DurationRules.gte:type_name -> google.protobuf.Duration
3741	24, // 31: validate.DurationRules.in:type_name -> google.protobuf.Duration
3742	24, // 32: validate.DurationRules.not_in:type_name -> google.protobuf.Duration
3743	25, // 33: validate.TimestampRules.const:type_name -> google.protobuf.Timestamp
3744	25, // 34: validate.TimestampRules.lt:type_name -> google.protobuf.Timestamp
3745	25, // 35: validate.TimestampRules.lte:type_name -> google.protobuf.Timestamp
3746	25, // 36: validate.TimestampRules.gt:type_name -> google.protobuf.Timestamp
3747	25, // 37: validate.TimestampRules.gte:type_name -> google.protobuf.Timestamp
3748	24, // 38: validate.TimestampRules.within:type_name -> google.protobuf.Duration
3749	26, // 39: validate.disabled:extendee -> google.protobuf.MessageOptions
3750	26, // 40: validate.ignored:extendee -> google.protobuf.MessageOptions
3751	27, // 41: validate.required:extendee -> google.protobuf.OneofOptions
3752	28, // 42: validate.rules:extendee -> google.protobuf.FieldOptions
3753	1,  // 43: validate.rules:type_name -> validate.FieldRules
3754	44, // [44:44] is the sub-list for method output_type
3755	44, // [44:44] is the sub-list for method input_type
3756	43, // [43:44] is the sub-list for extension type_name
3757	39, // [39:43] is the sub-list for extension extendee
3758	0,  // [0:39] is the sub-list for field type_name
3759}
3760
3761func init() { file_validate_validate_proto_init() }
3762func file_validate_validate_proto_init() {
3763	if File_validate_validate_proto != nil {
3764		return
3765	}
3766	if !protoimpl.UnsafeEnabled {
3767		file_validate_validate_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
3768			switch v := v.(*FieldRules); i {
3769			case 0:
3770				return &v.state
3771			case 1:
3772				return &v.sizeCache
3773			case 2:
3774				return &v.unknownFields
3775			default:
3776				return nil
3777			}
3778		}
3779		file_validate_validate_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
3780			switch v := v.(*FloatRules); i {
3781			case 0:
3782				return &v.state
3783			case 1:
3784				return &v.sizeCache
3785			case 2:
3786				return &v.unknownFields
3787			default:
3788				return nil
3789			}
3790		}
3791		file_validate_validate_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
3792			switch v := v.(*DoubleRules); i {
3793			case 0:
3794				return &v.state
3795			case 1:
3796				return &v.sizeCache
3797			case 2:
3798				return &v.unknownFields
3799			default:
3800				return nil
3801			}
3802		}
3803		file_validate_validate_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
3804			switch v := v.(*Int32Rules); i {
3805			case 0:
3806				return &v.state
3807			case 1:
3808				return &v.sizeCache
3809			case 2:
3810				return &v.unknownFields
3811			default:
3812				return nil
3813			}
3814		}
3815		file_validate_validate_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
3816			switch v := v.(*Int64Rules); i {
3817			case 0:
3818				return &v.state
3819			case 1:
3820				return &v.sizeCache
3821			case 2:
3822				return &v.unknownFields
3823			default:
3824				return nil
3825			}
3826		}
3827		file_validate_validate_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
3828			switch v := v.(*UInt32Rules); i {
3829			case 0:
3830				return &v.state
3831			case 1:
3832				return &v.sizeCache
3833			case 2:
3834				return &v.unknownFields
3835			default:
3836				return nil
3837			}
3838		}
3839		file_validate_validate_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
3840			switch v := v.(*UInt64Rules); i {
3841			case 0:
3842				return &v.state
3843			case 1:
3844				return &v.sizeCache
3845			case 2:
3846				return &v.unknownFields
3847			default:
3848				return nil
3849			}
3850		}
3851		file_validate_validate_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
3852			switch v := v.(*SInt32Rules); i {
3853			case 0:
3854				return &v.state
3855			case 1:
3856				return &v.sizeCache
3857			case 2:
3858				return &v.unknownFields
3859			default:
3860				return nil
3861			}
3862		}
3863		file_validate_validate_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
3864			switch v := v.(*SInt64Rules); i {
3865			case 0:
3866				return &v.state
3867			case 1:
3868				return &v.sizeCache
3869			case 2:
3870				return &v.unknownFields
3871			default:
3872				return nil
3873			}
3874		}
3875		file_validate_validate_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
3876			switch v := v.(*Fixed32Rules); i {
3877			case 0:
3878				return &v.state
3879			case 1:
3880				return &v.sizeCache
3881			case 2:
3882				return &v.unknownFields
3883			default:
3884				return nil
3885			}
3886		}
3887		file_validate_validate_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
3888			switch v := v.(*Fixed64Rules); i {
3889			case 0:
3890				return &v.state
3891			case 1:
3892				return &v.sizeCache
3893			case 2:
3894				return &v.unknownFields
3895			default:
3896				return nil
3897			}
3898		}
3899		file_validate_validate_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
3900			switch v := v.(*SFixed32Rules); i {
3901			case 0:
3902				return &v.state
3903			case 1:
3904				return &v.sizeCache
3905			case 2:
3906				return &v.unknownFields
3907			default:
3908				return nil
3909			}
3910		}
3911		file_validate_validate_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
3912			switch v := v.(*SFixed64Rules); i {
3913			case 0:
3914				return &v.state
3915			case 1:
3916				return &v.sizeCache
3917			case 2:
3918				return &v.unknownFields
3919			default:
3920				return nil
3921			}
3922		}
3923		file_validate_validate_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
3924			switch v := v.(*BoolRules); i {
3925			case 0:
3926				return &v.state
3927			case 1:
3928				return &v.sizeCache
3929			case 2:
3930				return &v.unknownFields
3931			default:
3932				return nil
3933			}
3934		}
3935		file_validate_validate_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
3936			switch v := v.(*StringRules); i {
3937			case 0:
3938				return &v.state
3939			case 1:
3940				return &v.sizeCache
3941			case 2:
3942				return &v.unknownFields
3943			default:
3944				return nil
3945			}
3946		}
3947		file_validate_validate_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
3948			switch v := v.(*BytesRules); i {
3949			case 0:
3950				return &v.state
3951			case 1:
3952				return &v.sizeCache
3953			case 2:
3954				return &v.unknownFields
3955			default:
3956				return nil
3957			}
3958		}
3959		file_validate_validate_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
3960			switch v := v.(*EnumRules); i {
3961			case 0:
3962				return &v.state
3963			case 1:
3964				return &v.sizeCache
3965			case 2:
3966				return &v.unknownFields
3967			default:
3968				return nil
3969			}
3970		}
3971		file_validate_validate_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
3972			switch v := v.(*MessageRules); i {
3973			case 0:
3974				return &v.state
3975			case 1:
3976				return &v.sizeCache
3977			case 2:
3978				return &v.unknownFields
3979			default:
3980				return nil
3981			}
3982		}
3983		file_validate_validate_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
3984			switch v := v.(*RepeatedRules); i {
3985			case 0:
3986				return &v.state
3987			case 1:
3988				return &v.sizeCache
3989			case 2:
3990				return &v.unknownFields
3991			default:
3992				return nil
3993			}
3994		}
3995		file_validate_validate_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
3996			switch v := v.(*MapRules); i {
3997			case 0:
3998				return &v.state
3999			case 1:
4000				return &v.sizeCache
4001			case 2:
4002				return &v.unknownFields
4003			default:
4004				return nil
4005			}
4006		}
4007		file_validate_validate_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
4008			switch v := v.(*AnyRules); i {
4009			case 0:
4010				return &v.state
4011			case 1:
4012				return &v.sizeCache
4013			case 2:
4014				return &v.unknownFields
4015			default:
4016				return nil
4017			}
4018		}
4019		file_validate_validate_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
4020			switch v := v.(*DurationRules); i {
4021			case 0:
4022				return &v.state
4023			case 1:
4024				return &v.sizeCache
4025			case 2:
4026				return &v.unknownFields
4027			default:
4028				return nil
4029			}
4030		}
4031		file_validate_validate_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
4032			switch v := v.(*TimestampRules); i {
4033			case 0:
4034				return &v.state
4035			case 1:
4036				return &v.sizeCache
4037			case 2:
4038				return &v.unknownFields
4039			default:
4040				return nil
4041			}
4042		}
4043	}
4044	file_validate_validate_proto_msgTypes[0].OneofWrappers = []interface{}{
4045		(*FieldRules_Float)(nil),
4046		(*FieldRules_Double)(nil),
4047		(*FieldRules_Int32)(nil),
4048		(*FieldRules_Int64)(nil),
4049		(*FieldRules_Uint32)(nil),
4050		(*FieldRules_Uint64)(nil),
4051		(*FieldRules_Sint32)(nil),
4052		(*FieldRules_Sint64)(nil),
4053		(*FieldRules_Fixed32)(nil),
4054		(*FieldRules_Fixed64)(nil),
4055		(*FieldRules_Sfixed32)(nil),
4056		(*FieldRules_Sfixed64)(nil),
4057		(*FieldRules_Bool)(nil),
4058		(*FieldRules_String_)(nil),
4059		(*FieldRules_Bytes)(nil),
4060		(*FieldRules_Enum)(nil),
4061		(*FieldRules_Repeated)(nil),
4062		(*FieldRules_Map)(nil),
4063		(*FieldRules_Any)(nil),
4064		(*FieldRules_Duration)(nil),
4065		(*FieldRules_Timestamp)(nil),
4066	}
4067	file_validate_validate_proto_msgTypes[14].OneofWrappers = []interface{}{
4068		(*StringRules_Email)(nil),
4069		(*StringRules_Hostname)(nil),
4070		(*StringRules_Ip)(nil),
4071		(*StringRules_Ipv4)(nil),
4072		(*StringRules_Ipv6)(nil),
4073		(*StringRules_Uri)(nil),
4074		(*StringRules_UriRef)(nil),
4075		(*StringRules_Address)(nil),
4076		(*StringRules_Uuid)(nil),
4077		(*StringRules_WellKnownRegex)(nil),
4078	}
4079	file_validate_validate_proto_msgTypes[15].OneofWrappers = []interface{}{
4080		(*BytesRules_Ip)(nil),
4081		(*BytesRules_Ipv4)(nil),
4082		(*BytesRules_Ipv6)(nil),
4083	}
4084	type x struct{}
4085	out := protoimpl.TypeBuilder{
4086		File: protoimpl.DescBuilder{
4087			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
4088			RawDescriptor: file_validate_validate_proto_rawDesc,
4089			NumEnums:      1,
4090			NumMessages:   23,
4091			NumExtensions: 4,
4092			NumServices:   0,
4093		},
4094		GoTypes:           file_validate_validate_proto_goTypes,
4095		DependencyIndexes: file_validate_validate_proto_depIdxs,
4096		EnumInfos:         file_validate_validate_proto_enumTypes,
4097		MessageInfos:      file_validate_validate_proto_msgTypes,
4098		ExtensionInfos:    file_validate_validate_proto_extTypes,
4099	}.Build()
4100	File_validate_validate_proto = out.File
4101	file_validate_validate_proto_rawDesc = nil
4102	file_validate_validate_proto_goTypes = nil
4103	file_validate_validate_proto_depIdxs = nil
4104}
4105