denkproto 1.0.58__py3-none-any.whl → 1.0.61__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of denkproto might be problematic. Click here for more details.

@@ -2,22 +2,14 @@ from __future__ import annotations # Postponed evaluation of annotations
2
2
  from pydantic import BaseModel, Field
3
3
  from typing import List, Union, Literal, Dict, Any, Optional, Annotated
4
4
 
5
- class AddNumbersNode(BaseModel):
6
- """Node that adds two numbers. Base type for all nodes in the graph."""
7
- node_type: Literal["add_numbers"]
8
- name: str
9
- input_number_1: str
10
- input_number_2: str
11
- output: str
12
-
13
5
  class BoundingBoxFilterNode(BaseModel):
14
- """Node that filters bounding boxes based on a threshold. Base type for all nodes in the graph."""
6
+ """Node that filters bounding boxes based on confidence and IoU thresholds. Base type for all nodes in the graph."""
15
7
  node_type: Literal["bounding_box_filter"]
16
8
  name: str
17
- input_threshold: str
18
- input_boxes: str
19
- output_boxes: str
20
- output_batch_map: str
9
+ input_bounding_boxes: str
10
+ input_score_threshold: ThresholdSource
11
+ input_iou_threshold: ThresholdSource
12
+ output_port_name: Optional[str] = None
21
13
 
22
14
  class ConstTensorFloat64Data(BaseModel):
23
15
  """Constant tensor data of type float64. Base type for constant tensor data."""
@@ -33,7 +25,7 @@ class ConstTensorNode(BaseModel):
33
25
  """Node representing a constant tensor. Base type for all nodes in the graph."""
34
26
  node_type: Literal["const_tensor"]
35
27
  name: str
36
- output: str
28
+ output_port_name: Optional[str] = None
37
29
  shape: list[int]
38
30
  data: ConstTensorDataBase
39
31
 
@@ -42,36 +34,34 @@ class ConstTensorUint64Data(BaseModel):
42
34
  data_type: Literal["uint64"]
43
35
  data: list[int]
44
36
 
45
- class GenerateNumberNode(BaseModel):
46
- """Node that generates a number within a range. Base type for all nodes in the graph."""
47
- node_type: Literal["generate_number"]
48
- name: str
49
- output: str
50
- min: int
51
- max: int
37
+ class ImageSize(BaseModel):
38
+ """Represents image dimensions."""
39
+ height: int
40
+ width: int
52
41
 
53
- class ImageClassificationNode(BaseModel):
42
+ class ClassificationNode(BaseModel):
54
43
  """Node for image classification. Base type for all nodes in the graph."""
55
44
  node_type: Literal["image_classification"]
56
45
  name: str
57
- input: str
58
- output: str
46
+ inputImage: str
47
+ output_port_name: Optional[str] = None
59
48
  model_source: ModelSourceBase
60
49
 
61
- class ImageObjectDetectionNode(BaseModel):
50
+ class ObjectDetectionNode(BaseModel):
62
51
  """Node for image object detection. Base type for all nodes in the graph."""
63
52
  node_type: Literal["image_object_detection"]
64
53
  name: str
65
- input: str
66
- output: str
54
+ input_image: str
55
+ output_port_name: Optional[str] = None
67
56
  model_source: ModelSourceBase
57
+ scale_bounding_boxes: Optional[bool] = None
68
58
 
69
- class ImageOcrNode(BaseModel):
59
+ class OcrNode(BaseModel):
70
60
  """Node for image OCR. Base type for all nodes in the graph."""
71
61
  node_type: Literal["image_ocr"]
72
62
  name: str
73
- input: str
74
- output: str
63
+ input_image: str
64
+ output_port_name: Optional[str] = None
75
65
  model_source: ModelSourceBase
76
66
 
77
67
  class ImagePatchesNode(BaseModel):
@@ -79,11 +69,10 @@ class ImagePatchesNode(BaseModel):
79
69
  node_type: Literal["image_patches"]
80
70
  name: str
81
71
  input_image: str
82
- input_boxes: str
83
- input_batch_map: str
84
- input_target_size: str
85
- input_maximum_iterations: str
86
- output: str
72
+ input_bounding_boxes: str
73
+ input_target_size: TargetSizeSource
74
+ input_maximum_iterations: MaxIterationsCountSource
75
+ output_port_name: Optional[str] = None
87
76
 
88
77
  class ImageResizeNode(BaseModel):
89
78
  """Node that resizes an image. Base type for all nodes in the graph."""
@@ -91,7 +80,7 @@ class ImageResizeNode(BaseModel):
91
80
  name: str
92
81
  input_size: str
93
82
  input_image: str
94
- output: str
83
+ output_port_name: Optional[str] = None
95
84
 
96
85
  class ModelSourceFromNetworkExperimentId(BaseModel):
97
86
  """Model source specified by a network experiment ID. Base type for the source of the model."""
@@ -107,12 +96,43 @@ class VirtualCameraNode(BaseModel):
107
96
  """Node representing a virtual camera source. Base type for all nodes in the graph."""
108
97
  node_type: Literal["virtual_camera"]
109
98
  name: str
110
- output: str
99
+ output_port_name: Optional[str] = None
111
100
  path: str
112
101
 
102
+ # --- Inline Option Classes ---
103
+ class MaxIterationsCountSourceTopicOption(BaseModel):
104
+ """Auto-generated class for inline option 'topic' of MaxIterationsCountSource"""
105
+ source_type: Literal["topic"]
106
+ topic: str
107
+
108
+ class MaxIterationsCountSourceValueOption(BaseModel):
109
+ """Auto-generated class for inline option 'value' of MaxIterationsCountSource"""
110
+ source_type: Literal["value"]
111
+ value: int
112
+
113
+ class TargetSizeSourceImageSizeOption(BaseModel):
114
+ """Auto-generated class for inline option 'image_size' of TargetSizeSource"""
115
+ source_type: Literal["image_size"]
116
+ size: ImageSize
117
+
118
+ class TargetSizeSourceTopicOption(BaseModel):
119
+ """Auto-generated class for inline option 'topic' of TargetSizeSource"""
120
+ source_type: Literal["topic"]
121
+ topic: str
122
+
123
+ class ThresholdSourceTopicOption(BaseModel):
124
+ """Auto-generated class for inline option 'topic' of ThresholdSource"""
125
+ source_type: Literal["topic"]
126
+ topic: str
127
+
128
+ class ThresholdSourceValueOption(BaseModel):
129
+ """Auto-generated class for inline option 'value' of ThresholdSource"""
130
+ source_type: Literal["value"]
131
+ value: float
132
+
113
133
  # --- Main Recipe Class ---
114
134
  class InferenceGraphRecipe(BaseModel):
115
- nodes: list[Node]
135
+ nodes: List[Node]
116
136
  license_id: str
117
137
  created_at: int
118
138
 
@@ -126,6 +146,14 @@ ConstTensorDataBase = Annotated[
126
146
  Field(discriminator='data_type')
127
147
  ]
128
148
 
149
+ MaxIterationsCountSource = Annotated[
150
+ Union[
151
+ MaxIterationsCountSourceTopicOption,
152
+ MaxIterationsCountSourceValueOption
153
+ ],
154
+ Field(discriminator='source_type')
155
+ ]
156
+
129
157
  ModelSourceBase = Annotated[
130
158
  Union[
131
159
  ModelSourceFromNetworkExperimentId,
@@ -136,17 +164,31 @@ ModelSourceBase = Annotated[
136
164
 
137
165
  Node = Annotated[
138
166
  Union[
139
- AddNumbersNode,
140
167
  BoundingBoxFilterNode,
168
+ ClassificationNode,
141
169
  ConstTensorNode,
142
- GenerateNumberNode,
143
- ImageClassificationNode,
144
- ImageObjectDetectionNode,
145
- ImageOcrNode,
146
170
  ImagePatchesNode,
147
171
  ImageResizeNode,
172
+ ObjectDetectionNode,
173
+ OcrNode,
148
174
  VirtualCameraNode
149
175
  ],
150
176
  Field(discriminator='node_type')
151
177
  ]
152
178
 
179
+ TargetSizeSource = Annotated[
180
+ Union[
181
+ TargetSizeSourceImageSizeOption,
182
+ TargetSizeSourceTopicOption
183
+ ],
184
+ Field(discriminator='source_type')
185
+ ]
186
+
187
+ ThresholdSource = Annotated[
188
+ Union[
189
+ ThresholdSourceTopicOption,
190
+ ThresholdSourceValueOption
191
+ ],
192
+ Field(discriminator='source_type')
193
+ ]
194
+
@@ -0,0 +1,86 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: validate.proto
5
+ # Protobuf Python Version: 5.28.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 5,
15
+ 28,
16
+ 1,
17
+ '',
18
+ 'validate.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+ from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2
26
+ from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2
27
+ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
28
+
29
+
30
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0evalidate.proto\x12\x08validate\x1a google/protobuf/descriptor.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x98\x07\n\nFieldRules\x12\'\n\x07message\x18\x11 \x01(\x0b\x32\x16.validate.MessageRules\x12%\n\x05\x66loat\x18\x01 \x01(\x0b\x32\x14.validate.FloatRulesH\x00\x12\'\n\x06\x64ouble\x18\x02 \x01(\x0b\x32\x15.validate.DoubleRulesH\x00\x12%\n\x05int32\x18\x03 \x01(\x0b\x32\x14.validate.Int32RulesH\x00\x12%\n\x05int64\x18\x04 \x01(\x0b\x32\x14.validate.Int64RulesH\x00\x12\'\n\x06uint32\x18\x05 \x01(\x0b\x32\x15.validate.UInt32RulesH\x00\x12\'\n\x06uint64\x18\x06 \x01(\x0b\x32\x15.validate.UInt64RulesH\x00\x12\'\n\x06sint32\x18\x07 \x01(\x0b\x32\x15.validate.SInt32RulesH\x00\x12\'\n\x06sint64\x18\x08 \x01(\x0b\x32\x15.validate.SInt64RulesH\x00\x12)\n\x07\x66ixed32\x18\t \x01(\x0b\x32\x16.validate.Fixed32RulesH\x00\x12)\n\x07\x66ixed64\x18\n \x01(\x0b\x32\x16.validate.Fixed64RulesH\x00\x12+\n\x08sfixed32\x18\x0b \x01(\x0b\x32\x17.validate.SFixed32RulesH\x00\x12+\n\x08sfixed64\x18\x0c \x01(\x0b\x32\x17.validate.SFixed64RulesH\x00\x12#\n\x04\x62ool\x18\r \x01(\x0b\x32\x13.validate.BoolRulesH\x00\x12\'\n\x06string\x18\x0e \x01(\x0b\x32\x15.validate.StringRulesH\x00\x12%\n\x05\x62ytes\x18\x0f \x01(\x0b\x32\x14.validate.BytesRulesH\x00\x12#\n\x04\x65num\x18\x10 \x01(\x0b\x32\x13.validate.EnumRulesH\x00\x12+\n\x08repeated\x18\x12 \x01(\x0b\x32\x17.validate.RepeatedRulesH\x00\x12!\n\x03map\x18\x13 \x01(\x0b\x32\x12.validate.MapRulesH\x00\x12!\n\x03\x61ny\x18\x14 \x01(\x0b\x32\x12.validate.AnyRulesH\x00\x12+\n\x08\x64uration\x18\x15 \x01(\x0b\x32\x17.validate.DurationRulesH\x00\x12-\n\ttimestamp\x18\x16 \x01(\x0b\x32\x18.validate.TimestampRulesH\x00\x42\x06\n\x04type\"\x7f\n\nFloatRules\x12\r\n\x05\x63onst\x18\x01 \x01(\x02\x12\n\n\x02lt\x18\x02 \x01(\x02\x12\x0b\n\x03lte\x18\x03 \x01(\x02\x12\n\n\x02gt\x18\x04 \x01(\x02\x12\x0b\n\x03gte\x18\x05 \x01(\x02\x12\n\n\x02in\x18\x06 \x03(\x02\x12\x0e\n\x06not_in\x18\x07 \x03(\x02\x12\x14\n\x0cignore_empty\x18\x08 \x01(\x08\"\x80\x01\n\x0b\x44oubleRules\x12\r\n\x05\x63onst\x18\x01 \x01(\x01\x12\n\n\x02lt\x18\x02 \x01(\x01\x12\x0b\n\x03lte\x18\x03 \x01(\x01\x12\n\n\x02gt\x18\x04 \x01(\x01\x12\x0b\n\x03gte\x18\x05 \x01(\x01\x12\n\n\x02in\x18\x06 \x03(\x01\x12\x0e\n\x06not_in\x18\x07 \x03(\x01\x12\x14\n\x0cignore_empty\x18\x08 \x01(\x08\"\x7f\n\nInt32Rules\x12\r\n\x05\x63onst\x18\x01 \x01(\x05\x12\n\n\x02lt\x18\x02 \x01(\x05\x12\x0b\n\x03lte\x18\x03 \x01(\x05\x12\n\n\x02gt\x18\x04 \x01(\x05\x12\x0b\n\x03gte\x18\x05 \x01(\x05\x12\n\n\x02in\x18\x06 \x03(\x05\x12\x0e\n\x06not_in\x18\x07 \x03(\x05\x12\x14\n\x0cignore_empty\x18\x08 \x01(\x08\"\x7f\n\nInt64Rules\x12\r\n\x05\x63onst\x18\x01 \x01(\x03\x12\n\n\x02lt\x18\x02 \x01(\x03\x12\x0b\n\x03lte\x18\x03 \x01(\x03\x12\n\n\x02gt\x18\x04 \x01(\x03\x12\x0b\n\x03gte\x18\x05 \x01(\x03\x12\n\n\x02in\x18\x06 \x03(\x03\x12\x0e\n\x06not_in\x18\x07 \x03(\x03\x12\x14\n\x0cignore_empty\x18\x08 \x01(\x08\"\x80\x01\n\x0bUInt32Rules\x12\r\n\x05\x63onst\x18\x01 \x01(\r\x12\n\n\x02lt\x18\x02 \x01(\r\x12\x0b\n\x03lte\x18\x03 \x01(\r\x12\n\n\x02gt\x18\x04 \x01(\r\x12\x0b\n\x03gte\x18\x05 \x01(\r\x12\n\n\x02in\x18\x06 \x03(\r\x12\x0e\n\x06not_in\x18\x07 \x03(\r\x12\x14\n\x0cignore_empty\x18\x08 \x01(\x08\"\x80\x01\n\x0bUInt64Rules\x12\r\n\x05\x63onst\x18\x01 \x01(\x04\x12\n\n\x02lt\x18\x02 \x01(\x04\x12\x0b\n\x03lte\x18\x03 \x01(\x04\x12\n\n\x02gt\x18\x04 \x01(\x04\x12\x0b\n\x03gte\x18\x05 \x01(\x04\x12\n\n\x02in\x18\x06 \x03(\x04\x12\x0e\n\x06not_in\x18\x07 \x03(\x04\x12\x14\n\x0cignore_empty\x18\x08 \x01(\x08\"\x80\x01\n\x0bSInt32Rules\x12\r\n\x05\x63onst\x18\x01 \x01(\x11\x12\n\n\x02lt\x18\x02 \x01(\x11\x12\x0b\n\x03lte\x18\x03 \x01(\x11\x12\n\n\x02gt\x18\x04 \x01(\x11\x12\x0b\n\x03gte\x18\x05 \x01(\x11\x12\n\n\x02in\x18\x06 \x03(\x11\x12\x0e\n\x06not_in\x18\x07 \x03(\x11\x12\x14\n\x0cignore_empty\x18\x08 \x01(\x08\"\x80\x01\n\x0bSInt64Rules\x12\r\n\x05\x63onst\x18\x01 \x01(\x12\x12\n\n\x02lt\x18\x02 \x01(\x12\x12\x0b\n\x03lte\x18\x03 \x01(\x12\x12\n\n\x02gt\x18\x04 \x01(\x12\x12\x0b\n\x03gte\x18\x05 \x01(\x12\x12\n\n\x02in\x18\x06 \x03(\x12\x12\x0e\n\x06not_in\x18\x07 \x03(\x12\x12\x14\n\x0cignore_empty\x18\x08 \x01(\x08\"\x81\x01\n\x0c\x46ixed32Rules\x12\r\n\x05\x63onst\x18\x01 \x01(\x07\x12\n\n\x02lt\x18\x02 \x01(\x07\x12\x0b\n\x03lte\x18\x03 \x01(\x07\x12\n\n\x02gt\x18\x04 \x01(\x07\x12\x0b\n\x03gte\x18\x05 \x01(\x07\x12\n\n\x02in\x18\x06 \x03(\x07\x12\x0e\n\x06not_in\x18\x07 \x03(\x07\x12\x14\n\x0cignore_empty\x18\x08 \x01(\x08\"\x81\x01\n\x0c\x46ixed64Rules\x12\r\n\x05\x63onst\x18\x01 \x01(\x06\x12\n\n\x02lt\x18\x02 \x01(\x06\x12\x0b\n\x03lte\x18\x03 \x01(\x06\x12\n\n\x02gt\x18\x04 \x01(\x06\x12\x0b\n\x03gte\x18\x05 \x01(\x06\x12\n\n\x02in\x18\x06 \x03(\x06\x12\x0e\n\x06not_in\x18\x07 \x03(\x06\x12\x14\n\x0cignore_empty\x18\x08 \x01(\x08\"\x82\x01\n\rSFixed32Rules\x12\r\n\x05\x63onst\x18\x01 \x01(\x0f\x12\n\n\x02lt\x18\x02 \x01(\x0f\x12\x0b\n\x03lte\x18\x03 \x01(\x0f\x12\n\n\x02gt\x18\x04 \x01(\x0f\x12\x0b\n\x03gte\x18\x05 \x01(\x0f\x12\n\n\x02in\x18\x06 \x03(\x0f\x12\x0e\n\x06not_in\x18\x07 \x03(\x0f\x12\x14\n\x0cignore_empty\x18\x08 \x01(\x08\"\x82\x01\n\rSFixed64Rules\x12\r\n\x05\x63onst\x18\x01 \x01(\x10\x12\n\n\x02lt\x18\x02 \x01(\x10\x12\x0b\n\x03lte\x18\x03 \x01(\x10\x12\n\n\x02gt\x18\x04 \x01(\x10\x12\x0b\n\x03gte\x18\x05 \x01(\x10\x12\n\n\x02in\x18\x06 \x03(\x10\x12\x0e\n\x06not_in\x18\x07 \x03(\x10\x12\x14\n\x0cignore_empty\x18\x08 \x01(\x08\"\x1a\n\tBoolRules\x12\r\n\x05\x63onst\x18\x01 \x01(\x08\"\xfd\x03\n\x0bStringRules\x12\r\n\x05\x63onst\x18\x01 \x01(\t\x12\x0b\n\x03len\x18\x13 \x01(\x04\x12\x0f\n\x07min_len\x18\x02 \x01(\x04\x12\x0f\n\x07max_len\x18\x03 \x01(\x04\x12\x11\n\tlen_bytes\x18\x14 \x01(\x04\x12\x11\n\tmin_bytes\x18\x04 \x01(\x04\x12\x11\n\tmax_bytes\x18\x05 \x01(\x04\x12\x0f\n\x07pattern\x18\x06 \x01(\t\x12\x0e\n\x06prefix\x18\x07 \x01(\t\x12\x0e\n\x06suffix\x18\x08 \x01(\t\x12\x10\n\x08\x63ontains\x18\t \x01(\t\x12\x14\n\x0cnot_contains\x18\x17 \x01(\t\x12\n\n\x02in\x18\n \x03(\t\x12\x0e\n\x06not_in\x18\x0b \x03(\t\x12\x0f\n\x05\x65mail\x18\x0c \x01(\x08H\x00\x12\x12\n\x08hostname\x18\r \x01(\x08H\x00\x12\x0c\n\x02ip\x18\x0e \x01(\x08H\x00\x12\x0e\n\x04ipv4\x18\x0f \x01(\x08H\x00\x12\x0e\n\x04ipv6\x18\x10 \x01(\x08H\x00\x12\r\n\x03uri\x18\x11 \x01(\x08H\x00\x12\x11\n\x07uri_ref\x18\x12 \x01(\x08H\x00\x12\x11\n\x07\x61\x64\x64ress\x18\x15 \x01(\x08H\x00\x12\x0e\n\x04uuid\x18\x16 \x01(\x08H\x00\x12\x30\n\x10well_known_regex\x18\x18 \x01(\x0e\x32\x14.validate.KnownRegexH\x00\x12\x14\n\x06strict\x18\x19 \x01(\x08:\x04true\x12\x14\n\x0cignore_empty\x18\x1a \x01(\x08\x42\x0c\n\nwell_known\"\xfb\x01\n\nBytesRules\x12\r\n\x05\x63onst\x18\x01 \x01(\x0c\x12\x0b\n\x03len\x18\r \x01(\x04\x12\x0f\n\x07min_len\x18\x02 \x01(\x04\x12\x0f\n\x07max_len\x18\x03 \x01(\x04\x12\x0f\n\x07pattern\x18\x04 \x01(\t\x12\x0e\n\x06prefix\x18\x05 \x01(\x0c\x12\x0e\n\x06suffix\x18\x06 \x01(\x0c\x12\x10\n\x08\x63ontains\x18\x07 \x01(\x0c\x12\n\n\x02in\x18\x08 \x03(\x0c\x12\x0e\n\x06not_in\x18\t \x03(\x0c\x12\x0c\n\x02ip\x18\n \x01(\x08H\x00\x12\x0e\n\x04ipv4\x18\x0b \x01(\x08H\x00\x12\x0e\n\x04ipv6\x18\x0c \x01(\x08H\x00\x12\x14\n\x0cignore_empty\x18\x0e \x01(\x08\x42\x0c\n\nwell_known\"L\n\tEnumRules\x12\r\n\x05\x63onst\x18\x01 \x01(\x05\x12\x14\n\x0c\x64\x65\x66ined_only\x18\x02 \x01(\x08\x12\n\n\x02in\x18\x03 \x03(\x05\x12\x0e\n\x06not_in\x18\x04 \x03(\x05\".\n\x0cMessageRules\x12\x0c\n\x04skip\x18\x01 \x01(\x08\x12\x10\n\x08required\x18\x02 \x01(\x08\"\x80\x01\n\rRepeatedRules\x12\x11\n\tmin_items\x18\x01 \x01(\x04\x12\x11\n\tmax_items\x18\x02 \x01(\x04\x12\x0e\n\x06unique\x18\x03 \x01(\x08\x12#\n\x05items\x18\x04 \x01(\x0b\x32\x14.validate.FieldRules\x12\x14\n\x0cignore_empty\x18\x05 \x01(\x08\"\xa3\x01\n\x08MapRules\x12\x11\n\tmin_pairs\x18\x01 \x01(\x04\x12\x11\n\tmax_pairs\x18\x02 \x01(\x04\x12\x11\n\tno_sparse\x18\x03 \x01(\x08\x12\"\n\x04keys\x18\x04 \x01(\x0b\x32\x14.validate.FieldRules\x12$\n\x06values\x18\x05 \x01(\x0b\x32\x14.validate.FieldRules\x12\x14\n\x0cignore_empty\x18\x06 \x01(\x08\"8\n\x08\x41nyRules\x12\x10\n\x08required\x18\x01 \x01(\x08\x12\n\n\x02in\x18\x02 \x03(\t\x12\x0e\n\x06not_in\x18\x03 \x03(\t\"\xbb\x02\n\rDurationRules\x12\x10\n\x08required\x18\x01 \x01(\x08\x12(\n\x05\x63onst\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12%\n\x02lt\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12&\n\x03lte\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12%\n\x02gt\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12&\n\x03gte\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12%\n\x02in\x18\x07 \x03(\x0b\x32\x19.google.protobuf.Duration\x12)\n\x06not_in\x18\x08 \x03(\x0b\x32\x19.google.protobuf.Duration\"\xba\x02\n\x0eTimestampRules\x12\x10\n\x08required\x18\x01 \x01(\x08\x12)\n\x05\x63onst\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12&\n\x02lt\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\'\n\x03lte\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12&\n\x02gt\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\'\n\x03gte\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0e\n\x06lt_now\x18\x07 \x01(\x08\x12\x0e\n\x06gt_now\x18\x08 \x01(\x08\x12)\n\x06within\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration*F\n\nKnownRegex\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x14\n\x10HTTP_HEADER_NAME\x10\x01\x12\x15\n\x11HTTP_HEADER_VALUE\x10\x02:2\n\x08\x64isabled\x12\x1f.google.protobuf.MessageOptions\x18\xaf\x08 \x01(\x08:1\n\x07ignored\x12\x1f.google.protobuf.MessageOptions\x18\xb0\x08 \x01(\x08:0\n\x08required\x12\x1d.google.protobuf.OneofOptions\x18\xaf\x08 \x01(\x08:C\n\x05rules\x12\x1d.google.protobuf.FieldOptions\x18\xaf\x08 \x01(\x0b\x32\x14.validate.FieldRulesBP\n\x1aio.envoyproxy.pgv.validateZ2github.com/envoyproxy/protoc-gen-validate/validate')
31
+
32
+ _globals = globals()
33
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
34
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'validate_pb2', _globals)
35
+ if not _descriptor._USE_C_DESCRIPTORS:
36
+ _globals['DESCRIPTOR']._loaded_options = None
37
+ _globals['DESCRIPTOR']._serialized_options = b'\n\032io.envoyproxy.pgv.validateZ2github.com/envoyproxy/protoc-gen-validate/validate'
38
+ _globals['_KNOWNREGEX']._serialized_start=4532
39
+ _globals['_KNOWNREGEX']._serialized_end=4602
40
+ _globals['_FIELDRULES']._serialized_start=128
41
+ _globals['_FIELDRULES']._serialized_end=1048
42
+ _globals['_FLOATRULES']._serialized_start=1050
43
+ _globals['_FLOATRULES']._serialized_end=1177
44
+ _globals['_DOUBLERULES']._serialized_start=1180
45
+ _globals['_DOUBLERULES']._serialized_end=1308
46
+ _globals['_INT32RULES']._serialized_start=1310
47
+ _globals['_INT32RULES']._serialized_end=1437
48
+ _globals['_INT64RULES']._serialized_start=1439
49
+ _globals['_INT64RULES']._serialized_end=1566
50
+ _globals['_UINT32RULES']._serialized_start=1569
51
+ _globals['_UINT32RULES']._serialized_end=1697
52
+ _globals['_UINT64RULES']._serialized_start=1700
53
+ _globals['_UINT64RULES']._serialized_end=1828
54
+ _globals['_SINT32RULES']._serialized_start=1831
55
+ _globals['_SINT32RULES']._serialized_end=1959
56
+ _globals['_SINT64RULES']._serialized_start=1962
57
+ _globals['_SINT64RULES']._serialized_end=2090
58
+ _globals['_FIXED32RULES']._serialized_start=2093
59
+ _globals['_FIXED32RULES']._serialized_end=2222
60
+ _globals['_FIXED64RULES']._serialized_start=2225
61
+ _globals['_FIXED64RULES']._serialized_end=2354
62
+ _globals['_SFIXED32RULES']._serialized_start=2357
63
+ _globals['_SFIXED32RULES']._serialized_end=2487
64
+ _globals['_SFIXED64RULES']._serialized_start=2490
65
+ _globals['_SFIXED64RULES']._serialized_end=2620
66
+ _globals['_BOOLRULES']._serialized_start=2622
67
+ _globals['_BOOLRULES']._serialized_end=2648
68
+ _globals['_STRINGRULES']._serialized_start=2651
69
+ _globals['_STRINGRULES']._serialized_end=3160
70
+ _globals['_BYTESRULES']._serialized_start=3163
71
+ _globals['_BYTESRULES']._serialized_end=3414
72
+ _globals['_ENUMRULES']._serialized_start=3416
73
+ _globals['_ENUMRULES']._serialized_end=3492
74
+ _globals['_MESSAGERULES']._serialized_start=3494
75
+ _globals['_MESSAGERULES']._serialized_end=3540
76
+ _globals['_REPEATEDRULES']._serialized_start=3543
77
+ _globals['_REPEATEDRULES']._serialized_end=3671
78
+ _globals['_MAPRULES']._serialized_start=3674
79
+ _globals['_MAPRULES']._serialized_end=3837
80
+ _globals['_ANYRULES']._serialized_start=3839
81
+ _globals['_ANYRULES']._serialized_end=3895
82
+ _globals['_DURATIONRULES']._serialized_start=3898
83
+ _globals['_DURATIONRULES']._serialized_end=4213
84
+ _globals['_TIMESTAMPRULES']._serialized_start=4216
85
+ _globals['_TIMESTAMPRULES']._serialized_end=4530
86
+ # @@protoc_insertion_point(module_scope)