From 784fb8267caed5de29e5d369e683a973b9c81062 Mon Sep 17 00:00:00 2001 From: John Chadwick Date: Tue, 28 Jan 2025 15:36:08 -0500 Subject: [PATCH 1/2] Remove deprecated options --- Makefile | 8 +- .../validate/conformance/cases/bytes_pb2.py | 4 +- .../cases/ignore_empty_proto2_pb2.py | 16 +-- .../cases/ignore_empty_proto3_pb2.py | 18 +-- .../cases/ignore_empty_proto_editions_pb2.py | 28 ++-- .../validate/conformance/cases/maps_pb2.py | 4 +- .../validate/conformance/cases/numbers_pb2.py | 26 ++-- .../conformance/cases/repeated_pb2.py | 4 +- .../validate/conformance/cases/strings_pb2.py | 4 +- gen/buf/validate/validate_pb2.py | 128 ++++++++---------- gen/buf/validate/validate_pb2.pyi | 18 +-- protovalidate/internal/constraints.py | 22 ++- protovalidate/validator.py | 3 +- tests/validate_test.py | 1 - 14 files changed, 129 insertions(+), 155 deletions(-) diff --git a/Makefile b/Makefile index ddf99f20..b0246e88 100644 --- a/Makefile +++ b/Makefile @@ -16,7 +16,8 @@ ADD_LICENSE_HEADER := $(BIN)/license-header \ --license-type apache \ --copyright-holder "Buf Technologies, Inc." \ --year-range "2023" -PROTOVALIDATE_VERSION ?= v0.9.0 +# TODO: DO NOT MERGE: Temporary because protovalidate-python does not support dynamic fdsets. +PROTOVALIDATE_VERSION ?= 1d6530da26a3c5c96f5d7d4c842aa9164f82ee4b .PHONY: help help: ## Describe useful make targets @@ -33,8 +34,9 @@ clean: ## Delete intermediate build artifacts .PHONY: generate generate: $(BIN)/buf $(BIN)/license-header ## Regenerate code and license headers rm -rf gen - buf generate buf.build/bufbuild/protovalidate:$(PROTOVALIDATE_VERSION) - buf generate buf.build/bufbuild/protovalidate-testing:$(PROTOVALIDATE_VERSION) + # TODO: DO NOT MERGE: Temporary because protovalidate-python does not support dynamic fdsets. + buf generate https://github.com/bufbuild/protovalidate.git#branch=jchadwick/remove-deprecated,subdir=proto/protovalidate + buf generate https://github.com/bufbuild/protovalidate.git#branch=jchadwick/remove-deprecated,subdir=proto/protovalidate-testing $(ADD_LICENSE_HEADER) --ignore __init__.py .PHONY: format diff --git a/gen/buf/validate/conformance/cases/bytes_pb2.py b/gen/buf/validate/conformance/cases/bytes_pb2.py index e4d5670b..375100cf 100644 --- a/gen/buf/validate/conformance/cases/bytes_pb2.py +++ b/gen/buf/validate/conformance/cases/bytes_pb2.py @@ -39,7 +39,7 @@ from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*buf/validate/conformance/cases/bytes.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x1b\x62uf/validate/validate.proto\"\x1d\n\tBytesNone\x12\x10\n\x03val\x18\x01 \x01(\x0cR\x03val\"*\n\nBytesConst\x12\x1c\n\x03val\x18\x01 \x01(\x0c\x42\n\xbaH\x07z\x05\n\x03\x66ooR\x03val\",\n\x07\x42ytesIn\x12!\n\x03val\x18\x01 \x01(\x0c\x42\x0f\xbaH\x0cz\nB\x03\x62\x61rB\x03\x62\x61zR\x03val\"1\n\nBytesNotIn\x12#\n\x03val\x18\x01 \x01(\x0c\x42\x11\xbaH\x0ez\x0cJ\x04\x66izzJ\x04\x62uzzR\x03val\"%\n\x08\x42ytesLen\x12\x19\n\x03val\x18\x01 \x01(\x0c\x42\x07\xbaH\x04z\x02h\x03R\x03val\"(\n\x0b\x42ytesMinLen\x12\x19\n\x03val\x18\x01 \x01(\x0c\x42\x07\xbaH\x04z\x02\x10\x03R\x03val\"(\n\x0b\x42ytesMaxLen\x12\x19\n\x03val\x18\x01 \x01(\x0c\x42\x07\xbaH\x04z\x02\x18\x05R\x03val\"-\n\x0e\x42ytesMinMaxLen\x12\x1b\n\x03val\x18\x01 \x01(\x0c\x42\t\xbaH\x06z\x04\x10\x03\x18\x05R\x03val\"2\n\x13\x42ytesEqualMinMaxLen\x12\x1b\n\x03val\x18\x01 \x01(\x0c\x42\t\xbaH\x06z\x04\x10\x05\x18\x05R\x03val\"7\n\x0c\x42ytesPattern\x12\'\n\x03val\x18\x01 \x01(\x0c\x42\x15\xbaH\x12z\x10\"\x0e^[\\x00-\\x7F]+$R\x03val\")\n\x0b\x42ytesPrefix\x12\x1a\n\x03val\x18\x01 \x01(\x0c\x42\x08\xbaH\x05z\x03*\x01\x99R\x03val\"-\n\rBytesContains\x12\x1c\n\x03val\x18\x01 \x01(\x0c\x42\n\xbaH\x07z\x05:\x03\x62\x61rR\x03val\",\n\x0b\x42ytesSuffix\x12\x1d\n\x03val\x18\x01 \x01(\x0c\x42\x0b\xbaH\x08z\x06\x32\x04\x62uzzR\x03val\"$\n\x07\x42ytesIP\x12\x19\n\x03val\x18\x01 \x01(\x0c\x42\x07\xbaH\x04z\x02P\x01R\x03val\"\'\n\nBytesNotIP\x12\x19\n\x03val\x18\x01 \x01(\x0c\x42\x07\xbaH\x04z\x02P\x00R\x03val\"&\n\tBytesIPv4\x12\x19\n\x03val\x18\x01 \x01(\x0c\x42\x07\xbaH\x04z\x02X\x01R\x03val\")\n\x0c\x42ytesNotIPv4\x12\x19\n\x03val\x18\x01 \x01(\x0c\x42\x07\xbaH\x04z\x02X\x00R\x03val\"&\n\tBytesIPv6\x12\x19\n\x03val\x18\x01 \x01(\x0c\x42\x07\xbaH\x04z\x02`\x01R\x03val\")\n\x0c\x42ytesNotIPv6\x12\x19\n\x03val\x18\x01 \x01(\x0c\x42\x07\xbaH\x04z\x02`\x00R\x03val\"/\n\x0f\x42ytesIPv6Ignore\x12\x1c\n\x03val\x18\x01 \x01(\x0c\x42\n\xbaH\x07z\x02`\x01\xd0\x01\x01R\x03val\"*\n\x0c\x42ytesExample\x12\x1a\n\x03val\x18\x01 \x01(\x0c\x42\x08\xbaH\x05z\x03r\x01\x99R\x03valB\xcc\x01\n\"com.buf.validate.conformance.casesB\nBytesProtoP\x01\xa2\x02\x04\x42VCC\xaa\x02\x1e\x42uf.Validate.Conformance.Cases\xca\x02\x1e\x42uf\\Validate\\Conformance\\Cases\xe2\x02*Buf\\Validate\\Conformance\\Cases\\GPBMetadata\xea\x02!Buf::Validate::Conformance::Casesb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*buf/validate/conformance/cases/bytes.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x1b\x62uf/validate/validate.proto\"\x1d\n\tBytesNone\x12\x10\n\x03val\x18\x01 \x01(\x0cR\x03val\"*\n\nBytesConst\x12\x1c\n\x03val\x18\x01 \x01(\x0c\x42\n\xbaH\x07z\x05\n\x03\x66ooR\x03val\",\n\x07\x42ytesIn\x12!\n\x03val\x18\x01 \x01(\x0c\x42\x0f\xbaH\x0cz\nB\x03\x62\x61rB\x03\x62\x61zR\x03val\"1\n\nBytesNotIn\x12#\n\x03val\x18\x01 \x01(\x0c\x42\x11\xbaH\x0ez\x0cJ\x04\x66izzJ\x04\x62uzzR\x03val\"%\n\x08\x42ytesLen\x12\x19\n\x03val\x18\x01 \x01(\x0c\x42\x07\xbaH\x04z\x02h\x03R\x03val\"(\n\x0b\x42ytesMinLen\x12\x19\n\x03val\x18\x01 \x01(\x0c\x42\x07\xbaH\x04z\x02\x10\x03R\x03val\"(\n\x0b\x42ytesMaxLen\x12\x19\n\x03val\x18\x01 \x01(\x0c\x42\x07\xbaH\x04z\x02\x18\x05R\x03val\"-\n\x0e\x42ytesMinMaxLen\x12\x1b\n\x03val\x18\x01 \x01(\x0c\x42\t\xbaH\x06z\x04\x10\x03\x18\x05R\x03val\"2\n\x13\x42ytesEqualMinMaxLen\x12\x1b\n\x03val\x18\x01 \x01(\x0c\x42\t\xbaH\x06z\x04\x10\x05\x18\x05R\x03val\"7\n\x0c\x42ytesPattern\x12\'\n\x03val\x18\x01 \x01(\x0c\x42\x15\xbaH\x12z\x10\"\x0e^[\\x00-\\x7F]+$R\x03val\")\n\x0b\x42ytesPrefix\x12\x1a\n\x03val\x18\x01 \x01(\x0c\x42\x08\xbaH\x05z\x03*\x01\x99R\x03val\"-\n\rBytesContains\x12\x1c\n\x03val\x18\x01 \x01(\x0c\x42\n\xbaH\x07z\x05:\x03\x62\x61rR\x03val\",\n\x0b\x42ytesSuffix\x12\x1d\n\x03val\x18\x01 \x01(\x0c\x42\x0b\xbaH\x08z\x06\x32\x04\x62uzzR\x03val\"$\n\x07\x42ytesIP\x12\x19\n\x03val\x18\x01 \x01(\x0c\x42\x07\xbaH\x04z\x02P\x01R\x03val\"\'\n\nBytesNotIP\x12\x19\n\x03val\x18\x01 \x01(\x0c\x42\x07\xbaH\x04z\x02P\x00R\x03val\"&\n\tBytesIPv4\x12\x19\n\x03val\x18\x01 \x01(\x0c\x42\x07\xbaH\x04z\x02X\x01R\x03val\")\n\x0c\x42ytesNotIPv4\x12\x19\n\x03val\x18\x01 \x01(\x0c\x42\x07\xbaH\x04z\x02X\x00R\x03val\"&\n\tBytesIPv6\x12\x19\n\x03val\x18\x01 \x01(\x0c\x42\x07\xbaH\x04z\x02`\x01R\x03val\")\n\x0c\x42ytesNotIPv6\x12\x19\n\x03val\x18\x01 \x01(\x0c\x42\x07\xbaH\x04z\x02`\x00R\x03val\"/\n\x0f\x42ytesIPv6Ignore\x12\x1c\n\x03val\x18\x01 \x01(\x0c\x42\n\xbaH\x07z\x02`\x01\xd8\x01\x01R\x03val\"*\n\x0c\x42ytesExample\x12\x1a\n\x03val\x18\x01 \x01(\x0c\x42\x08\xbaH\x05z\x03r\x01\x99R\x03valB\xcc\x01\n\"com.buf.validate.conformance.casesB\nBytesProtoP\x01\xa2\x02\x04\x42VCC\xaa\x02\x1e\x42uf.Validate.Conformance.Cases\xca\x02\x1e\x42uf\\Validate\\Conformance\\Cases\xe2\x02*Buf\\Validate\\Conformance\\Cases\\GPBMetadata\xea\x02!Buf::Validate::Conformance::Casesb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -84,7 +84,7 @@ _globals['_BYTESNOTIPV6'].fields_by_name['val']._loaded_options = None _globals['_BYTESNOTIPV6'].fields_by_name['val']._serialized_options = b'\272H\004z\002`\000' _globals['_BYTESIPV6IGNORE'].fields_by_name['val']._loaded_options = None - _globals['_BYTESIPV6IGNORE'].fields_by_name['val']._serialized_options = b'\272H\007z\002`\001\320\001\001' + _globals['_BYTESIPV6IGNORE'].fields_by_name['val']._serialized_options = b'\272H\007z\002`\001\330\001\001' _globals['_BYTESEXAMPLE'].fields_by_name['val']._loaded_options = None _globals['_BYTESEXAMPLE'].fields_by_name['val']._serialized_options = b'\272H\005z\003r\001\231' _globals['_BYTESNONE']._serialized_start=107 diff --git a/gen/buf/validate/conformance/cases/ignore_empty_proto2_pb2.py b/gen/buf/validate/conformance/cases/ignore_empty_proto2_pb2.py index 0a208336..bec95aff 100644 --- a/gen/buf/validate/conformance/cases/ignore_empty_proto2_pb2.py +++ b/gen/buf/validate/conformance/cases/ignore_empty_proto2_pb2.py @@ -39,7 +39,7 @@ from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n8buf/validate/conformance/cases/ignore_empty_proto2.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x1b\x62uf/validate/validate.proto\"?\n\x1fIgnoreEmptyProto2ScalarOptional\x12\x1c\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd0\x01\x01R\x03val\"N\n*IgnoreEmptyProto2ScalarOptionalWithDefault\x12 \n\x03val\x18\x01 \x01(\x05:\x02\x34\x32\x42\n\xbaH\x07\x1a\x02 \x00\xd0\x01\x01R\x03val\"?\n\x1fIgnoreEmptyProto2ScalarRequired\x12\x1c\n\x03val\x18\x01 \x02(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd0\x01\x01R\x03val\"\xc7\x01\n\x18IgnoreEmptyProto2Message\x12\x91\x01\n\x03val\x18\x01 \x01(\x0b\x32<.buf.validate.conformance.cases.IgnoreEmptyProto2Message.MsgBA\xbaH>\xba\x01\x38\n\x1bignore_empty.proto2.message\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd0\x01\x01R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"=\n\x16IgnoreEmptyProto2Oneof\x12\x1e\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd0\x01\x01H\x00R\x03valB\x03\n\x01o\":\n\x19IgnoreEmptyProto2Repeated\x12\x1d\n\x03val\x18\x01 \x03(\x05\x42\x0b\xbaH\x08\x92\x01\x02\x08\x03\xd0\x01\x01R\x03val\"\xac\x01\n\x14IgnoreEmptyProto2Map\x12\\\n\x03val\x18\x01 \x03(\x0b\x32=.buf.validate.conformance.cases.IgnoreEmptyProto2Map.ValEntryB\x0b\xbaH\x08\x9a\x01\x02\x08\x03\xd0\x01\x01R\x03val\x1a\x36\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\x05R\x03key\x12\x14\n\x05value\x18\x02 \x01(\x05R\x05value:\x02\x38\x01\x42\xd8\x01\n\"com.buf.validate.conformance.casesB\x16IgnoreEmptyProto2ProtoP\x01\xa2\x02\x04\x42VCC\xaa\x02\x1e\x42uf.Validate.Conformance.Cases\xca\x02\x1e\x42uf\\Validate\\Conformance\\Cases\xe2\x02*Buf\\Validate\\Conformance\\Cases\\GPBMetadata\xea\x02!Buf::Validate::Conformance::Cases') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n8buf/validate/conformance/cases/ignore_empty_proto2.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x1b\x62uf/validate/validate.proto\"?\n\x1fIgnoreEmptyProto2ScalarOptional\x12\x1c\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\"N\n*IgnoreEmptyProto2ScalarOptionalWithDefault\x12 \n\x03val\x18\x01 \x01(\x05:\x02\x34\x32\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\"?\n\x1fIgnoreEmptyProto2ScalarRequired\x12\x1c\n\x03val\x18\x01 \x02(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\"\xc7\x01\n\x18IgnoreEmptyProto2Message\x12\x91\x01\n\x03val\x18\x01 \x01(\x0b\x32<.buf.validate.conformance.cases.IgnoreEmptyProto2Message.MsgBA\xbaH>\xba\x01\x38\n\x1bignore_empty.proto2.message\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x01R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"=\n\x16IgnoreEmptyProto2Oneof\x12\x1e\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x01H\x00R\x03valB\x03\n\x01o\":\n\x19IgnoreEmptyProto2Repeated\x12\x1d\n\x03val\x18\x01 \x03(\x05\x42\x0b\xbaH\x08\x92\x01\x02\x08\x03\xd8\x01\x01R\x03val\"\xac\x01\n\x14IgnoreEmptyProto2Map\x12\\\n\x03val\x18\x01 \x03(\x0b\x32=.buf.validate.conformance.cases.IgnoreEmptyProto2Map.ValEntryB\x0b\xbaH\x08\x9a\x01\x02\x08\x03\xd8\x01\x01R\x03val\x1a\x36\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\x05R\x03key\x12\x14\n\x05value\x18\x02 \x01(\x05R\x05value:\x02\x38\x01\x42\xd8\x01\n\"com.buf.validate.conformance.casesB\x16IgnoreEmptyProto2ProtoP\x01\xa2\x02\x04\x42VCC\xaa\x02\x1e\x42uf.Validate.Conformance.Cases\xca\x02\x1e\x42uf\\Validate\\Conformance\\Cases\xe2\x02*Buf\\Validate\\Conformance\\Cases\\GPBMetadata\xea\x02!Buf::Validate::Conformance::Cases') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -48,21 +48,21 @@ _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\"com.buf.validate.conformance.casesB\026IgnoreEmptyProto2ProtoP\001\242\002\004BVCC\252\002\036Buf.Validate.Conformance.Cases\312\002\036Buf\\Validate\\Conformance\\Cases\342\002*Buf\\Validate\\Conformance\\Cases\\GPBMetadata\352\002!Buf::Validate::Conformance::Cases' _globals['_IGNOREEMPTYPROTO2SCALAROPTIONAL'].fields_by_name['val']._loaded_options = None - _globals['_IGNOREEMPTYPROTO2SCALAROPTIONAL'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\320\001\001' + _globals['_IGNOREEMPTYPROTO2SCALAROPTIONAL'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\001' _globals['_IGNOREEMPTYPROTO2SCALAROPTIONALWITHDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_IGNOREEMPTYPROTO2SCALAROPTIONALWITHDEFAULT'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\320\001\001' + _globals['_IGNOREEMPTYPROTO2SCALAROPTIONALWITHDEFAULT'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\001' _globals['_IGNOREEMPTYPROTO2SCALARREQUIRED'].fields_by_name['val']._loaded_options = None - _globals['_IGNOREEMPTYPROTO2SCALARREQUIRED'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\320\001\001' + _globals['_IGNOREEMPTYPROTO2SCALARREQUIRED'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\001' _globals['_IGNOREEMPTYPROTO2MESSAGE'].fields_by_name['val']._loaded_options = None - _globals['_IGNOREEMPTYPROTO2MESSAGE'].fields_by_name['val']._serialized_options = b'\272H>\272\0018\n\033ignore_empty.proto2.message\022\006foobar\032\021this.val == \'foo\'\320\001\001' + _globals['_IGNOREEMPTYPROTO2MESSAGE'].fields_by_name['val']._serialized_options = b'\272H>\272\0018\n\033ignore_empty.proto2.message\022\006foobar\032\021this.val == \'foo\'\330\001\001' _globals['_IGNOREEMPTYPROTO2ONEOF'].fields_by_name['val']._loaded_options = None - _globals['_IGNOREEMPTYPROTO2ONEOF'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\320\001\001' + _globals['_IGNOREEMPTYPROTO2ONEOF'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\001' _globals['_IGNOREEMPTYPROTO2REPEATED'].fields_by_name['val']._loaded_options = None - _globals['_IGNOREEMPTYPROTO2REPEATED'].fields_by_name['val']._serialized_options = b'\272H\010\222\001\002\010\003\320\001\001' + _globals['_IGNOREEMPTYPROTO2REPEATED'].fields_by_name['val']._serialized_options = b'\272H\010\222\001\002\010\003\330\001\001' _globals['_IGNOREEMPTYPROTO2MAP_VALENTRY']._loaded_options = None _globals['_IGNOREEMPTYPROTO2MAP_VALENTRY']._serialized_options = b'8\001' _globals['_IGNOREEMPTYPROTO2MAP'].fields_by_name['val']._loaded_options = None - _globals['_IGNOREEMPTYPROTO2MAP'].fields_by_name['val']._serialized_options = b'\272H\010\232\001\002\010\003\320\001\001' + _globals['_IGNOREEMPTYPROTO2MAP'].fields_by_name['val']._serialized_options = b'\272H\010\232\001\002\010\003\330\001\001' _globals['_IGNOREEMPTYPROTO2SCALAROPTIONAL']._serialized_start=121 _globals['_IGNOREEMPTYPROTO2SCALAROPTIONAL']._serialized_end=184 _globals['_IGNOREEMPTYPROTO2SCALAROPTIONALWITHDEFAULT']._serialized_start=186 diff --git a/gen/buf/validate/conformance/cases/ignore_empty_proto3_pb2.py b/gen/buf/validate/conformance/cases/ignore_empty_proto3_pb2.py index 2522e081..f55fb2aa 100644 --- a/gen/buf/validate/conformance/cases/ignore_empty_proto3_pb2.py +++ b/gen/buf/validate/conformance/cases/ignore_empty_proto3_pb2.py @@ -39,7 +39,7 @@ from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n8buf/validate/conformance/cases/ignore_empty_proto3.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x1b\x62uf/validate/validate.proto\"7\n\x17IgnoreEmptyProto3Scalar\x12\x1c\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd0\x01\x01R\x03val\"L\n\x1fIgnoreEmptyProto3OptionalScalar\x12!\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd0\x01\x01H\x00R\x03val\x88\x01\x01\x42\x06\n\x04_val\"\xd4\x01\n\x18IgnoreEmptyProto3Message\x12\x96\x01\n\x03val\x18\x01 \x01(\x0b\x32<.buf.validate.conformance.cases.IgnoreEmptyProto3Message.MsgBA\xbaH>\xba\x01\x38\n\x1bignore_empty.proto3.message\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd0\x01\x01H\x00R\x03val\x88\x01\x01\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03valB\x06\n\x04_val\"=\n\x16IgnoreEmptyProto3Oneof\x12\x1e\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd0\x01\x01H\x00R\x03valB\x03\n\x01o\":\n\x19IgnoreEmptyProto3Repeated\x12\x1d\n\x03val\x18\x01 \x03(\x05\x42\x0b\xbaH\x08\x92\x01\x02\x08\x03\xd0\x01\x01R\x03val\"\xac\x01\n\x14IgnoreEmptyProto3Map\x12\\\n\x03val\x18\x01 \x03(\x0b\x32=.buf.validate.conformance.cases.IgnoreEmptyProto3Map.ValEntryB\x0b\xbaH\x08\x9a\x01\x02\x08\x03\xd0\x01\x01R\x03val\x1a\x36\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\x05R\x03key\x12\x14\n\x05value\x18\x02 \x01(\x05R\x05value:\x02\x38\x01\"=\n\x18IgnoreEmptyRepeatedItems\x12!\n\x03val\x18\x01 \x03(\x05\x42\x0f\xbaH\x0c\x92\x01\t\"\x07\x1a\x02 \x00\xd0\x01\x01R\x03val\"\xb7\x01\n\x13IgnoreEmptyMapPairs\x12h\n\x03val\x18\x01 \x03(\x0b\x32<.buf.validate.conformance.cases.IgnoreEmptyMapPairs.ValEntryB\x18\xbaH\x15\x9a\x01\x12\"\x07r\x02\x10\x03\xd0\x01\x01*\x07\x1a\x02 \x00\xd0\x01\x01R\x03val\x1a\x36\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\x05R\x05value:\x02\x38\x01\x42\xd8\x01\n\"com.buf.validate.conformance.casesB\x16IgnoreEmptyProto3ProtoP\x01\xa2\x02\x04\x42VCC\xaa\x02\x1e\x42uf.Validate.Conformance.Cases\xca\x02\x1e\x42uf\\Validate\\Conformance\\Cases\xe2\x02*Buf\\Validate\\Conformance\\Cases\\GPBMetadata\xea\x02!Buf::Validate::Conformance::Casesb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n8buf/validate/conformance/cases/ignore_empty_proto3.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x1b\x62uf/validate/validate.proto\"7\n\x17IgnoreEmptyProto3Scalar\x12\x1c\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\"L\n\x1fIgnoreEmptyProto3OptionalScalar\x12!\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x01H\x00R\x03val\x88\x01\x01\x42\x06\n\x04_val\"\xd4\x01\n\x18IgnoreEmptyProto3Message\x12\x96\x01\n\x03val\x18\x01 \x01(\x0b\x32<.buf.validate.conformance.cases.IgnoreEmptyProto3Message.MsgBA\xbaH>\xba\x01\x38\n\x1bignore_empty.proto3.message\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x01H\x00R\x03val\x88\x01\x01\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03valB\x06\n\x04_val\"=\n\x16IgnoreEmptyProto3Oneof\x12\x1e\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x01H\x00R\x03valB\x03\n\x01o\":\n\x19IgnoreEmptyProto3Repeated\x12\x1d\n\x03val\x18\x01 \x03(\x05\x42\x0b\xbaH\x08\x92\x01\x02\x08\x03\xd8\x01\x01R\x03val\"\xac\x01\n\x14IgnoreEmptyProto3Map\x12\\\n\x03val\x18\x01 \x03(\x0b\x32=.buf.validate.conformance.cases.IgnoreEmptyProto3Map.ValEntryB\x0b\xbaH\x08\x9a\x01\x02\x08\x03\xd8\x01\x01R\x03val\x1a\x36\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\x05R\x03key\x12\x14\n\x05value\x18\x02 \x01(\x05R\x05value:\x02\x38\x01\"=\n\x18IgnoreEmptyRepeatedItems\x12!\n\x03val\x18\x01 \x03(\x05\x42\x0f\xbaH\x0c\x92\x01\t\"\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\"\xb7\x01\n\x13IgnoreEmptyMapPairs\x12h\n\x03val\x18\x01 \x03(\x0b\x32<.buf.validate.conformance.cases.IgnoreEmptyMapPairs.ValEntryB\x18\xbaH\x15\x9a\x01\x12\"\x07r\x02\x10\x03\xd8\x01\x01*\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\x1a\x36\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\x05R\x05value:\x02\x38\x01\x42\xd8\x01\n\"com.buf.validate.conformance.casesB\x16IgnoreEmptyProto3ProtoP\x01\xa2\x02\x04\x42VCC\xaa\x02\x1e\x42uf.Validate.Conformance.Cases\xca\x02\x1e\x42uf\\Validate\\Conformance\\Cases\xe2\x02*Buf\\Validate\\Conformance\\Cases\\GPBMetadata\xea\x02!Buf::Validate::Conformance::Casesb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -48,25 +48,25 @@ _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\"com.buf.validate.conformance.casesB\026IgnoreEmptyProto3ProtoP\001\242\002\004BVCC\252\002\036Buf.Validate.Conformance.Cases\312\002\036Buf\\Validate\\Conformance\\Cases\342\002*Buf\\Validate\\Conformance\\Cases\\GPBMetadata\352\002!Buf::Validate::Conformance::Cases' _globals['_IGNOREEMPTYPROTO3SCALAR'].fields_by_name['val']._loaded_options = None - _globals['_IGNOREEMPTYPROTO3SCALAR'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\320\001\001' + _globals['_IGNOREEMPTYPROTO3SCALAR'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\001' _globals['_IGNOREEMPTYPROTO3OPTIONALSCALAR'].fields_by_name['val']._loaded_options = None - _globals['_IGNOREEMPTYPROTO3OPTIONALSCALAR'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\320\001\001' + _globals['_IGNOREEMPTYPROTO3OPTIONALSCALAR'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\001' _globals['_IGNOREEMPTYPROTO3MESSAGE'].fields_by_name['val']._loaded_options = None - _globals['_IGNOREEMPTYPROTO3MESSAGE'].fields_by_name['val']._serialized_options = b'\272H>\272\0018\n\033ignore_empty.proto3.message\022\006foobar\032\021this.val == \'foo\'\320\001\001' + _globals['_IGNOREEMPTYPROTO3MESSAGE'].fields_by_name['val']._serialized_options = b'\272H>\272\0018\n\033ignore_empty.proto3.message\022\006foobar\032\021this.val == \'foo\'\330\001\001' _globals['_IGNOREEMPTYPROTO3ONEOF'].fields_by_name['val']._loaded_options = None - _globals['_IGNOREEMPTYPROTO3ONEOF'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\320\001\001' + _globals['_IGNOREEMPTYPROTO3ONEOF'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\001' _globals['_IGNOREEMPTYPROTO3REPEATED'].fields_by_name['val']._loaded_options = None - _globals['_IGNOREEMPTYPROTO3REPEATED'].fields_by_name['val']._serialized_options = b'\272H\010\222\001\002\010\003\320\001\001' + _globals['_IGNOREEMPTYPROTO3REPEATED'].fields_by_name['val']._serialized_options = b'\272H\010\222\001\002\010\003\330\001\001' _globals['_IGNOREEMPTYPROTO3MAP_VALENTRY']._loaded_options = None _globals['_IGNOREEMPTYPROTO3MAP_VALENTRY']._serialized_options = b'8\001' _globals['_IGNOREEMPTYPROTO3MAP'].fields_by_name['val']._loaded_options = None - _globals['_IGNOREEMPTYPROTO3MAP'].fields_by_name['val']._serialized_options = b'\272H\010\232\001\002\010\003\320\001\001' + _globals['_IGNOREEMPTYPROTO3MAP'].fields_by_name['val']._serialized_options = b'\272H\010\232\001\002\010\003\330\001\001' _globals['_IGNOREEMPTYREPEATEDITEMS'].fields_by_name['val']._loaded_options = None - _globals['_IGNOREEMPTYREPEATEDITEMS'].fields_by_name['val']._serialized_options = b'\272H\014\222\001\t\"\007\032\002 \000\320\001\001' + _globals['_IGNOREEMPTYREPEATEDITEMS'].fields_by_name['val']._serialized_options = b'\272H\014\222\001\t\"\007\032\002 \000\330\001\001' _globals['_IGNOREEMPTYMAPPAIRS_VALENTRY']._loaded_options = None _globals['_IGNOREEMPTYMAPPAIRS_VALENTRY']._serialized_options = b'8\001' _globals['_IGNOREEMPTYMAPPAIRS'].fields_by_name['val']._loaded_options = None - _globals['_IGNOREEMPTYMAPPAIRS'].fields_by_name['val']._serialized_options = b'\272H\025\232\001\022\"\007r\002\020\003\320\001\001*\007\032\002 \000\320\001\001' + _globals['_IGNOREEMPTYMAPPAIRS'].fields_by_name['val']._serialized_options = b'\272H\025\232\001\022\"\007r\002\020\003\330\001\001*\007\032\002 \000\330\001\001' _globals['_IGNOREEMPTYPROTO3SCALAR']._serialized_start=121 _globals['_IGNOREEMPTYPROTO3SCALAR']._serialized_end=176 _globals['_IGNOREEMPTYPROTO3OPTIONALSCALAR']._serialized_start=178 diff --git a/gen/buf/validate/conformance/cases/ignore_empty_proto_editions_pb2.py b/gen/buf/validate/conformance/cases/ignore_empty_proto_editions_pb2.py index a85b95fc..5b27d84a 100644 --- a/gen/buf/validate/conformance/cases/ignore_empty_proto_editions_pb2.py +++ b/gen/buf/validate/conformance/cases/ignore_empty_proto_editions_pb2.py @@ -39,7 +39,7 @@ from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n@buf/validate/conformance/cases/ignore_empty_proto_editions.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x1b\x62uf/validate/validate.proto\"I\n)IgnoreEmptyEditionsScalarExplicitPresence\x12\x1c\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd0\x01\x01R\x03val\"X\n4IgnoreEmptyEditionsScalarExplicitPresenceWithDefault\x12 \n\x03val\x18\x01 \x01(\x05:\x02\x34\x32\x42\n\xbaH\x07\x1a\x02 \x00\xd0\x01\x01R\x03val\"N\n)IgnoreEmptyEditionsScalarImplicitPresence\x12!\n\x03val\x18\x01 \x01(\x05\x42\x0f\xaa\x01\x02\x08\x02\xbaH\x07\x1a\x02 \x00\xd0\x01\x01R\x03val\"L\n\'IgnoreEmptyEditionsScalarLegacyRequired\x12!\n\x03val\x18\x01 \x01(\x05\x42\x0f\xaa\x01\x02\x08\x03\xbaH\x07\x1a\x02 \x00\xd0\x01\x01R\x03val\"[\n2IgnoreEmptyEditionsScalarLegacyRequiredWithDefault\x12%\n\x03val\x18\x01 \x01(\x05:\x02\x34\x32\x42\x0f\xaa\x01\x02\x08\x03\xbaH\x07\x1a\x02 \x00\xd0\x01\x01R\x03val\"\xed\x01\n*IgnoreEmptyEditionsMessageExplicitPresence\x12\xa5\x01\n\x03val\x18\x01 \x01(\x0b\x32N.buf.validate.conformance.cases.IgnoreEmptyEditionsMessageExplicitPresence.MsgBC\xbaH@\xba\x01:\n\x1dignore_empty.editions.message\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd0\x01\x01R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\x84\x02\n3IgnoreEmptyEditionsMessageExplicitPresenceDelimited\x12\xb3\x01\n\x03val\x18\x01 \x01(\x0b\x32W.buf.validate.conformance.cases.IgnoreEmptyEditionsMessageExplicitPresenceDelimited.MsgBH\xaa\x01\x02(\x02\xbaH@\xba\x01:\n\x1dignore_empty.editions.message\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd0\x01\x01R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\xee\x01\n(IgnoreEmptyEditionsMessageLegacyRequired\x12\xa8\x01\n\x03val\x18\x01 \x01(\x0b\x32L.buf.validate.conformance.cases.IgnoreEmptyEditionsMessageLegacyRequired.MsgBH\xaa\x01\x02\x08\x03\xbaH@\xba\x01:\n\x1dignore_empty.editions.message\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd0\x01\x01R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\x82\x02\n1IgnoreEmptyEditionsMessageLegacyRequiredDelimited\x12\xb3\x01\n\x03val\x18\x01 \x01(\x0b\x32U.buf.validate.conformance.cases.IgnoreEmptyEditionsMessageLegacyRequiredDelimited.MsgBJ\xaa\x01\x04\x08\x03(\x02\xbaH@\xba\x01:\n\x1dignore_empty.editions.message\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd0\x01\x01R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"?\n\x18IgnoreEmptyEditionsOneof\x12\x1e\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd0\x01\x01H\x00R\x03valB\x03\n\x01o\"<\n\x1bIgnoreEmptyEditionsRepeated\x12\x1d\n\x03val\x18\x01 \x03(\x05\x42\x0b\xbaH\x08\x92\x01\x02\x08\x03\xd0\x01\x01R\x03val\"I\n#IgnoreEmptyEditionsRepeatedExpanded\x12\"\n\x03val\x18\x01 \x03(\x05\x42\x10\xaa\x01\x02\x18\x02\xbaH\x08\x92\x01\x02\x08\x03\xd0\x01\x01R\x03val\"\xb0\x01\n\x16IgnoreEmptyEditionsMap\x12^\n\x03val\x18\x01 \x03(\x0b\x32?.buf.validate.conformance.cases.IgnoreEmptyEditionsMap.ValEntryB\x0b\xbaH\x08\x9a\x01\x02\x08\x03\xd0\x01\x01R\x03val\x1a\x36\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\x05R\x03key\x12\x14\n\x05value\x18\x02 \x01(\x05R\x05value:\x02\x38\x01\x42\xdf\x01\n\"com.buf.validate.conformance.casesB\x1dIgnoreEmptyProtoEditionsProtoP\x01\xa2\x02\x04\x42VCC\xaa\x02\x1e\x42uf.Validate.Conformance.Cases\xca\x02\x1e\x42uf\\Validate\\Conformance\\Cases\xe2\x02*Buf\\Validate\\Conformance\\Cases\\GPBMetadata\xea\x02!Buf::Validate::Conformance::Casesb\x08\x65\x64itionsp\xe8\x07') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n@buf/validate/conformance/cases/ignore_empty_proto_editions.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x1b\x62uf/validate/validate.proto\"I\n)IgnoreEmptyEditionsScalarExplicitPresence\x12\x1c\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\"X\n4IgnoreEmptyEditionsScalarExplicitPresenceWithDefault\x12 \n\x03val\x18\x01 \x01(\x05:\x02\x34\x32\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\"N\n)IgnoreEmptyEditionsScalarImplicitPresence\x12!\n\x03val\x18\x01 \x01(\x05\x42\x0f\xaa\x01\x02\x08\x02\xbaH\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\"L\n\'IgnoreEmptyEditionsScalarLegacyRequired\x12!\n\x03val\x18\x01 \x01(\x05\x42\x0f\xaa\x01\x02\x08\x03\xbaH\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\"[\n2IgnoreEmptyEditionsScalarLegacyRequiredWithDefault\x12%\n\x03val\x18\x01 \x01(\x05:\x02\x34\x32\x42\x0f\xaa\x01\x02\x08\x03\xbaH\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\"\xed\x01\n*IgnoreEmptyEditionsMessageExplicitPresence\x12\xa5\x01\n\x03val\x18\x01 \x01(\x0b\x32N.buf.validate.conformance.cases.IgnoreEmptyEditionsMessageExplicitPresence.MsgBC\xbaH@\xba\x01:\n\x1dignore_empty.editions.message\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x01R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\x84\x02\n3IgnoreEmptyEditionsMessageExplicitPresenceDelimited\x12\xb3\x01\n\x03val\x18\x01 \x01(\x0b\x32W.buf.validate.conformance.cases.IgnoreEmptyEditionsMessageExplicitPresenceDelimited.MsgBH\xaa\x01\x02(\x02\xbaH@\xba\x01:\n\x1dignore_empty.editions.message\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x01R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\xee\x01\n(IgnoreEmptyEditionsMessageLegacyRequired\x12\xa8\x01\n\x03val\x18\x01 \x01(\x0b\x32L.buf.validate.conformance.cases.IgnoreEmptyEditionsMessageLegacyRequired.MsgBH\xaa\x01\x02\x08\x03\xbaH@\xba\x01:\n\x1dignore_empty.editions.message\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x01R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\x82\x02\n1IgnoreEmptyEditionsMessageLegacyRequiredDelimited\x12\xb3\x01\n\x03val\x18\x01 \x01(\x0b\x32U.buf.validate.conformance.cases.IgnoreEmptyEditionsMessageLegacyRequiredDelimited.MsgBJ\xaa\x01\x04\x08\x03(\x02\xbaH@\xba\x01:\n\x1dignore_empty.editions.message\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x01R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"?\n\x18IgnoreEmptyEditionsOneof\x12\x1e\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x01H\x00R\x03valB\x03\n\x01o\"<\n\x1bIgnoreEmptyEditionsRepeated\x12\x1d\n\x03val\x18\x01 \x03(\x05\x42\x0b\xbaH\x08\x92\x01\x02\x08\x03\xd8\x01\x01R\x03val\"I\n#IgnoreEmptyEditionsRepeatedExpanded\x12\"\n\x03val\x18\x01 \x03(\x05\x42\x10\xaa\x01\x02\x18\x02\xbaH\x08\x92\x01\x02\x08\x03\xd8\x01\x01R\x03val\"\xb0\x01\n\x16IgnoreEmptyEditionsMap\x12^\n\x03val\x18\x01 \x03(\x0b\x32?.buf.validate.conformance.cases.IgnoreEmptyEditionsMap.ValEntryB\x0b\xbaH\x08\x9a\x01\x02\x08\x03\xd8\x01\x01R\x03val\x1a\x36\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\x05R\x03key\x12\x14\n\x05value\x18\x02 \x01(\x05R\x05value:\x02\x38\x01\x42\xdf\x01\n\"com.buf.validate.conformance.casesB\x1dIgnoreEmptyProtoEditionsProtoP\x01\xa2\x02\x04\x42VCC\xaa\x02\x1e\x42uf.Validate.Conformance.Cases\xca\x02\x1e\x42uf\\Validate\\Conformance\\Cases\xe2\x02*Buf\\Validate\\Conformance\\Cases\\GPBMetadata\xea\x02!Buf::Validate::Conformance::Casesb\x08\x65\x64itionsp\xe8\x07') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -48,33 +48,33 @@ _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\"com.buf.validate.conformance.casesB\035IgnoreEmptyProtoEditionsProtoP\001\242\002\004BVCC\252\002\036Buf.Validate.Conformance.Cases\312\002\036Buf\\Validate\\Conformance\\Cases\342\002*Buf\\Validate\\Conformance\\Cases\\GPBMetadata\352\002!Buf::Validate::Conformance::Cases' _globals['_IGNOREEMPTYEDITIONSSCALAREXPLICITPRESENCE'].fields_by_name['val']._loaded_options = None - _globals['_IGNOREEMPTYEDITIONSSCALAREXPLICITPRESENCE'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\320\001\001' + _globals['_IGNOREEMPTYEDITIONSSCALAREXPLICITPRESENCE'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\001' _globals['_IGNOREEMPTYEDITIONSSCALAREXPLICITPRESENCEWITHDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_IGNOREEMPTYEDITIONSSCALAREXPLICITPRESENCEWITHDEFAULT'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\320\001\001' + _globals['_IGNOREEMPTYEDITIONSSCALAREXPLICITPRESENCEWITHDEFAULT'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\001' _globals['_IGNOREEMPTYEDITIONSSCALARIMPLICITPRESENCE'].fields_by_name['val']._loaded_options = None - _globals['_IGNOREEMPTYEDITIONSSCALARIMPLICITPRESENCE'].fields_by_name['val']._serialized_options = b'\252\001\002\010\002\272H\007\032\002 \000\320\001\001' + _globals['_IGNOREEMPTYEDITIONSSCALARIMPLICITPRESENCE'].fields_by_name['val']._serialized_options = b'\252\001\002\010\002\272H\007\032\002 \000\330\001\001' _globals['_IGNOREEMPTYEDITIONSSCALARLEGACYREQUIRED'].fields_by_name['val']._loaded_options = None - _globals['_IGNOREEMPTYEDITIONSSCALARLEGACYREQUIRED'].fields_by_name['val']._serialized_options = b'\252\001\002\010\003\272H\007\032\002 \000\320\001\001' + _globals['_IGNOREEMPTYEDITIONSSCALARLEGACYREQUIRED'].fields_by_name['val']._serialized_options = b'\252\001\002\010\003\272H\007\032\002 \000\330\001\001' _globals['_IGNOREEMPTYEDITIONSSCALARLEGACYREQUIREDWITHDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_IGNOREEMPTYEDITIONSSCALARLEGACYREQUIREDWITHDEFAULT'].fields_by_name['val']._serialized_options = b'\252\001\002\010\003\272H\007\032\002 \000\320\001\001' + _globals['_IGNOREEMPTYEDITIONSSCALARLEGACYREQUIREDWITHDEFAULT'].fields_by_name['val']._serialized_options = b'\252\001\002\010\003\272H\007\032\002 \000\330\001\001' _globals['_IGNOREEMPTYEDITIONSMESSAGEEXPLICITPRESENCE'].fields_by_name['val']._loaded_options = None - _globals['_IGNOREEMPTYEDITIONSMESSAGEEXPLICITPRESENCE'].fields_by_name['val']._serialized_options = b'\272H@\272\001:\n\035ignore_empty.editions.message\022\006foobar\032\021this.val == \'foo\'\320\001\001' + _globals['_IGNOREEMPTYEDITIONSMESSAGEEXPLICITPRESENCE'].fields_by_name['val']._serialized_options = b'\272H@\272\001:\n\035ignore_empty.editions.message\022\006foobar\032\021this.val == \'foo\'\330\001\001' _globals['_IGNOREEMPTYEDITIONSMESSAGEEXPLICITPRESENCEDELIMITED'].fields_by_name['val']._loaded_options = None - _globals['_IGNOREEMPTYEDITIONSMESSAGEEXPLICITPRESENCEDELIMITED'].fields_by_name['val']._serialized_options = b'\252\001\002(\002\272H@\272\001:\n\035ignore_empty.editions.message\022\006foobar\032\021this.val == \'foo\'\320\001\001' + _globals['_IGNOREEMPTYEDITIONSMESSAGEEXPLICITPRESENCEDELIMITED'].fields_by_name['val']._serialized_options = b'\252\001\002(\002\272H@\272\001:\n\035ignore_empty.editions.message\022\006foobar\032\021this.val == \'foo\'\330\001\001' _globals['_IGNOREEMPTYEDITIONSMESSAGELEGACYREQUIRED'].fields_by_name['val']._loaded_options = None - _globals['_IGNOREEMPTYEDITIONSMESSAGELEGACYREQUIRED'].fields_by_name['val']._serialized_options = b'\252\001\002\010\003\272H@\272\001:\n\035ignore_empty.editions.message\022\006foobar\032\021this.val == \'foo\'\320\001\001' + _globals['_IGNOREEMPTYEDITIONSMESSAGELEGACYREQUIRED'].fields_by_name['val']._serialized_options = b'\252\001\002\010\003\272H@\272\001:\n\035ignore_empty.editions.message\022\006foobar\032\021this.val == \'foo\'\330\001\001' _globals['_IGNOREEMPTYEDITIONSMESSAGELEGACYREQUIREDDELIMITED'].fields_by_name['val']._loaded_options = None - _globals['_IGNOREEMPTYEDITIONSMESSAGELEGACYREQUIREDDELIMITED'].fields_by_name['val']._serialized_options = b'\252\001\004\010\003(\002\272H@\272\001:\n\035ignore_empty.editions.message\022\006foobar\032\021this.val == \'foo\'\320\001\001' + _globals['_IGNOREEMPTYEDITIONSMESSAGELEGACYREQUIREDDELIMITED'].fields_by_name['val']._serialized_options = b'\252\001\004\010\003(\002\272H@\272\001:\n\035ignore_empty.editions.message\022\006foobar\032\021this.val == \'foo\'\330\001\001' _globals['_IGNOREEMPTYEDITIONSONEOF'].fields_by_name['val']._loaded_options = None - _globals['_IGNOREEMPTYEDITIONSONEOF'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\320\001\001' + _globals['_IGNOREEMPTYEDITIONSONEOF'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\001' _globals['_IGNOREEMPTYEDITIONSREPEATED'].fields_by_name['val']._loaded_options = None - _globals['_IGNOREEMPTYEDITIONSREPEATED'].fields_by_name['val']._serialized_options = b'\272H\010\222\001\002\010\003\320\001\001' + _globals['_IGNOREEMPTYEDITIONSREPEATED'].fields_by_name['val']._serialized_options = b'\272H\010\222\001\002\010\003\330\001\001' _globals['_IGNOREEMPTYEDITIONSREPEATEDEXPANDED'].fields_by_name['val']._loaded_options = None - _globals['_IGNOREEMPTYEDITIONSREPEATEDEXPANDED'].fields_by_name['val']._serialized_options = b'\252\001\002\030\002\272H\010\222\001\002\010\003\320\001\001' + _globals['_IGNOREEMPTYEDITIONSREPEATEDEXPANDED'].fields_by_name['val']._serialized_options = b'\252\001\002\030\002\272H\010\222\001\002\010\003\330\001\001' _globals['_IGNOREEMPTYEDITIONSMAP_VALENTRY']._loaded_options = None _globals['_IGNOREEMPTYEDITIONSMAP_VALENTRY']._serialized_options = b'8\001' _globals['_IGNOREEMPTYEDITIONSMAP'].fields_by_name['val']._loaded_options = None - _globals['_IGNOREEMPTYEDITIONSMAP'].fields_by_name['val']._serialized_options = b'\272H\010\232\001\002\010\003\320\001\001' + _globals['_IGNOREEMPTYEDITIONSMAP'].fields_by_name['val']._serialized_options = b'\272H\010\232\001\002\010\003\330\001\001' _globals['_IGNOREEMPTYEDITIONSSCALAREXPLICITPRESENCE']._serialized_start=129 _globals['_IGNOREEMPTYEDITIONSSCALAREXPLICITPRESENCE']._serialized_end=202 _globals['_IGNOREEMPTYEDITIONSSCALAREXPLICITPRESENCEWITHDEFAULT']._serialized_start=204 diff --git a/gen/buf/validate/conformance/cases/maps_pb2.py b/gen/buf/validate/conformance/cases/maps_pb2.py index d42e7e6c..4a4f5ba0 100644 --- a/gen/buf/validate/conformance/cases/maps_pb2.py +++ b/gen/buf/validate/conformance/cases/maps_pb2.py @@ -39,7 +39,7 @@ from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)buf/validate/conformance/cases/maps.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x1b\x62uf/validate/validate.proto\"\x85\x01\n\x07MapNone\x12\x42\n\x03val\x18\x01 \x03(\x0b\x32\x30.buf.validate.conformance.cases.MapNone.ValEntryR\x03val\x1a\x36\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\rR\x03key\x12\x14\n\x05value\x18\x02 \x01(\x08R\x05value:\x02\x38\x01\"\x8d\x01\n\x06MapMin\x12K\n\x03val\x18\x01 \x03(\x0b\x32/.buf.validate.conformance.cases.MapMin.ValEntryB\x08\xbaH\x05\x9a\x01\x02\x08\x02R\x03val\x1a\x36\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\x05R\x03key\x12\x14\n\x05value\x18\x02 \x01(\x02R\x05value:\x02\x38\x01\"\x8d\x01\n\x06MapMax\x12K\n\x03val\x18\x01 \x03(\x0b\x32/.buf.validate.conformance.cases.MapMax.ValEntryB\x08\xbaH\x05\x9a\x01\x02\x10\x03R\x03val\x1a\x36\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\x03R\x03key\x12\x14\n\x05value\x18\x02 \x01(\x01R\x05value:\x02\x38\x01\"\x95\x01\n\tMapMinMax\x12P\n\x03val\x18\x01 \x03(\x0b\x32\x32.buf.validate.conformance.cases.MapMinMax.ValEntryB\n\xbaH\x07\x9a\x01\x04\x08\x02\x10\x04R\x03val\x1a\x36\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\x08R\x05value:\x02\x38\x01\"\x93\x01\n\x08MapExact\x12O\n\x03val\x18\x01 \x03(\x0b\x32\x31.buf.validate.conformance.cases.MapExact.ValEntryB\n\xbaH\x07\x9a\x01\x04\x08\x03\x10\x03R\x03val\x1a\x36\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\x04R\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\x93\x01\n\x07MapKeys\x12P\n\x03val\x18\x01 \x03(\x0b\x32\x30.buf.validate.conformance.cases.MapKeys.ValEntryB\x0c\xbaH\t\x9a\x01\x06\"\x04\x42\x02\x10\x00R\x03val\x1a\x36\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\x12R\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\x97\x01\n\tMapValues\x12R\n\x03val\x18\x01 \x03(\x0b\x32\x32.buf.validate.conformance.cases.MapValues.ValEntryB\x0c\xbaH\t\x9a\x01\x06*\x04r\x02\x10\x03R\x03val\x1a\x36\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\xb0\x01\n\x0eMapKeysPattern\x12\x66\n\x03val\x18\x01 \x03(\x0b\x32\x37.buf.validate.conformance.cases.MapKeysPattern.ValEntryB\x1b\xbaH\x18\x9a\x01\x15\"\x13r\x11\x32\x0f(?i)^[a-z0-9]+$R\x03val\x1a\x36\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\xb4\x01\n\x10MapValuesPattern\x12h\n\x03val\x18\x01 \x03(\x0b\x32\x39.buf.validate.conformance.cases.MapValuesPattern.ValEntryB\x1b\xbaH\x18\x9a\x01\x15*\x13r\x11\x32\x0f(?i)^[a-z0-9]+$R\x03val\x1a\x36\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\xe3\x01\n\x0cMapRecursive\x12G\n\x03val\x18\x01 \x03(\x0b\x32\x35.buf.validate.conformance.cases.MapRecursive.ValEntryR\x03val\x1ah\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\rR\x03key\x12\x46\n\x05value\x18\x02 \x01(\x0b\x32\x30.buf.validate.conformance.cases.MapRecursive.MsgR\x05value:\x02\x38\x01\x1a \n\x03Msg\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x03R\x03val\"\xa2\x01\n\x0eMapExactIgnore\x12X\n\x03val\x18\x01 \x03(\x0b\x32\x37.buf.validate.conformance.cases.MapExactIgnore.ValEntryB\r\xbaH\n\x9a\x01\x04\x08\x03\x10\x03\xd0\x01\x01R\x03val\x1a\x36\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\x04R\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\xd7\x03\n\x0cMultipleMaps\x12[\n\x05\x66irst\x18\x01 \x03(\x0b\x32\x37.buf.validate.conformance.cases.MultipleMaps.FirstEntryB\x0c\xbaH\t\x9a\x01\x06\"\x04*\x02 \x00R\x05\x66irst\x12^\n\x06second\x18\x02 \x03(\x0b\x32\x38.buf.validate.conformance.cases.MultipleMaps.SecondEntryB\x0c\xbaH\t\x9a\x01\x06\"\x04\x1a\x02\x10\x00R\x06second\x12[\n\x05third\x18\x03 \x03(\x0b\x32\x37.buf.validate.conformance.cases.MultipleMaps.ThirdEntryB\x0c\xbaH\t\x9a\x01\x06\"\x04\x1a\x02 \x00R\x05third\x1a\x38\n\nFirstEntry\x12\x10\n\x03key\x18\x01 \x01(\rR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1a\x39\n\x0bSecondEntry\x12\x10\n\x03key\x18\x01 \x01(\x05R\x03key\x12\x14\n\x05value\x18\x02 \x01(\x08R\x05value:\x02\x38\x01\x1a\x38\n\nThirdEntry\x12\x10\n\x03key\x18\x01 \x01(\x05R\x03key\x12\x14\n\x05value\x18\x02 \x01(\x08R\x05value:\x02\x38\x01\x42\xcb\x01\n\"com.buf.validate.conformance.casesB\tMapsProtoP\x01\xa2\x02\x04\x42VCC\xaa\x02\x1e\x42uf.Validate.Conformance.Cases\xca\x02\x1e\x42uf\\Validate\\Conformance\\Cases\xe2\x02*Buf\\Validate\\Conformance\\Cases\\GPBMetadata\xea\x02!Buf::Validate::Conformance::Casesb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)buf/validate/conformance/cases/maps.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x1b\x62uf/validate/validate.proto\"\x85\x01\n\x07MapNone\x12\x42\n\x03val\x18\x01 \x03(\x0b\x32\x30.buf.validate.conformance.cases.MapNone.ValEntryR\x03val\x1a\x36\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\rR\x03key\x12\x14\n\x05value\x18\x02 \x01(\x08R\x05value:\x02\x38\x01\"\x8d\x01\n\x06MapMin\x12K\n\x03val\x18\x01 \x03(\x0b\x32/.buf.validate.conformance.cases.MapMin.ValEntryB\x08\xbaH\x05\x9a\x01\x02\x08\x02R\x03val\x1a\x36\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\x05R\x03key\x12\x14\n\x05value\x18\x02 \x01(\x02R\x05value:\x02\x38\x01\"\x8d\x01\n\x06MapMax\x12K\n\x03val\x18\x01 \x03(\x0b\x32/.buf.validate.conformance.cases.MapMax.ValEntryB\x08\xbaH\x05\x9a\x01\x02\x10\x03R\x03val\x1a\x36\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\x03R\x03key\x12\x14\n\x05value\x18\x02 \x01(\x01R\x05value:\x02\x38\x01\"\x95\x01\n\tMapMinMax\x12P\n\x03val\x18\x01 \x03(\x0b\x32\x32.buf.validate.conformance.cases.MapMinMax.ValEntryB\n\xbaH\x07\x9a\x01\x04\x08\x02\x10\x04R\x03val\x1a\x36\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\x08R\x05value:\x02\x38\x01\"\x93\x01\n\x08MapExact\x12O\n\x03val\x18\x01 \x03(\x0b\x32\x31.buf.validate.conformance.cases.MapExact.ValEntryB\n\xbaH\x07\x9a\x01\x04\x08\x03\x10\x03R\x03val\x1a\x36\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\x04R\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\x93\x01\n\x07MapKeys\x12P\n\x03val\x18\x01 \x03(\x0b\x32\x30.buf.validate.conformance.cases.MapKeys.ValEntryB\x0c\xbaH\t\x9a\x01\x06\"\x04\x42\x02\x10\x00R\x03val\x1a\x36\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\x12R\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\x97\x01\n\tMapValues\x12R\n\x03val\x18\x01 \x03(\x0b\x32\x32.buf.validate.conformance.cases.MapValues.ValEntryB\x0c\xbaH\t\x9a\x01\x06*\x04r\x02\x10\x03R\x03val\x1a\x36\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\xb0\x01\n\x0eMapKeysPattern\x12\x66\n\x03val\x18\x01 \x03(\x0b\x32\x37.buf.validate.conformance.cases.MapKeysPattern.ValEntryB\x1b\xbaH\x18\x9a\x01\x15\"\x13r\x11\x32\x0f(?i)^[a-z0-9]+$R\x03val\x1a\x36\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\xb4\x01\n\x10MapValuesPattern\x12h\n\x03val\x18\x01 \x03(\x0b\x32\x39.buf.validate.conformance.cases.MapValuesPattern.ValEntryB\x1b\xbaH\x18\x9a\x01\x15*\x13r\x11\x32\x0f(?i)^[a-z0-9]+$R\x03val\x1a\x36\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\xe3\x01\n\x0cMapRecursive\x12G\n\x03val\x18\x01 \x03(\x0b\x32\x35.buf.validate.conformance.cases.MapRecursive.ValEntryR\x03val\x1ah\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\rR\x03key\x12\x46\n\x05value\x18\x02 \x01(\x0b\x32\x30.buf.validate.conformance.cases.MapRecursive.MsgR\x05value:\x02\x38\x01\x1a \n\x03Msg\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x03R\x03val\"\xa2\x01\n\x0eMapExactIgnore\x12X\n\x03val\x18\x01 \x03(\x0b\x32\x37.buf.validate.conformance.cases.MapExactIgnore.ValEntryB\r\xbaH\n\x9a\x01\x04\x08\x03\x10\x03\xd8\x01\x01R\x03val\x1a\x36\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\x04R\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\xd7\x03\n\x0cMultipleMaps\x12[\n\x05\x66irst\x18\x01 \x03(\x0b\x32\x37.buf.validate.conformance.cases.MultipleMaps.FirstEntryB\x0c\xbaH\t\x9a\x01\x06\"\x04*\x02 \x00R\x05\x66irst\x12^\n\x06second\x18\x02 \x03(\x0b\x32\x38.buf.validate.conformance.cases.MultipleMaps.SecondEntryB\x0c\xbaH\t\x9a\x01\x06\"\x04\x1a\x02\x10\x00R\x06second\x12[\n\x05third\x18\x03 \x03(\x0b\x32\x37.buf.validate.conformance.cases.MultipleMaps.ThirdEntryB\x0c\xbaH\t\x9a\x01\x06\"\x04\x1a\x02 \x00R\x05third\x1a\x38\n\nFirstEntry\x12\x10\n\x03key\x18\x01 \x01(\rR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1a\x39\n\x0bSecondEntry\x12\x10\n\x03key\x18\x01 \x01(\x05R\x03key\x12\x14\n\x05value\x18\x02 \x01(\x08R\x05value:\x02\x38\x01\x1a\x38\n\nThirdEntry\x12\x10\n\x03key\x18\x01 \x01(\x05R\x03key\x12\x14\n\x05value\x18\x02 \x01(\x08R\x05value:\x02\x38\x01\x42\xcb\x01\n\"com.buf.validate.conformance.casesB\tMapsProtoP\x01\xa2\x02\x04\x42VCC\xaa\x02\x1e\x42uf.Validate.Conformance.Cases\xca\x02\x1e\x42uf\\Validate\\Conformance\\Cases\xe2\x02*Buf\\Validate\\Conformance\\Cases\\GPBMetadata\xea\x02!Buf::Validate::Conformance::Casesb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -88,7 +88,7 @@ _globals['_MAPEXACTIGNORE_VALENTRY']._loaded_options = None _globals['_MAPEXACTIGNORE_VALENTRY']._serialized_options = b'8\001' _globals['_MAPEXACTIGNORE'].fields_by_name['val']._loaded_options = None - _globals['_MAPEXACTIGNORE'].fields_by_name['val']._serialized_options = b'\272H\n\232\001\004\010\003\020\003\320\001\001' + _globals['_MAPEXACTIGNORE'].fields_by_name['val']._serialized_options = b'\272H\n\232\001\004\010\003\020\003\330\001\001' _globals['_MULTIPLEMAPS_FIRSTENTRY']._loaded_options = None _globals['_MULTIPLEMAPS_FIRSTENTRY']._serialized_options = b'8\001' _globals['_MULTIPLEMAPS_SECONDENTRY']._loaded_options = None diff --git a/gen/buf/validate/conformance/cases/numbers_pb2.py b/gen/buf/validate/conformance/cases/numbers_pb2.py index c54828ab..ac55ba05 100644 --- a/gen/buf/validate/conformance/cases/numbers_pb2.py +++ b/gen/buf/validate/conformance/cases/numbers_pb2.py @@ -39,7 +39,7 @@ from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n,buf/validate/conformance/cases/numbers.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x1b\x62uf/validate/validate.proto\"\x1d\n\tFloatNone\x12\x10\n\x03val\x18\x01 \x01(\x02R\x03val\"*\n\nFloatConst\x12\x1c\n\x03val\x18\x01 \x01(\x02\x42\n\xbaH\x07\n\x05\r\xa4p\x9d?R\x03val\",\n\x07\x46loatIn\x12!\n\x03val\x18\x01 \x01(\x02\x42\x0f\xbaH\x0c\n\n5\x85\xeb\x91@5\xe1z\xfc@R\x03val\"*\n\nFloatNotIn\x12\x1c\n\x03val\x18\x01 \x01(\x02\x42\n\xbaH\x07\n\x05=\x00\x00\x00\x00R\x03val\"\'\n\x07\x46loatLT\x12\x1c\n\x03val\x18\x01 \x01(\x02\x42\n\xbaH\x07\n\x05\x15\x00\x00\x00\x00R\x03val\"(\n\x08\x46loatLTE\x12\x1c\n\x03val\x18\x01 \x01(\x02\x42\n\xbaH\x07\n\x05\x1d\x00\x00\x80\x42R\x03val\"\'\n\x07\x46loatGT\x12\x1c\n\x03val\x18\x01 \x01(\x02\x42\n\xbaH\x07\n\x05%\x00\x00\x80\x41R\x03val\"(\n\x08\x46loatGTE\x12\x1c\n\x03val\x18\x01 \x01(\x02\x42\n\xbaH\x07\n\x05-\x00\x00\x00\x41R\x03val\".\n\tFloatGTLT\x12!\n\x03val\x18\x01 \x01(\x02\x42\x0f\xbaH\x0c\n\n\x15\x00\x00 A%\x00\x00\x00\x00R\x03val\"0\n\x0b\x46loatExLTGT\x12!\n\x03val\x18\x01 \x01(\x02\x42\x0f\xbaH\x0c\n\n\x15\x00\x00\x00\x00%\x00\x00 AR\x03val\"0\n\x0b\x46loatGTELTE\x12!\n\x03val\x18\x01 \x01(\x02\x42\x0f\xbaH\x0c\n\n\x1d\x00\x00\x80\x43-\x00\x00\x00\x43R\x03val\"2\n\rFloatExGTELTE\x12!\n\x03val\x18\x01 \x01(\x02\x42\x0f\xbaH\x0c\n\n\x1d\x00\x00\x00\x43-\x00\x00\x80\x43R\x03val\"(\n\x0b\x46loatFinite\x12\x19\n\x03val\x18\x01 \x01(\x02\x42\x07\xbaH\x04\n\x02@\x01R\x03val\"+\n\x0e\x46loatNotFinite\x12\x19\n\x03val\x18\x01 \x01(\x02\x42\x07\xbaH\x04\n\x02@\x00R\x03val\"3\n\x0b\x46loatIgnore\x12$\n\x03val\x18\x01 \x01(\x02\x42\x12\xbaH\x0f\n\n\x1d\x00\x00\x80\x43-\x00\x00\x00\x43\xd0\x01\x01R\x03val\"6\n\x12\x46loatIncorrectType\x12 \n\x03val\x18\x01 \x01(\x02\x42\x0e\xbaH\x0b\x12\t!\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\",\n\x0c\x46loatExample\x12\x1c\n\x03val\x18\x01 \x01(\x02\x42\n\xbaH\x07\n\x05M\x00\x00\x00\x41R\x03val\"\x1e\n\nDoubleNone\x12\x10\n\x03val\x18\x01 \x01(\x01R\x03val\"/\n\x0b\x44oubleConst\x12 \n\x03val\x18\x01 \x01(\x01\x42\x0e\xbaH\x0b\x12\t\t\xaeG\xe1z\x14\xae\xf3?R\x03val\"5\n\x08\x44oubleIn\x12)\n\x03val\x18\x01 \x01(\x01\x42\x17\xbaH\x14\x12\x12\x31=\n\xd7\xa3p=\x12@1\x8f\xc2\xf5(\\\x8f\x1f@R\x03val\"/\n\x0b\x44oubleNotIn\x12 \n\x03val\x18\x01 \x01(\x01\x42\x0e\xbaH\x0b\x12\t9\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\",\n\x08\x44oubleLT\x12 \n\x03val\x18\x01 \x01(\x01\x42\x0e\xbaH\x0b\x12\t\x11\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\"-\n\tDoubleLTE\x12 \n\x03val\x18\x01 \x01(\x01\x42\x0e\xbaH\x0b\x12\t\x19\x00\x00\x00\x00\x00\x00P@R\x03val\",\n\x08\x44oubleGT\x12 \n\x03val\x18\x01 \x01(\x01\x42\x0e\xbaH\x0b\x12\t!\x00\x00\x00\x00\x00\x00\x30@R\x03val\"-\n\tDoubleGTE\x12 \n\x03val\x18\x01 \x01(\x01\x42\x0e\xbaH\x0b\x12\t)\x00\x00\x00\x00\x00\x00 @R\x03val\"7\n\nDoubleGTLT\x12)\n\x03val\x18\x01 \x01(\x01\x42\x17\xbaH\x14\x12\x12\x11\x00\x00\x00\x00\x00\x00$@!\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\"9\n\x0c\x44oubleExLTGT\x12)\n\x03val\x18\x01 \x01(\x01\x42\x17\xbaH\x14\x12\x12\x11\x00\x00\x00\x00\x00\x00\x00\x00!\x00\x00\x00\x00\x00\x00$@R\x03val\"9\n\x0c\x44oubleGTELTE\x12)\n\x03val\x18\x01 \x01(\x01\x42\x17\xbaH\x14\x12\x12\x19\x00\x00\x00\x00\x00\x00p@)\x00\x00\x00\x00\x00\x00`@R\x03val\";\n\x0e\x44oubleExGTELTE\x12)\n\x03val\x18\x01 \x01(\x01\x42\x17\xbaH\x14\x12\x12\x19\x00\x00\x00\x00\x00\x00`@)\x00\x00\x00\x00\x00\x00p@R\x03val\")\n\x0c\x44oubleFinite\x12\x19\n\x03val\x18\x01 \x01(\x01\x42\x07\xbaH\x04\x12\x02@\x01R\x03val\",\n\x0f\x44oubleNotFinite\x12\x19\n\x03val\x18\x01 \x01(\x01\x42\x07\xbaH\x04\x12\x02@\x00R\x03val\"<\n\x0c\x44oubleIgnore\x12,\n\x03val\x18\x01 \x01(\x01\x42\x1a\xbaH\x17\x12\x12\x19\x00\x00\x00\x00\x00\x00p@)\x00\x00\x00\x00\x00\x00`@\xd0\x01\x01R\x03val\"3\n\x13\x44oubleIncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x01\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\"1\n\rDoubleExample\x12 \n\x03val\x18\x01 \x01(\x01\x42\x0e\xbaH\x0b\x12\tI\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\"\x1d\n\tInt32None\x12\x10\n\x03val\x18\x01 \x01(\x05R\x03val\"\'\n\nInt32Const\x12\x19\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02\x08\x01R\x03val\"&\n\x07Int32In\x12\x1b\n\x03val\x18\x01 \x01(\x05\x42\t\xbaH\x06\x1a\x04\x30\x02\x30\x03R\x03val\"\'\n\nInt32NotIn\x12\x19\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02\x38\x00R\x03val\"$\n\x07Int32LT\x12\x19\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02\x10\x00R\x03val\"%\n\x08Int32LTE\x12\x19\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02\x18@R\x03val\"$\n\x07Int32GT\x12\x19\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02 \x10R\x03val\"%\n\x08Int32GTE\x12\x19\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02(\x08R\x03val\"(\n\tInt32GTLT\x12\x1b\n\x03val\x18\x01 \x01(\x05\x42\t\xbaH\x06\x1a\x04\x10\n \x00R\x03val\"*\n\x0bInt32ExLTGT\x12\x1b\n\x03val\x18\x01 \x01(\x05\x42\t\xbaH\x06\x1a\x04\x10\x00 \nR\x03val\",\n\x0bInt32GTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x05\x42\x0b\xbaH\x08\x1a\x06\x18\x80\x02(\x80\x01R\x03val\".\n\rInt32ExGTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x05\x42\x0b\xbaH\x08\x1a\x06\x18\x80\x01(\x80\x02R\x03val\"/\n\x0bInt32Ignore\x12 \n\x03val\x18\x01 \x01(\x05\x42\x0e\xbaH\x0b\x1a\x06\x18\x80\x02(\x80\x01\xd0\x01\x01R\x03val\"2\n\x12Int32IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\")\n\x0cInt32Example\x12\x19\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02@\nR\x03val\"\x1d\n\tInt64None\x12\x10\n\x03val\x18\x01 \x01(\x03R\x03val\"\'\n\nInt64Const\x12\x19\n\x03val\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02\x08\x01R\x03val\"&\n\x07Int64In\x12\x1b\n\x03val\x18\x01 \x01(\x03\x42\t\xbaH\x06\"\x04\x30\x02\x30\x03R\x03val\"\'\n\nInt64NotIn\x12\x19\n\x03val\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02\x38\x00R\x03val\"$\n\x07Int64LT\x12\x19\n\x03val\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02\x10\x00R\x03val\"%\n\x08Int64LTE\x12\x19\n\x03val\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02\x18@R\x03val\"$\n\x07Int64GT\x12\x19\n\x03val\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02 \x10R\x03val\"%\n\x08Int64GTE\x12\x19\n\x03val\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02(\x08R\x03val\"(\n\tInt64GTLT\x12\x1b\n\x03val\x18\x01 \x01(\x03\x42\t\xbaH\x06\"\x04\x10\n \x00R\x03val\"*\n\x0bInt64ExLTGT\x12\x1b\n\x03val\x18\x01 \x01(\x03\x42\t\xbaH\x06\"\x04\x10\x00 \nR\x03val\",\n\x0bInt64GTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x03\x42\x0b\xbaH\x08\"\x06\x18\x80\x02(\x80\x01R\x03val\".\n\rInt64ExGTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x03\x42\x0b\xbaH\x08\"\x06\x18\x80\x01(\x80\x02R\x03val\"/\n\x0bInt64Ignore\x12 \n\x03val\x18\x01 \x01(\x03\x42\x0e\xbaH\x0b\"\x06\x18\x80\x02(\x80\x01\xd0\x01\x01R\x03val\"\x8c\x04\n\x13Int64BigConstraints\x12\"\n\x06lt_pos\x18\x01 \x01(\x03\x42\x0b\xbaH\x08\"\x06\x10\xa6\xdd\x87\xa4\x14R\x05ltPos\x12\'\n\x06lt_neg\x18\x02 \x01(\x03\x42\x10\xbaH\r\"\x0b\x10\xda\xa2\xf8\xdb\xeb\xff\xff\xff\xff\x01R\x05ltNeg\x12\"\n\x06gt_pos\x18\x03 \x01(\x03\x42\x0b\xbaH\x08\"\x06 \xa6\xdd\x87\xa4\x14R\x05gtPos\x12\'\n\x06gt_neg\x18\x04 \x01(\x03\x42\x10\xbaH\r\"\x0b \xda\xa2\xf8\xdb\xeb\xff\xff\xff\xff\x01R\x05gtNeg\x12$\n\x07lte_pos\x18\x05 \x01(\x03\x42\x0b\xbaH\x08\"\x06\x18\xa6\xdd\x87\xa4\x14R\x06ltePos\x12)\n\x07lte_neg\x18\x06 \x01(\x03\x42\x10\xbaH\r\"\x0b\x18\xda\xa2\xf8\xdb\xeb\xff\xff\xff\xff\x01R\x06lteNeg\x12$\n\x07gte_pos\x18\x07 \x01(\x03\x42\x0b\xbaH\x08\"\x06(\xa6\xdd\x87\xa4\x14R\x06gtePos\x12)\n\x07gte_neg\x18\x08 \x01(\x03\x42\x10\xbaH\r\"\x0b(\xda\xa2\xf8\xdb\xeb\xff\xff\xff\xff\x01R\x06gteNeg\x12.\n\x0c\x63onstant_pos\x18\t \x01(\x03\x42\x0b\xbaH\x08\"\x06\x08\xa6\xdd\x87\xa4\x14R\x0b\x63onstantPos\x12\x33\n\x0c\x63onstant_neg\x18\n \x01(\x03\x42\x10\xbaH\r\"\x0b\x08\xda\xa2\xf8\xdb\xeb\xff\xff\xff\xff\x01R\x0b\x63onstantNeg\x12&\n\x02in\x18\x0b \x01(\x03\x42\x16\xbaH\x13\"\x11\x30\xa6\xdd\x87\xa4\x14\x30\xda\xa2\xf8\xdb\xeb\xff\xff\xff\xff\x01R\x02in\x12,\n\x05notin\x18\x0c \x01(\x03\x42\x16\xbaH\x13\"\x11\x38\xa6\xdd\x87\xa4\x14\x38\xda\xa2\xf8\xdb\xeb\xff\xff\xff\xff\x01R\x05notin\"2\n\x12Int64IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x03\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\")\n\x0cInt64Example\x12\x19\n\x03val\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02H\nR\x03val\"\x1e\n\nUInt32None\x12\x10\n\x03val\x18\x01 \x01(\rR\x03val\"(\n\x0bUInt32Const\x12\x19\n\x03val\x18\x01 \x01(\rB\x07\xbaH\x04*\x02\x08\x01R\x03val\"\'\n\x08UInt32In\x12\x1b\n\x03val\x18\x01 \x01(\rB\t\xbaH\x06*\x04\x30\x02\x30\x03R\x03val\"(\n\x0bUInt32NotIn\x12\x19\n\x03val\x18\x01 \x01(\rB\x07\xbaH\x04*\x02\x38\x00R\x03val\"%\n\x08UInt32LT\x12\x19\n\x03val\x18\x01 \x01(\rB\x07\xbaH\x04*\x02\x10\x05R\x03val\"&\n\tUInt32LTE\x12\x19\n\x03val\x18\x01 \x01(\rB\x07\xbaH\x04*\x02\x18@R\x03val\"%\n\x08UInt32GT\x12\x19\n\x03val\x18\x01 \x01(\rB\x07\xbaH\x04*\x02 \x10R\x03val\"&\n\tUInt32GTE\x12\x19\n\x03val\x18\x01 \x01(\rB\x07\xbaH\x04*\x02(\x08R\x03val\")\n\nUInt32GTLT\x12\x1b\n\x03val\x18\x01 \x01(\rB\t\xbaH\x06*\x04\x10\n \x05R\x03val\"+\n\x0cUInt32ExLTGT\x12\x1b\n\x03val\x18\x01 \x01(\rB\t\xbaH\x06*\x04\x10\x05 \nR\x03val\"-\n\x0cUInt32GTELTE\x12\x1d\n\x03val\x18\x01 \x01(\rB\x0b\xbaH\x08*\x06\x18\x80\x02(\x80\x01R\x03val\"/\n\x0eUInt32ExGTELTE\x12\x1d\n\x03val\x18\x01 \x01(\rB\x0b\xbaH\x08*\x06\x18\x80\x01(\x80\x02R\x03val\"0\n\x0cUInt32Ignore\x12 \n\x03val\x18\x01 \x01(\rB\x0e\xbaH\x0b*\x06\x18\x80\x02(\x80\x01\xd0\x01\x01R\x03val\"3\n\x13UInt32IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\rB\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\"*\n\rUInt32Example\x12\x19\n\x03val\x18\x01 \x01(\rB\x07\xbaH\x04*\x02@\x00R\x03val\"\x1e\n\nUInt64None\x12\x10\n\x03val\x18\x01 \x01(\x04R\x03val\"(\n\x0bUInt64Const\x12\x19\n\x03val\x18\x01 \x01(\x04\x42\x07\xbaH\x04\x32\x02\x08\x01R\x03val\"\'\n\x08UInt64In\x12\x1b\n\x03val\x18\x01 \x01(\x04\x42\t\xbaH\x06\x32\x04\x30\x02\x30\x03R\x03val\"(\n\x0bUInt64NotIn\x12\x19\n\x03val\x18\x01 \x01(\x04\x42\x07\xbaH\x04\x32\x02\x38\x00R\x03val\"%\n\x08UInt64LT\x12\x19\n\x03val\x18\x01 \x01(\x04\x42\x07\xbaH\x04\x32\x02\x10\x05R\x03val\"&\n\tUInt64LTE\x12\x19\n\x03val\x18\x01 \x01(\x04\x42\x07\xbaH\x04\x32\x02\x18@R\x03val\"%\n\x08UInt64GT\x12\x19\n\x03val\x18\x01 \x01(\x04\x42\x07\xbaH\x04\x32\x02 \x10R\x03val\"&\n\tUInt64GTE\x12\x19\n\x03val\x18\x01 \x01(\x04\x42\x07\xbaH\x04\x32\x02(\x08R\x03val\")\n\nUInt64GTLT\x12\x1b\n\x03val\x18\x01 \x01(\x04\x42\t\xbaH\x06\x32\x04\x10\n \x05R\x03val\"+\n\x0cUInt64ExLTGT\x12\x1b\n\x03val\x18\x01 \x01(\x04\x42\t\xbaH\x06\x32\x04\x10\x05 \nR\x03val\"-\n\x0cUInt64GTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x04\x42\x0b\xbaH\x08\x32\x06\x18\x80\x02(\x80\x01R\x03val\"/\n\x0eUInt64ExGTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x04\x42\x0b\xbaH\x08\x32\x06\x18\x80\x01(\x80\x02R\x03val\"0\n\x0cUInt64Ignore\x12 \n\x03val\x18\x01 \x01(\x04\x42\x0e\xbaH\x0b\x32\x06\x18\x80\x02(\x80\x01\xd0\x01\x01R\x03val\"3\n\x13UInt64IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x04\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\"*\n\rUInt64Example\x12\x19\n\x03val\x18\x01 \x01(\x04\x42\x07\xbaH\x04\x32\x02@\x00R\x03val\"\x1e\n\nSInt32None\x12\x10\n\x03val\x18\x01 \x01(\x11R\x03val\"(\n\x0bSInt32Const\x12\x19\n\x03val\x18\x01 \x01(\x11\x42\x07\xbaH\x04:\x02\x08\x02R\x03val\"\'\n\x08SInt32In\x12\x1b\n\x03val\x18\x01 \x01(\x11\x42\t\xbaH\x06:\x04\x30\x04\x30\x06R\x03val\"(\n\x0bSInt32NotIn\x12\x19\n\x03val\x18\x01 \x01(\x11\x42\x07\xbaH\x04:\x02\x38\x00R\x03val\"%\n\x08SInt32LT\x12\x19\n\x03val\x18\x01 \x01(\x11\x42\x07\xbaH\x04:\x02\x10\x00R\x03val\"\'\n\tSInt32LTE\x12\x1a\n\x03val\x18\x01 \x01(\x11\x42\x08\xbaH\x05:\x03\x18\x80\x01R\x03val\"%\n\x08SInt32GT\x12\x19\n\x03val\x18\x01 \x01(\x11\x42\x07\xbaH\x04:\x02 R\x03val\"&\n\tSInt32GTE\x12\x19\n\x03val\x18\x01 \x01(\x11\x42\x07\xbaH\x04:\x02(\x10R\x03val\")\n\nSInt32GTLT\x12\x1b\n\x03val\x18\x01 \x01(\x11\x42\t\xbaH\x06:\x04\x10\x14 \x00R\x03val\"+\n\x0cSInt32ExLTGT\x12\x1b\n\x03val\x18\x01 \x01(\x11\x42\t\xbaH\x06:\x04\x10\x00 \x14R\x03val\"-\n\x0cSInt32GTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x11\x42\x0b\xbaH\x08:\x06\x18\x80\x04(\x80\x02R\x03val\"/\n\x0eSInt32ExGTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x11\x42\x0b\xbaH\x08:\x06\x18\x80\x02(\x80\x04R\x03val\"0\n\x0cSInt32Ignore\x12 \n\x03val\x18\x01 \x01(\x11\x42\x0e\xbaH\x0b:\x06\x18\x80\x04(\x80\x02\xd0\x01\x01R\x03val\"3\n\x13SInt32IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x11\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\"*\n\rSInt32Example\x12\x19\n\x03val\x18\x01 \x01(\x11\x42\x07\xbaH\x04:\x02@\x00R\x03val\"\x1e\n\nSInt64None\x12\x10\n\x03val\x18\x01 \x01(\x12R\x03val\"(\n\x0bSInt64Const\x12\x19\n\x03val\x18\x01 \x01(\x12\x42\x07\xbaH\x04\x42\x02\x08\x02R\x03val\"\'\n\x08SInt64In\x12\x1b\n\x03val\x18\x01 \x01(\x12\x42\t\xbaH\x06\x42\x04\x30\x04\x30\x06R\x03val\"(\n\x0bSInt64NotIn\x12\x19\n\x03val\x18\x01 \x01(\x12\x42\x07\xbaH\x04\x42\x02\x38\x00R\x03val\"%\n\x08SInt64LT\x12\x19\n\x03val\x18\x01 \x01(\x12\x42\x07\xbaH\x04\x42\x02\x10\x00R\x03val\"\'\n\tSInt64LTE\x12\x1a\n\x03val\x18\x01 \x01(\x12\x42\x08\xbaH\x05\x42\x03\x18\x80\x01R\x03val\"%\n\x08SInt64GT\x12\x19\n\x03val\x18\x01 \x01(\x12\x42\x07\xbaH\x04\x42\x02 R\x03val\"&\n\tSInt64GTE\x12\x19\n\x03val\x18\x01 \x01(\x12\x42\x07\xbaH\x04\x42\x02(\x10R\x03val\")\n\nSInt64GTLT\x12\x1b\n\x03val\x18\x01 \x01(\x12\x42\t\xbaH\x06\x42\x04\x10\x14 \x00R\x03val\"+\n\x0cSInt64ExLTGT\x12\x1b\n\x03val\x18\x01 \x01(\x12\x42\t\xbaH\x06\x42\x04\x10\x00 \x14R\x03val\"-\n\x0cSInt64GTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x12\x42\x0b\xbaH\x08\x42\x06\x18\x80\x04(\x80\x02R\x03val\"/\n\x0eSInt64ExGTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x12\x42\x0b\xbaH\x08\x42\x06\x18\x80\x02(\x80\x04R\x03val\"0\n\x0cSInt64Ignore\x12 \n\x03val\x18\x01 \x01(\x12\x42\x0e\xbaH\x0b\x42\x06\x18\x80\x04(\x80\x02\xd0\x01\x01R\x03val\"3\n\x13SInt64IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x12\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\"*\n\rSInt64Example\x12\x19\n\x03val\x18\x01 \x01(\x12\x42\x07\xbaH\x04\x42\x02@\x00R\x03val\"\x1f\n\x0b\x46ixed32None\x12\x10\n\x03val\x18\x01 \x01(\x07R\x03val\",\n\x0c\x46ixed32Const\x12\x1c\n\x03val\x18\x01 \x01(\x07\x42\n\xbaH\x07J\x05\r\x01\x00\x00\x00R\x03val\".\n\tFixed32In\x12!\n\x03val\x18\x01 \x01(\x07\x42\x0f\xbaH\x0cJ\n5\x02\x00\x00\x00\x35\x03\x00\x00\x00R\x03val\",\n\x0c\x46ixed32NotIn\x12\x1c\n\x03val\x18\x01 \x01(\x07\x42\n\xbaH\x07J\x05=\x00\x00\x00\x00R\x03val\")\n\tFixed32LT\x12\x1c\n\x03val\x18\x01 \x01(\x07\x42\n\xbaH\x07J\x05\x15\x05\x00\x00\x00R\x03val\"*\n\nFixed32LTE\x12\x1c\n\x03val\x18\x01 \x01(\x07\x42\n\xbaH\x07J\x05\x1d@\x00\x00\x00R\x03val\")\n\tFixed32GT\x12\x1c\n\x03val\x18\x01 \x01(\x07\x42\n\xbaH\x07J\x05%\x10\x00\x00\x00R\x03val\"*\n\nFixed32GTE\x12\x1c\n\x03val\x18\x01 \x01(\x07\x42\n\xbaH\x07J\x05-\x08\x00\x00\x00R\x03val\"0\n\x0b\x46ixed32GTLT\x12!\n\x03val\x18\x01 \x01(\x07\x42\x0f\xbaH\x0cJ\n\x15\n\x00\x00\x00%\x05\x00\x00\x00R\x03val\"2\n\rFixed32ExLTGT\x12!\n\x03val\x18\x01 \x01(\x07\x42\x0f\xbaH\x0cJ\n\x15\x05\x00\x00\x00%\n\x00\x00\x00R\x03val\"2\n\rFixed32GTELTE\x12!\n\x03val\x18\x01 \x01(\x07\x42\x0f\xbaH\x0cJ\n\x1d\x00\x01\x00\x00-\x80\x00\x00\x00R\x03val\"4\n\x0f\x46ixed32ExGTELTE\x12!\n\x03val\x18\x01 \x01(\x07\x42\x0f\xbaH\x0cJ\n\x1d\x80\x00\x00\x00-\x00\x01\x00\x00R\x03val\"5\n\rFixed32Ignore\x12$\n\x03val\x18\x01 \x01(\x07\x42\x12\xbaH\x0fJ\n\x1d\x00\x01\x00\x00-\x80\x00\x00\x00\xd0\x01\x01R\x03val\"4\n\x14\x46ixed32IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x07\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\".\n\x0e\x46ixed32Example\x12\x1c\n\x03val\x18\x01 \x01(\x07\x42\n\xbaH\x07J\x05\x45\x00\x00\x00\x00R\x03val\"\x1f\n\x0b\x46ixed64None\x12\x10\n\x03val\x18\x01 \x01(\x06R\x03val\"0\n\x0c\x46ixed64Const\x12 \n\x03val\x18\x01 \x01(\x06\x42\x0e\xbaH\x0bR\t\t\x01\x00\x00\x00\x00\x00\x00\x00R\x03val\"6\n\tFixed64In\x12)\n\x03val\x18\x01 \x01(\x06\x42\x17\xbaH\x14R\x12\x31\x02\x00\x00\x00\x00\x00\x00\x00\x31\x03\x00\x00\x00\x00\x00\x00\x00R\x03val\"0\n\x0c\x46ixed64NotIn\x12 \n\x03val\x18\x01 \x01(\x06\x42\x0e\xbaH\x0bR\t9\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\"-\n\tFixed64LT\x12 \n\x03val\x18\x01 \x01(\x06\x42\x0e\xbaH\x0bR\t\x11\x05\x00\x00\x00\x00\x00\x00\x00R\x03val\".\n\nFixed64LTE\x12 \n\x03val\x18\x01 \x01(\x06\x42\x0e\xbaH\x0bR\t\x19@\x00\x00\x00\x00\x00\x00\x00R\x03val\"-\n\tFixed64GT\x12 \n\x03val\x18\x01 \x01(\x06\x42\x0e\xbaH\x0bR\t!\x10\x00\x00\x00\x00\x00\x00\x00R\x03val\".\n\nFixed64GTE\x12 \n\x03val\x18\x01 \x01(\x06\x42\x0e\xbaH\x0bR\t)\x08\x00\x00\x00\x00\x00\x00\x00R\x03val\"8\n\x0b\x46ixed64GTLT\x12)\n\x03val\x18\x01 \x01(\x06\x42\x17\xbaH\x14R\x12\x11\n\x00\x00\x00\x00\x00\x00\x00!\x05\x00\x00\x00\x00\x00\x00\x00R\x03val\":\n\rFixed64ExLTGT\x12)\n\x03val\x18\x01 \x01(\x06\x42\x17\xbaH\x14R\x12\x11\x05\x00\x00\x00\x00\x00\x00\x00!\n\x00\x00\x00\x00\x00\x00\x00R\x03val\":\n\rFixed64GTELTE\x12)\n\x03val\x18\x01 \x01(\x06\x42\x17\xbaH\x14R\x12\x19\x00\x01\x00\x00\x00\x00\x00\x00)\x80\x00\x00\x00\x00\x00\x00\x00R\x03val\"<\n\x0f\x46ixed64ExGTELTE\x12)\n\x03val\x18\x01 \x01(\x06\x42\x17\xbaH\x14R\x12\x19\x80\x00\x00\x00\x00\x00\x00\x00)\x00\x01\x00\x00\x00\x00\x00\x00R\x03val\"=\n\rFixed64Ignore\x12,\n\x03val\x18\x01 \x01(\x06\x42\x1a\xbaH\x17R\x12\x19\x00\x01\x00\x00\x00\x00\x00\x00)\x80\x00\x00\x00\x00\x00\x00\x00\xd0\x01\x01R\x03val\"4\n\x14\x46ixed64IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x06\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\"2\n\x0e\x46ixed64Example\x12 \n\x03val\x18\x01 \x01(\x06\x42\x0e\xbaH\x0bR\tA\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\" \n\x0cSFixed32None\x12\x10\n\x03val\x18\x01 \x01(\x0fR\x03val\"-\n\rSFixed32Const\x12\x1c\n\x03val\x18\x01 \x01(\x0f\x42\n\xbaH\x07Z\x05\r\x01\x00\x00\x00R\x03val\"/\n\nSFixed32In\x12!\n\x03val\x18\x01 \x01(\x0f\x42\x0f\xbaH\x0cZ\n5\x02\x00\x00\x00\x35\x03\x00\x00\x00R\x03val\"-\n\rSFixed32NotIn\x12\x1c\n\x03val\x18\x01 \x01(\x0f\x42\n\xbaH\x07Z\x05=\x00\x00\x00\x00R\x03val\"*\n\nSFixed32LT\x12\x1c\n\x03val\x18\x01 \x01(\x0f\x42\n\xbaH\x07Z\x05\x15\x00\x00\x00\x00R\x03val\"+\n\x0bSFixed32LTE\x12\x1c\n\x03val\x18\x01 \x01(\x0f\x42\n\xbaH\x07Z\x05\x1d@\x00\x00\x00R\x03val\"*\n\nSFixed32GT\x12\x1c\n\x03val\x18\x01 \x01(\x0f\x42\n\xbaH\x07Z\x05%\x10\x00\x00\x00R\x03val\"+\n\x0bSFixed32GTE\x12\x1c\n\x03val\x18\x01 \x01(\x0f\x42\n\xbaH\x07Z\x05-\x08\x00\x00\x00R\x03val\"1\n\x0cSFixed32GTLT\x12!\n\x03val\x18\x01 \x01(\x0f\x42\x0f\xbaH\x0cZ\n\x15\n\x00\x00\x00%\x00\x00\x00\x00R\x03val\"3\n\x0eSFixed32ExLTGT\x12!\n\x03val\x18\x01 \x01(\x0f\x42\x0f\xbaH\x0cZ\n\x15\x00\x00\x00\x00%\n\x00\x00\x00R\x03val\"3\n\x0eSFixed32GTELTE\x12!\n\x03val\x18\x01 \x01(\x0f\x42\x0f\xbaH\x0cZ\n\x1d\x00\x01\x00\x00-\x80\x00\x00\x00R\x03val\"5\n\x10SFixed32ExGTELTE\x12!\n\x03val\x18\x01 \x01(\x0f\x42\x0f\xbaH\x0cZ\n\x1d\x80\x00\x00\x00-\x00\x01\x00\x00R\x03val\"6\n\x0eSFixed32Ignore\x12$\n\x03val\x18\x01 \x01(\x0f\x42\x12\xbaH\x0fZ\n\x1d\x00\x01\x00\x00-\x80\x00\x00\x00\xd0\x01\x01R\x03val\"5\n\x15SFixed32IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x0f\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\"/\n\x0fSFixed32Example\x12\x1c\n\x03val\x18\x01 \x01(\x0f\x42\n\xbaH\x07Z\x05\x45\x00\x00\x00\x00R\x03val\" \n\x0cSFixed64None\x12\x10\n\x03val\x18\x01 \x01(\x10R\x03val\"1\n\rSFixed64Const\x12 \n\x03val\x18\x01 \x01(\x10\x42\x0e\xbaH\x0b\x62\t\t\x01\x00\x00\x00\x00\x00\x00\x00R\x03val\"7\n\nSFixed64In\x12)\n\x03val\x18\x01 \x01(\x10\x42\x17\xbaH\x14\x62\x12\x31\x02\x00\x00\x00\x00\x00\x00\x00\x31\x03\x00\x00\x00\x00\x00\x00\x00R\x03val\"1\n\rSFixed64NotIn\x12 \n\x03val\x18\x01 \x01(\x10\x42\x0e\xbaH\x0b\x62\t9\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\".\n\nSFixed64LT\x12 \n\x03val\x18\x01 \x01(\x10\x42\x0e\xbaH\x0b\x62\t\x11\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\"/\n\x0bSFixed64LTE\x12 \n\x03val\x18\x01 \x01(\x10\x42\x0e\xbaH\x0b\x62\t\x19@\x00\x00\x00\x00\x00\x00\x00R\x03val\".\n\nSFixed64GT\x12 \n\x03val\x18\x01 \x01(\x10\x42\x0e\xbaH\x0b\x62\t!\x10\x00\x00\x00\x00\x00\x00\x00R\x03val\"/\n\x0bSFixed64GTE\x12 \n\x03val\x18\x01 \x01(\x10\x42\x0e\xbaH\x0b\x62\t)\x08\x00\x00\x00\x00\x00\x00\x00R\x03val\"9\n\x0cSFixed64GTLT\x12)\n\x03val\x18\x01 \x01(\x10\x42\x17\xbaH\x14\x62\x12\x11\n\x00\x00\x00\x00\x00\x00\x00!\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\";\n\x0eSFixed64ExLTGT\x12)\n\x03val\x18\x01 \x01(\x10\x42\x17\xbaH\x14\x62\x12\x11\x00\x00\x00\x00\x00\x00\x00\x00!\n\x00\x00\x00\x00\x00\x00\x00R\x03val\";\n\x0eSFixed64GTELTE\x12)\n\x03val\x18\x01 \x01(\x10\x42\x17\xbaH\x14\x62\x12\x19\x00\x01\x00\x00\x00\x00\x00\x00)\x80\x00\x00\x00\x00\x00\x00\x00R\x03val\"=\n\x10SFixed64ExGTELTE\x12)\n\x03val\x18\x01 \x01(\x10\x42\x17\xbaH\x14\x62\x12\x19\x80\x00\x00\x00\x00\x00\x00\x00)\x00\x01\x00\x00\x00\x00\x00\x00R\x03val\">\n\x0eSFixed64Ignore\x12,\n\x03val\x18\x01 \x01(\x10\x42\x1a\xbaH\x17\x62\x12\x19\x00\x01\x00\x00\x00\x00\x00\x00)\x80\x00\x00\x00\x00\x00\x00\x00\xd0\x01\x01R\x03val\"5\n\x15SFixed64IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x10\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\"3\n\x0fSFixed64Example\x12 \n\x03val\x18\x01 \x01(\x10\x42\x0e\xbaH\x0b\x62\tA\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\":\n\x10Int64LTEOptional\x12\x1e\n\x03val\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02\x18@H\x00R\x03val\x88\x01\x01\x42\x06\n\x04_valB\xce\x01\n\"com.buf.validate.conformance.casesB\x0cNumbersProtoP\x01\xa2\x02\x04\x42VCC\xaa\x02\x1e\x42uf.Validate.Conformance.Cases\xca\x02\x1e\x42uf\\Validate\\Conformance\\Cases\xe2\x02*Buf\\Validate\\Conformance\\Cases\\GPBMetadata\xea\x02!Buf::Validate::Conformance::Casesb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n,buf/validate/conformance/cases/numbers.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x1b\x62uf/validate/validate.proto\"\x1d\n\tFloatNone\x12\x10\n\x03val\x18\x01 \x01(\x02R\x03val\"*\n\nFloatConst\x12\x1c\n\x03val\x18\x01 \x01(\x02\x42\n\xbaH\x07\n\x05\r\xa4p\x9d?R\x03val\",\n\x07\x46loatIn\x12!\n\x03val\x18\x01 \x01(\x02\x42\x0f\xbaH\x0c\n\n5\x85\xeb\x91@5\xe1z\xfc@R\x03val\"*\n\nFloatNotIn\x12\x1c\n\x03val\x18\x01 \x01(\x02\x42\n\xbaH\x07\n\x05=\x00\x00\x00\x00R\x03val\"\'\n\x07\x46loatLT\x12\x1c\n\x03val\x18\x01 \x01(\x02\x42\n\xbaH\x07\n\x05\x15\x00\x00\x00\x00R\x03val\"(\n\x08\x46loatLTE\x12\x1c\n\x03val\x18\x01 \x01(\x02\x42\n\xbaH\x07\n\x05\x1d\x00\x00\x80\x42R\x03val\"\'\n\x07\x46loatGT\x12\x1c\n\x03val\x18\x01 \x01(\x02\x42\n\xbaH\x07\n\x05%\x00\x00\x80\x41R\x03val\"(\n\x08\x46loatGTE\x12\x1c\n\x03val\x18\x01 \x01(\x02\x42\n\xbaH\x07\n\x05-\x00\x00\x00\x41R\x03val\".\n\tFloatGTLT\x12!\n\x03val\x18\x01 \x01(\x02\x42\x0f\xbaH\x0c\n\n\x15\x00\x00 A%\x00\x00\x00\x00R\x03val\"0\n\x0b\x46loatExLTGT\x12!\n\x03val\x18\x01 \x01(\x02\x42\x0f\xbaH\x0c\n\n\x15\x00\x00\x00\x00%\x00\x00 AR\x03val\"0\n\x0b\x46loatGTELTE\x12!\n\x03val\x18\x01 \x01(\x02\x42\x0f\xbaH\x0c\n\n\x1d\x00\x00\x80\x43-\x00\x00\x00\x43R\x03val\"2\n\rFloatExGTELTE\x12!\n\x03val\x18\x01 \x01(\x02\x42\x0f\xbaH\x0c\n\n\x1d\x00\x00\x00\x43-\x00\x00\x80\x43R\x03val\"(\n\x0b\x46loatFinite\x12\x19\n\x03val\x18\x01 \x01(\x02\x42\x07\xbaH\x04\n\x02@\x01R\x03val\"+\n\x0e\x46loatNotFinite\x12\x19\n\x03val\x18\x01 \x01(\x02\x42\x07\xbaH\x04\n\x02@\x00R\x03val\"3\n\x0b\x46loatIgnore\x12$\n\x03val\x18\x01 \x01(\x02\x42\x12\xbaH\x0f\n\n\x1d\x00\x00\x80\x43-\x00\x00\x00\x43\xd8\x01\x01R\x03val\"6\n\x12\x46loatIncorrectType\x12 \n\x03val\x18\x01 \x01(\x02\x42\x0e\xbaH\x0b\x12\t!\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\",\n\x0c\x46loatExample\x12\x1c\n\x03val\x18\x01 \x01(\x02\x42\n\xbaH\x07\n\x05M\x00\x00\x00\x41R\x03val\"\x1e\n\nDoubleNone\x12\x10\n\x03val\x18\x01 \x01(\x01R\x03val\"/\n\x0b\x44oubleConst\x12 \n\x03val\x18\x01 \x01(\x01\x42\x0e\xbaH\x0b\x12\t\t\xaeG\xe1z\x14\xae\xf3?R\x03val\"5\n\x08\x44oubleIn\x12)\n\x03val\x18\x01 \x01(\x01\x42\x17\xbaH\x14\x12\x12\x31=\n\xd7\xa3p=\x12@1\x8f\xc2\xf5(\\\x8f\x1f@R\x03val\"/\n\x0b\x44oubleNotIn\x12 \n\x03val\x18\x01 \x01(\x01\x42\x0e\xbaH\x0b\x12\t9\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\",\n\x08\x44oubleLT\x12 \n\x03val\x18\x01 \x01(\x01\x42\x0e\xbaH\x0b\x12\t\x11\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\"-\n\tDoubleLTE\x12 \n\x03val\x18\x01 \x01(\x01\x42\x0e\xbaH\x0b\x12\t\x19\x00\x00\x00\x00\x00\x00P@R\x03val\",\n\x08\x44oubleGT\x12 \n\x03val\x18\x01 \x01(\x01\x42\x0e\xbaH\x0b\x12\t!\x00\x00\x00\x00\x00\x00\x30@R\x03val\"-\n\tDoubleGTE\x12 \n\x03val\x18\x01 \x01(\x01\x42\x0e\xbaH\x0b\x12\t)\x00\x00\x00\x00\x00\x00 @R\x03val\"7\n\nDoubleGTLT\x12)\n\x03val\x18\x01 \x01(\x01\x42\x17\xbaH\x14\x12\x12\x11\x00\x00\x00\x00\x00\x00$@!\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\"9\n\x0c\x44oubleExLTGT\x12)\n\x03val\x18\x01 \x01(\x01\x42\x17\xbaH\x14\x12\x12\x11\x00\x00\x00\x00\x00\x00\x00\x00!\x00\x00\x00\x00\x00\x00$@R\x03val\"9\n\x0c\x44oubleGTELTE\x12)\n\x03val\x18\x01 \x01(\x01\x42\x17\xbaH\x14\x12\x12\x19\x00\x00\x00\x00\x00\x00p@)\x00\x00\x00\x00\x00\x00`@R\x03val\";\n\x0e\x44oubleExGTELTE\x12)\n\x03val\x18\x01 \x01(\x01\x42\x17\xbaH\x14\x12\x12\x19\x00\x00\x00\x00\x00\x00`@)\x00\x00\x00\x00\x00\x00p@R\x03val\")\n\x0c\x44oubleFinite\x12\x19\n\x03val\x18\x01 \x01(\x01\x42\x07\xbaH\x04\x12\x02@\x01R\x03val\",\n\x0f\x44oubleNotFinite\x12\x19\n\x03val\x18\x01 \x01(\x01\x42\x07\xbaH\x04\x12\x02@\x00R\x03val\"<\n\x0c\x44oubleIgnore\x12,\n\x03val\x18\x01 \x01(\x01\x42\x1a\xbaH\x17\x12\x12\x19\x00\x00\x00\x00\x00\x00p@)\x00\x00\x00\x00\x00\x00`@\xd8\x01\x01R\x03val\"3\n\x13\x44oubleIncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x01\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\"1\n\rDoubleExample\x12 \n\x03val\x18\x01 \x01(\x01\x42\x0e\xbaH\x0b\x12\tI\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\"\x1d\n\tInt32None\x12\x10\n\x03val\x18\x01 \x01(\x05R\x03val\"\'\n\nInt32Const\x12\x19\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02\x08\x01R\x03val\"&\n\x07Int32In\x12\x1b\n\x03val\x18\x01 \x01(\x05\x42\t\xbaH\x06\x1a\x04\x30\x02\x30\x03R\x03val\"\'\n\nInt32NotIn\x12\x19\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02\x38\x00R\x03val\"$\n\x07Int32LT\x12\x19\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02\x10\x00R\x03val\"%\n\x08Int32LTE\x12\x19\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02\x18@R\x03val\"$\n\x07Int32GT\x12\x19\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02 \x10R\x03val\"%\n\x08Int32GTE\x12\x19\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02(\x08R\x03val\"(\n\tInt32GTLT\x12\x1b\n\x03val\x18\x01 \x01(\x05\x42\t\xbaH\x06\x1a\x04\x10\n \x00R\x03val\"*\n\x0bInt32ExLTGT\x12\x1b\n\x03val\x18\x01 \x01(\x05\x42\t\xbaH\x06\x1a\x04\x10\x00 \nR\x03val\",\n\x0bInt32GTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x05\x42\x0b\xbaH\x08\x1a\x06\x18\x80\x02(\x80\x01R\x03val\".\n\rInt32ExGTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x05\x42\x0b\xbaH\x08\x1a\x06\x18\x80\x01(\x80\x02R\x03val\"/\n\x0bInt32Ignore\x12 \n\x03val\x18\x01 \x01(\x05\x42\x0e\xbaH\x0b\x1a\x06\x18\x80\x02(\x80\x01\xd8\x01\x01R\x03val\"2\n\x12Int32IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\")\n\x0cInt32Example\x12\x19\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02@\nR\x03val\"\x1d\n\tInt64None\x12\x10\n\x03val\x18\x01 \x01(\x03R\x03val\"\'\n\nInt64Const\x12\x19\n\x03val\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02\x08\x01R\x03val\"&\n\x07Int64In\x12\x1b\n\x03val\x18\x01 \x01(\x03\x42\t\xbaH\x06\"\x04\x30\x02\x30\x03R\x03val\"\'\n\nInt64NotIn\x12\x19\n\x03val\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02\x38\x00R\x03val\"$\n\x07Int64LT\x12\x19\n\x03val\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02\x10\x00R\x03val\"%\n\x08Int64LTE\x12\x19\n\x03val\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02\x18@R\x03val\"$\n\x07Int64GT\x12\x19\n\x03val\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02 \x10R\x03val\"%\n\x08Int64GTE\x12\x19\n\x03val\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02(\x08R\x03val\"(\n\tInt64GTLT\x12\x1b\n\x03val\x18\x01 \x01(\x03\x42\t\xbaH\x06\"\x04\x10\n \x00R\x03val\"*\n\x0bInt64ExLTGT\x12\x1b\n\x03val\x18\x01 \x01(\x03\x42\t\xbaH\x06\"\x04\x10\x00 \nR\x03val\",\n\x0bInt64GTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x03\x42\x0b\xbaH\x08\"\x06\x18\x80\x02(\x80\x01R\x03val\".\n\rInt64ExGTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x03\x42\x0b\xbaH\x08\"\x06\x18\x80\x01(\x80\x02R\x03val\"/\n\x0bInt64Ignore\x12 \n\x03val\x18\x01 \x01(\x03\x42\x0e\xbaH\x0b\"\x06\x18\x80\x02(\x80\x01\xd8\x01\x01R\x03val\"\x8c\x04\n\x13Int64BigConstraints\x12\"\n\x06lt_pos\x18\x01 \x01(\x03\x42\x0b\xbaH\x08\"\x06\x10\xa6\xdd\x87\xa4\x14R\x05ltPos\x12\'\n\x06lt_neg\x18\x02 \x01(\x03\x42\x10\xbaH\r\"\x0b\x10\xda\xa2\xf8\xdb\xeb\xff\xff\xff\xff\x01R\x05ltNeg\x12\"\n\x06gt_pos\x18\x03 \x01(\x03\x42\x0b\xbaH\x08\"\x06 \xa6\xdd\x87\xa4\x14R\x05gtPos\x12\'\n\x06gt_neg\x18\x04 \x01(\x03\x42\x10\xbaH\r\"\x0b \xda\xa2\xf8\xdb\xeb\xff\xff\xff\xff\x01R\x05gtNeg\x12$\n\x07lte_pos\x18\x05 \x01(\x03\x42\x0b\xbaH\x08\"\x06\x18\xa6\xdd\x87\xa4\x14R\x06ltePos\x12)\n\x07lte_neg\x18\x06 \x01(\x03\x42\x10\xbaH\r\"\x0b\x18\xda\xa2\xf8\xdb\xeb\xff\xff\xff\xff\x01R\x06lteNeg\x12$\n\x07gte_pos\x18\x07 \x01(\x03\x42\x0b\xbaH\x08\"\x06(\xa6\xdd\x87\xa4\x14R\x06gtePos\x12)\n\x07gte_neg\x18\x08 \x01(\x03\x42\x10\xbaH\r\"\x0b(\xda\xa2\xf8\xdb\xeb\xff\xff\xff\xff\x01R\x06gteNeg\x12.\n\x0c\x63onstant_pos\x18\t \x01(\x03\x42\x0b\xbaH\x08\"\x06\x08\xa6\xdd\x87\xa4\x14R\x0b\x63onstantPos\x12\x33\n\x0c\x63onstant_neg\x18\n \x01(\x03\x42\x10\xbaH\r\"\x0b\x08\xda\xa2\xf8\xdb\xeb\xff\xff\xff\xff\x01R\x0b\x63onstantNeg\x12&\n\x02in\x18\x0b \x01(\x03\x42\x16\xbaH\x13\"\x11\x30\xa6\xdd\x87\xa4\x14\x30\xda\xa2\xf8\xdb\xeb\xff\xff\xff\xff\x01R\x02in\x12,\n\x05notin\x18\x0c \x01(\x03\x42\x16\xbaH\x13\"\x11\x38\xa6\xdd\x87\xa4\x14\x38\xda\xa2\xf8\xdb\xeb\xff\xff\xff\xff\x01R\x05notin\"2\n\x12Int64IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x03\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\")\n\x0cInt64Example\x12\x19\n\x03val\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02H\nR\x03val\"\x1e\n\nUInt32None\x12\x10\n\x03val\x18\x01 \x01(\rR\x03val\"(\n\x0bUInt32Const\x12\x19\n\x03val\x18\x01 \x01(\rB\x07\xbaH\x04*\x02\x08\x01R\x03val\"\'\n\x08UInt32In\x12\x1b\n\x03val\x18\x01 \x01(\rB\t\xbaH\x06*\x04\x30\x02\x30\x03R\x03val\"(\n\x0bUInt32NotIn\x12\x19\n\x03val\x18\x01 \x01(\rB\x07\xbaH\x04*\x02\x38\x00R\x03val\"%\n\x08UInt32LT\x12\x19\n\x03val\x18\x01 \x01(\rB\x07\xbaH\x04*\x02\x10\x05R\x03val\"&\n\tUInt32LTE\x12\x19\n\x03val\x18\x01 \x01(\rB\x07\xbaH\x04*\x02\x18@R\x03val\"%\n\x08UInt32GT\x12\x19\n\x03val\x18\x01 \x01(\rB\x07\xbaH\x04*\x02 \x10R\x03val\"&\n\tUInt32GTE\x12\x19\n\x03val\x18\x01 \x01(\rB\x07\xbaH\x04*\x02(\x08R\x03val\")\n\nUInt32GTLT\x12\x1b\n\x03val\x18\x01 \x01(\rB\t\xbaH\x06*\x04\x10\n \x05R\x03val\"+\n\x0cUInt32ExLTGT\x12\x1b\n\x03val\x18\x01 \x01(\rB\t\xbaH\x06*\x04\x10\x05 \nR\x03val\"-\n\x0cUInt32GTELTE\x12\x1d\n\x03val\x18\x01 \x01(\rB\x0b\xbaH\x08*\x06\x18\x80\x02(\x80\x01R\x03val\"/\n\x0eUInt32ExGTELTE\x12\x1d\n\x03val\x18\x01 \x01(\rB\x0b\xbaH\x08*\x06\x18\x80\x01(\x80\x02R\x03val\"0\n\x0cUInt32Ignore\x12 \n\x03val\x18\x01 \x01(\rB\x0e\xbaH\x0b*\x06\x18\x80\x02(\x80\x01\xd8\x01\x01R\x03val\"3\n\x13UInt32IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\rB\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\"*\n\rUInt32Example\x12\x19\n\x03val\x18\x01 \x01(\rB\x07\xbaH\x04*\x02@\x00R\x03val\"\x1e\n\nUInt64None\x12\x10\n\x03val\x18\x01 \x01(\x04R\x03val\"(\n\x0bUInt64Const\x12\x19\n\x03val\x18\x01 \x01(\x04\x42\x07\xbaH\x04\x32\x02\x08\x01R\x03val\"\'\n\x08UInt64In\x12\x1b\n\x03val\x18\x01 \x01(\x04\x42\t\xbaH\x06\x32\x04\x30\x02\x30\x03R\x03val\"(\n\x0bUInt64NotIn\x12\x19\n\x03val\x18\x01 \x01(\x04\x42\x07\xbaH\x04\x32\x02\x38\x00R\x03val\"%\n\x08UInt64LT\x12\x19\n\x03val\x18\x01 \x01(\x04\x42\x07\xbaH\x04\x32\x02\x10\x05R\x03val\"&\n\tUInt64LTE\x12\x19\n\x03val\x18\x01 \x01(\x04\x42\x07\xbaH\x04\x32\x02\x18@R\x03val\"%\n\x08UInt64GT\x12\x19\n\x03val\x18\x01 \x01(\x04\x42\x07\xbaH\x04\x32\x02 \x10R\x03val\"&\n\tUInt64GTE\x12\x19\n\x03val\x18\x01 \x01(\x04\x42\x07\xbaH\x04\x32\x02(\x08R\x03val\")\n\nUInt64GTLT\x12\x1b\n\x03val\x18\x01 \x01(\x04\x42\t\xbaH\x06\x32\x04\x10\n \x05R\x03val\"+\n\x0cUInt64ExLTGT\x12\x1b\n\x03val\x18\x01 \x01(\x04\x42\t\xbaH\x06\x32\x04\x10\x05 \nR\x03val\"-\n\x0cUInt64GTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x04\x42\x0b\xbaH\x08\x32\x06\x18\x80\x02(\x80\x01R\x03val\"/\n\x0eUInt64ExGTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x04\x42\x0b\xbaH\x08\x32\x06\x18\x80\x01(\x80\x02R\x03val\"0\n\x0cUInt64Ignore\x12 \n\x03val\x18\x01 \x01(\x04\x42\x0e\xbaH\x0b\x32\x06\x18\x80\x02(\x80\x01\xd8\x01\x01R\x03val\"3\n\x13UInt64IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x04\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\"*\n\rUInt64Example\x12\x19\n\x03val\x18\x01 \x01(\x04\x42\x07\xbaH\x04\x32\x02@\x00R\x03val\"\x1e\n\nSInt32None\x12\x10\n\x03val\x18\x01 \x01(\x11R\x03val\"(\n\x0bSInt32Const\x12\x19\n\x03val\x18\x01 \x01(\x11\x42\x07\xbaH\x04:\x02\x08\x02R\x03val\"\'\n\x08SInt32In\x12\x1b\n\x03val\x18\x01 \x01(\x11\x42\t\xbaH\x06:\x04\x30\x04\x30\x06R\x03val\"(\n\x0bSInt32NotIn\x12\x19\n\x03val\x18\x01 \x01(\x11\x42\x07\xbaH\x04:\x02\x38\x00R\x03val\"%\n\x08SInt32LT\x12\x19\n\x03val\x18\x01 \x01(\x11\x42\x07\xbaH\x04:\x02\x10\x00R\x03val\"\'\n\tSInt32LTE\x12\x1a\n\x03val\x18\x01 \x01(\x11\x42\x08\xbaH\x05:\x03\x18\x80\x01R\x03val\"%\n\x08SInt32GT\x12\x19\n\x03val\x18\x01 \x01(\x11\x42\x07\xbaH\x04:\x02 R\x03val\"&\n\tSInt32GTE\x12\x19\n\x03val\x18\x01 \x01(\x11\x42\x07\xbaH\x04:\x02(\x10R\x03val\")\n\nSInt32GTLT\x12\x1b\n\x03val\x18\x01 \x01(\x11\x42\t\xbaH\x06:\x04\x10\x14 \x00R\x03val\"+\n\x0cSInt32ExLTGT\x12\x1b\n\x03val\x18\x01 \x01(\x11\x42\t\xbaH\x06:\x04\x10\x00 \x14R\x03val\"-\n\x0cSInt32GTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x11\x42\x0b\xbaH\x08:\x06\x18\x80\x04(\x80\x02R\x03val\"/\n\x0eSInt32ExGTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x11\x42\x0b\xbaH\x08:\x06\x18\x80\x02(\x80\x04R\x03val\"0\n\x0cSInt32Ignore\x12 \n\x03val\x18\x01 \x01(\x11\x42\x0e\xbaH\x0b:\x06\x18\x80\x04(\x80\x02\xd8\x01\x01R\x03val\"3\n\x13SInt32IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x11\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\"*\n\rSInt32Example\x12\x19\n\x03val\x18\x01 \x01(\x11\x42\x07\xbaH\x04:\x02@\x00R\x03val\"\x1e\n\nSInt64None\x12\x10\n\x03val\x18\x01 \x01(\x12R\x03val\"(\n\x0bSInt64Const\x12\x19\n\x03val\x18\x01 \x01(\x12\x42\x07\xbaH\x04\x42\x02\x08\x02R\x03val\"\'\n\x08SInt64In\x12\x1b\n\x03val\x18\x01 \x01(\x12\x42\t\xbaH\x06\x42\x04\x30\x04\x30\x06R\x03val\"(\n\x0bSInt64NotIn\x12\x19\n\x03val\x18\x01 \x01(\x12\x42\x07\xbaH\x04\x42\x02\x38\x00R\x03val\"%\n\x08SInt64LT\x12\x19\n\x03val\x18\x01 \x01(\x12\x42\x07\xbaH\x04\x42\x02\x10\x00R\x03val\"\'\n\tSInt64LTE\x12\x1a\n\x03val\x18\x01 \x01(\x12\x42\x08\xbaH\x05\x42\x03\x18\x80\x01R\x03val\"%\n\x08SInt64GT\x12\x19\n\x03val\x18\x01 \x01(\x12\x42\x07\xbaH\x04\x42\x02 R\x03val\"&\n\tSInt64GTE\x12\x19\n\x03val\x18\x01 \x01(\x12\x42\x07\xbaH\x04\x42\x02(\x10R\x03val\")\n\nSInt64GTLT\x12\x1b\n\x03val\x18\x01 \x01(\x12\x42\t\xbaH\x06\x42\x04\x10\x14 \x00R\x03val\"+\n\x0cSInt64ExLTGT\x12\x1b\n\x03val\x18\x01 \x01(\x12\x42\t\xbaH\x06\x42\x04\x10\x00 \x14R\x03val\"-\n\x0cSInt64GTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x12\x42\x0b\xbaH\x08\x42\x06\x18\x80\x04(\x80\x02R\x03val\"/\n\x0eSInt64ExGTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x12\x42\x0b\xbaH\x08\x42\x06\x18\x80\x02(\x80\x04R\x03val\"0\n\x0cSInt64Ignore\x12 \n\x03val\x18\x01 \x01(\x12\x42\x0e\xbaH\x0b\x42\x06\x18\x80\x04(\x80\x02\xd8\x01\x01R\x03val\"3\n\x13SInt64IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x12\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\"*\n\rSInt64Example\x12\x19\n\x03val\x18\x01 \x01(\x12\x42\x07\xbaH\x04\x42\x02@\x00R\x03val\"\x1f\n\x0b\x46ixed32None\x12\x10\n\x03val\x18\x01 \x01(\x07R\x03val\",\n\x0c\x46ixed32Const\x12\x1c\n\x03val\x18\x01 \x01(\x07\x42\n\xbaH\x07J\x05\r\x01\x00\x00\x00R\x03val\".\n\tFixed32In\x12!\n\x03val\x18\x01 \x01(\x07\x42\x0f\xbaH\x0cJ\n5\x02\x00\x00\x00\x35\x03\x00\x00\x00R\x03val\",\n\x0c\x46ixed32NotIn\x12\x1c\n\x03val\x18\x01 \x01(\x07\x42\n\xbaH\x07J\x05=\x00\x00\x00\x00R\x03val\")\n\tFixed32LT\x12\x1c\n\x03val\x18\x01 \x01(\x07\x42\n\xbaH\x07J\x05\x15\x05\x00\x00\x00R\x03val\"*\n\nFixed32LTE\x12\x1c\n\x03val\x18\x01 \x01(\x07\x42\n\xbaH\x07J\x05\x1d@\x00\x00\x00R\x03val\")\n\tFixed32GT\x12\x1c\n\x03val\x18\x01 \x01(\x07\x42\n\xbaH\x07J\x05%\x10\x00\x00\x00R\x03val\"*\n\nFixed32GTE\x12\x1c\n\x03val\x18\x01 \x01(\x07\x42\n\xbaH\x07J\x05-\x08\x00\x00\x00R\x03val\"0\n\x0b\x46ixed32GTLT\x12!\n\x03val\x18\x01 \x01(\x07\x42\x0f\xbaH\x0cJ\n\x15\n\x00\x00\x00%\x05\x00\x00\x00R\x03val\"2\n\rFixed32ExLTGT\x12!\n\x03val\x18\x01 \x01(\x07\x42\x0f\xbaH\x0cJ\n\x15\x05\x00\x00\x00%\n\x00\x00\x00R\x03val\"2\n\rFixed32GTELTE\x12!\n\x03val\x18\x01 \x01(\x07\x42\x0f\xbaH\x0cJ\n\x1d\x00\x01\x00\x00-\x80\x00\x00\x00R\x03val\"4\n\x0f\x46ixed32ExGTELTE\x12!\n\x03val\x18\x01 \x01(\x07\x42\x0f\xbaH\x0cJ\n\x1d\x80\x00\x00\x00-\x00\x01\x00\x00R\x03val\"5\n\rFixed32Ignore\x12$\n\x03val\x18\x01 \x01(\x07\x42\x12\xbaH\x0fJ\n\x1d\x00\x01\x00\x00-\x80\x00\x00\x00\xd8\x01\x01R\x03val\"4\n\x14\x46ixed32IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x07\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\".\n\x0e\x46ixed32Example\x12\x1c\n\x03val\x18\x01 \x01(\x07\x42\n\xbaH\x07J\x05\x45\x00\x00\x00\x00R\x03val\"\x1f\n\x0b\x46ixed64None\x12\x10\n\x03val\x18\x01 \x01(\x06R\x03val\"0\n\x0c\x46ixed64Const\x12 \n\x03val\x18\x01 \x01(\x06\x42\x0e\xbaH\x0bR\t\t\x01\x00\x00\x00\x00\x00\x00\x00R\x03val\"6\n\tFixed64In\x12)\n\x03val\x18\x01 \x01(\x06\x42\x17\xbaH\x14R\x12\x31\x02\x00\x00\x00\x00\x00\x00\x00\x31\x03\x00\x00\x00\x00\x00\x00\x00R\x03val\"0\n\x0c\x46ixed64NotIn\x12 \n\x03val\x18\x01 \x01(\x06\x42\x0e\xbaH\x0bR\t9\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\"-\n\tFixed64LT\x12 \n\x03val\x18\x01 \x01(\x06\x42\x0e\xbaH\x0bR\t\x11\x05\x00\x00\x00\x00\x00\x00\x00R\x03val\".\n\nFixed64LTE\x12 \n\x03val\x18\x01 \x01(\x06\x42\x0e\xbaH\x0bR\t\x19@\x00\x00\x00\x00\x00\x00\x00R\x03val\"-\n\tFixed64GT\x12 \n\x03val\x18\x01 \x01(\x06\x42\x0e\xbaH\x0bR\t!\x10\x00\x00\x00\x00\x00\x00\x00R\x03val\".\n\nFixed64GTE\x12 \n\x03val\x18\x01 \x01(\x06\x42\x0e\xbaH\x0bR\t)\x08\x00\x00\x00\x00\x00\x00\x00R\x03val\"8\n\x0b\x46ixed64GTLT\x12)\n\x03val\x18\x01 \x01(\x06\x42\x17\xbaH\x14R\x12\x11\n\x00\x00\x00\x00\x00\x00\x00!\x05\x00\x00\x00\x00\x00\x00\x00R\x03val\":\n\rFixed64ExLTGT\x12)\n\x03val\x18\x01 \x01(\x06\x42\x17\xbaH\x14R\x12\x11\x05\x00\x00\x00\x00\x00\x00\x00!\n\x00\x00\x00\x00\x00\x00\x00R\x03val\":\n\rFixed64GTELTE\x12)\n\x03val\x18\x01 \x01(\x06\x42\x17\xbaH\x14R\x12\x19\x00\x01\x00\x00\x00\x00\x00\x00)\x80\x00\x00\x00\x00\x00\x00\x00R\x03val\"<\n\x0f\x46ixed64ExGTELTE\x12)\n\x03val\x18\x01 \x01(\x06\x42\x17\xbaH\x14R\x12\x19\x80\x00\x00\x00\x00\x00\x00\x00)\x00\x01\x00\x00\x00\x00\x00\x00R\x03val\"=\n\rFixed64Ignore\x12,\n\x03val\x18\x01 \x01(\x06\x42\x1a\xbaH\x17R\x12\x19\x00\x01\x00\x00\x00\x00\x00\x00)\x80\x00\x00\x00\x00\x00\x00\x00\xd8\x01\x01R\x03val\"4\n\x14\x46ixed64IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x06\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\"2\n\x0e\x46ixed64Example\x12 \n\x03val\x18\x01 \x01(\x06\x42\x0e\xbaH\x0bR\tA\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\" \n\x0cSFixed32None\x12\x10\n\x03val\x18\x01 \x01(\x0fR\x03val\"-\n\rSFixed32Const\x12\x1c\n\x03val\x18\x01 \x01(\x0f\x42\n\xbaH\x07Z\x05\r\x01\x00\x00\x00R\x03val\"/\n\nSFixed32In\x12!\n\x03val\x18\x01 \x01(\x0f\x42\x0f\xbaH\x0cZ\n5\x02\x00\x00\x00\x35\x03\x00\x00\x00R\x03val\"-\n\rSFixed32NotIn\x12\x1c\n\x03val\x18\x01 \x01(\x0f\x42\n\xbaH\x07Z\x05=\x00\x00\x00\x00R\x03val\"*\n\nSFixed32LT\x12\x1c\n\x03val\x18\x01 \x01(\x0f\x42\n\xbaH\x07Z\x05\x15\x00\x00\x00\x00R\x03val\"+\n\x0bSFixed32LTE\x12\x1c\n\x03val\x18\x01 \x01(\x0f\x42\n\xbaH\x07Z\x05\x1d@\x00\x00\x00R\x03val\"*\n\nSFixed32GT\x12\x1c\n\x03val\x18\x01 \x01(\x0f\x42\n\xbaH\x07Z\x05%\x10\x00\x00\x00R\x03val\"+\n\x0bSFixed32GTE\x12\x1c\n\x03val\x18\x01 \x01(\x0f\x42\n\xbaH\x07Z\x05-\x08\x00\x00\x00R\x03val\"1\n\x0cSFixed32GTLT\x12!\n\x03val\x18\x01 \x01(\x0f\x42\x0f\xbaH\x0cZ\n\x15\n\x00\x00\x00%\x00\x00\x00\x00R\x03val\"3\n\x0eSFixed32ExLTGT\x12!\n\x03val\x18\x01 \x01(\x0f\x42\x0f\xbaH\x0cZ\n\x15\x00\x00\x00\x00%\n\x00\x00\x00R\x03val\"3\n\x0eSFixed32GTELTE\x12!\n\x03val\x18\x01 \x01(\x0f\x42\x0f\xbaH\x0cZ\n\x1d\x00\x01\x00\x00-\x80\x00\x00\x00R\x03val\"5\n\x10SFixed32ExGTELTE\x12!\n\x03val\x18\x01 \x01(\x0f\x42\x0f\xbaH\x0cZ\n\x1d\x80\x00\x00\x00-\x00\x01\x00\x00R\x03val\"6\n\x0eSFixed32Ignore\x12$\n\x03val\x18\x01 \x01(\x0f\x42\x12\xbaH\x0fZ\n\x1d\x00\x01\x00\x00-\x80\x00\x00\x00\xd8\x01\x01R\x03val\"5\n\x15SFixed32IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x0f\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\"/\n\x0fSFixed32Example\x12\x1c\n\x03val\x18\x01 \x01(\x0f\x42\n\xbaH\x07Z\x05\x45\x00\x00\x00\x00R\x03val\" \n\x0cSFixed64None\x12\x10\n\x03val\x18\x01 \x01(\x10R\x03val\"1\n\rSFixed64Const\x12 \n\x03val\x18\x01 \x01(\x10\x42\x0e\xbaH\x0b\x62\t\t\x01\x00\x00\x00\x00\x00\x00\x00R\x03val\"7\n\nSFixed64In\x12)\n\x03val\x18\x01 \x01(\x10\x42\x17\xbaH\x14\x62\x12\x31\x02\x00\x00\x00\x00\x00\x00\x00\x31\x03\x00\x00\x00\x00\x00\x00\x00R\x03val\"1\n\rSFixed64NotIn\x12 \n\x03val\x18\x01 \x01(\x10\x42\x0e\xbaH\x0b\x62\t9\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\".\n\nSFixed64LT\x12 \n\x03val\x18\x01 \x01(\x10\x42\x0e\xbaH\x0b\x62\t\x11\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\"/\n\x0bSFixed64LTE\x12 \n\x03val\x18\x01 \x01(\x10\x42\x0e\xbaH\x0b\x62\t\x19@\x00\x00\x00\x00\x00\x00\x00R\x03val\".\n\nSFixed64GT\x12 \n\x03val\x18\x01 \x01(\x10\x42\x0e\xbaH\x0b\x62\t!\x10\x00\x00\x00\x00\x00\x00\x00R\x03val\"/\n\x0bSFixed64GTE\x12 \n\x03val\x18\x01 \x01(\x10\x42\x0e\xbaH\x0b\x62\t)\x08\x00\x00\x00\x00\x00\x00\x00R\x03val\"9\n\x0cSFixed64GTLT\x12)\n\x03val\x18\x01 \x01(\x10\x42\x17\xbaH\x14\x62\x12\x11\n\x00\x00\x00\x00\x00\x00\x00!\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\";\n\x0eSFixed64ExLTGT\x12)\n\x03val\x18\x01 \x01(\x10\x42\x17\xbaH\x14\x62\x12\x11\x00\x00\x00\x00\x00\x00\x00\x00!\n\x00\x00\x00\x00\x00\x00\x00R\x03val\";\n\x0eSFixed64GTELTE\x12)\n\x03val\x18\x01 \x01(\x10\x42\x17\xbaH\x14\x62\x12\x19\x00\x01\x00\x00\x00\x00\x00\x00)\x80\x00\x00\x00\x00\x00\x00\x00R\x03val\"=\n\x10SFixed64ExGTELTE\x12)\n\x03val\x18\x01 \x01(\x10\x42\x17\xbaH\x14\x62\x12\x19\x80\x00\x00\x00\x00\x00\x00\x00)\x00\x01\x00\x00\x00\x00\x00\x00R\x03val\">\n\x0eSFixed64Ignore\x12,\n\x03val\x18\x01 \x01(\x10\x42\x1a\xbaH\x17\x62\x12\x19\x00\x01\x00\x00\x00\x00\x00\x00)\x80\x00\x00\x00\x00\x00\x00\x00\xd8\x01\x01R\x03val\"5\n\x15SFixed64IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x10\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\"3\n\x0fSFixed64Example\x12 \n\x03val\x18\x01 \x01(\x10\x42\x0e\xbaH\x0b\x62\tA\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\":\n\x10Int64LTEOptional\x12\x1e\n\x03val\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02\x18@H\x00R\x03val\x88\x01\x01\x42\x06\n\x04_valB\xce\x01\n\"com.buf.validate.conformance.casesB\x0cNumbersProtoP\x01\xa2\x02\x04\x42VCC\xaa\x02\x1e\x42uf.Validate.Conformance.Cases\xca\x02\x1e\x42uf\\Validate\\Conformance\\Cases\xe2\x02*Buf\\Validate\\Conformance\\Cases\\GPBMetadata\xea\x02!Buf::Validate::Conformance::Casesb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -74,7 +74,7 @@ _globals['_FLOATNOTFINITE'].fields_by_name['val']._loaded_options = None _globals['_FLOATNOTFINITE'].fields_by_name['val']._serialized_options = b'\272H\004\n\002@\000' _globals['_FLOATIGNORE'].fields_by_name['val']._loaded_options = None - _globals['_FLOATIGNORE'].fields_by_name['val']._serialized_options = b'\272H\017\n\n\035\000\000\200C-\000\000\000C\320\001\001' + _globals['_FLOATIGNORE'].fields_by_name['val']._serialized_options = b'\272H\017\n\n\035\000\000\200C-\000\000\000C\330\001\001' _globals['_FLOATINCORRECTTYPE'].fields_by_name['val']._loaded_options = None _globals['_FLOATINCORRECTTYPE'].fields_by_name['val']._serialized_options = b'\272H\013\022\t!\000\000\000\000\000\000\000\000' _globals['_FLOATEXAMPLE'].fields_by_name['val']._loaded_options = None @@ -106,7 +106,7 @@ _globals['_DOUBLENOTFINITE'].fields_by_name['val']._loaded_options = None _globals['_DOUBLENOTFINITE'].fields_by_name['val']._serialized_options = b'\272H\004\022\002@\000' _globals['_DOUBLEIGNORE'].fields_by_name['val']._loaded_options = None - _globals['_DOUBLEIGNORE'].fields_by_name['val']._serialized_options = b'\272H\027\022\022\031\000\000\000\000\000\000p@)\000\000\000\000\000\000`@\320\001\001' + _globals['_DOUBLEIGNORE'].fields_by_name['val']._serialized_options = b'\272H\027\022\022\031\000\000\000\000\000\000p@)\000\000\000\000\000\000`@\330\001\001' _globals['_DOUBLEINCORRECTTYPE'].fields_by_name['val']._loaded_options = None _globals['_DOUBLEINCORRECTTYPE'].fields_by_name['val']._serialized_options = b'\272H\007\n\005%\000\000\000\000' _globals['_DOUBLEEXAMPLE'].fields_by_name['val']._loaded_options = None @@ -134,7 +134,7 @@ _globals['_INT32EXGTELTE'].fields_by_name['val']._loaded_options = None _globals['_INT32EXGTELTE'].fields_by_name['val']._serialized_options = b'\272H\010\032\006\030\200\001(\200\002' _globals['_INT32IGNORE'].fields_by_name['val']._loaded_options = None - _globals['_INT32IGNORE'].fields_by_name['val']._serialized_options = b'\272H\013\032\006\030\200\002(\200\001\320\001\001' + _globals['_INT32IGNORE'].fields_by_name['val']._serialized_options = b'\272H\013\032\006\030\200\002(\200\001\330\001\001' _globals['_INT32INCORRECTTYPE'].fields_by_name['val']._loaded_options = None _globals['_INT32INCORRECTTYPE'].fields_by_name['val']._serialized_options = b'\272H\007\n\005%\000\000\000\000' _globals['_INT32EXAMPLE'].fields_by_name['val']._loaded_options = None @@ -162,7 +162,7 @@ _globals['_INT64EXGTELTE'].fields_by_name['val']._loaded_options = None _globals['_INT64EXGTELTE'].fields_by_name['val']._serialized_options = b'\272H\010\"\006\030\200\001(\200\002' _globals['_INT64IGNORE'].fields_by_name['val']._loaded_options = None - _globals['_INT64IGNORE'].fields_by_name['val']._serialized_options = b'\272H\013\"\006\030\200\002(\200\001\320\001\001' + _globals['_INT64IGNORE'].fields_by_name['val']._serialized_options = b'\272H\013\"\006\030\200\002(\200\001\330\001\001' _globals['_INT64BIGCONSTRAINTS'].fields_by_name['lt_pos']._loaded_options = None _globals['_INT64BIGCONSTRAINTS'].fields_by_name['lt_pos']._serialized_options = b'\272H\010\"\006\020\246\335\207\244\024' _globals['_INT64BIGCONSTRAINTS'].fields_by_name['lt_neg']._loaded_options = None @@ -214,7 +214,7 @@ _globals['_UINT32EXGTELTE'].fields_by_name['val']._loaded_options = None _globals['_UINT32EXGTELTE'].fields_by_name['val']._serialized_options = b'\272H\010*\006\030\200\001(\200\002' _globals['_UINT32IGNORE'].fields_by_name['val']._loaded_options = None - _globals['_UINT32IGNORE'].fields_by_name['val']._serialized_options = b'\272H\013*\006\030\200\002(\200\001\320\001\001' + _globals['_UINT32IGNORE'].fields_by_name['val']._serialized_options = b'\272H\013*\006\030\200\002(\200\001\330\001\001' _globals['_UINT32INCORRECTTYPE'].fields_by_name['val']._loaded_options = None _globals['_UINT32INCORRECTTYPE'].fields_by_name['val']._serialized_options = b'\272H\007\n\005%\000\000\000\000' _globals['_UINT32EXAMPLE'].fields_by_name['val']._loaded_options = None @@ -242,7 +242,7 @@ _globals['_UINT64EXGTELTE'].fields_by_name['val']._loaded_options = None _globals['_UINT64EXGTELTE'].fields_by_name['val']._serialized_options = b'\272H\0102\006\030\200\001(\200\002' _globals['_UINT64IGNORE'].fields_by_name['val']._loaded_options = None - _globals['_UINT64IGNORE'].fields_by_name['val']._serialized_options = b'\272H\0132\006\030\200\002(\200\001\320\001\001' + _globals['_UINT64IGNORE'].fields_by_name['val']._serialized_options = b'\272H\0132\006\030\200\002(\200\001\330\001\001' _globals['_UINT64INCORRECTTYPE'].fields_by_name['val']._loaded_options = None _globals['_UINT64INCORRECTTYPE'].fields_by_name['val']._serialized_options = b'\272H\007\n\005%\000\000\000\000' _globals['_UINT64EXAMPLE'].fields_by_name['val']._loaded_options = None @@ -270,7 +270,7 @@ _globals['_SINT32EXGTELTE'].fields_by_name['val']._loaded_options = None _globals['_SINT32EXGTELTE'].fields_by_name['val']._serialized_options = b'\272H\010:\006\030\200\002(\200\004' _globals['_SINT32IGNORE'].fields_by_name['val']._loaded_options = None - _globals['_SINT32IGNORE'].fields_by_name['val']._serialized_options = b'\272H\013:\006\030\200\004(\200\002\320\001\001' + _globals['_SINT32IGNORE'].fields_by_name['val']._serialized_options = b'\272H\013:\006\030\200\004(\200\002\330\001\001' _globals['_SINT32INCORRECTTYPE'].fields_by_name['val']._loaded_options = None _globals['_SINT32INCORRECTTYPE'].fields_by_name['val']._serialized_options = b'\272H\007\n\005%\000\000\000\000' _globals['_SINT32EXAMPLE'].fields_by_name['val']._loaded_options = None @@ -298,7 +298,7 @@ _globals['_SINT64EXGTELTE'].fields_by_name['val']._loaded_options = None _globals['_SINT64EXGTELTE'].fields_by_name['val']._serialized_options = b'\272H\010B\006\030\200\002(\200\004' _globals['_SINT64IGNORE'].fields_by_name['val']._loaded_options = None - _globals['_SINT64IGNORE'].fields_by_name['val']._serialized_options = b'\272H\013B\006\030\200\004(\200\002\320\001\001' + _globals['_SINT64IGNORE'].fields_by_name['val']._serialized_options = b'\272H\013B\006\030\200\004(\200\002\330\001\001' _globals['_SINT64INCORRECTTYPE'].fields_by_name['val']._loaded_options = None _globals['_SINT64INCORRECTTYPE'].fields_by_name['val']._serialized_options = b'\272H\007\n\005%\000\000\000\000' _globals['_SINT64EXAMPLE'].fields_by_name['val']._loaded_options = None @@ -326,7 +326,7 @@ _globals['_FIXED32EXGTELTE'].fields_by_name['val']._loaded_options = None _globals['_FIXED32EXGTELTE'].fields_by_name['val']._serialized_options = b'\272H\014J\n\035\200\000\000\000-\000\001\000\000' _globals['_FIXED32IGNORE'].fields_by_name['val']._loaded_options = None - _globals['_FIXED32IGNORE'].fields_by_name['val']._serialized_options = b'\272H\017J\n\035\000\001\000\000-\200\000\000\000\320\001\001' + _globals['_FIXED32IGNORE'].fields_by_name['val']._serialized_options = b'\272H\017J\n\035\000\001\000\000-\200\000\000\000\330\001\001' _globals['_FIXED32INCORRECTTYPE'].fields_by_name['val']._loaded_options = None _globals['_FIXED32INCORRECTTYPE'].fields_by_name['val']._serialized_options = b'\272H\007\n\005%\000\000\000\000' _globals['_FIXED32EXAMPLE'].fields_by_name['val']._loaded_options = None @@ -354,7 +354,7 @@ _globals['_FIXED64EXGTELTE'].fields_by_name['val']._loaded_options = None _globals['_FIXED64EXGTELTE'].fields_by_name['val']._serialized_options = b'\272H\024R\022\031\200\000\000\000\000\000\000\000)\000\001\000\000\000\000\000\000' _globals['_FIXED64IGNORE'].fields_by_name['val']._loaded_options = None - _globals['_FIXED64IGNORE'].fields_by_name['val']._serialized_options = b'\272H\027R\022\031\000\001\000\000\000\000\000\000)\200\000\000\000\000\000\000\000\320\001\001' + _globals['_FIXED64IGNORE'].fields_by_name['val']._serialized_options = b'\272H\027R\022\031\000\001\000\000\000\000\000\000)\200\000\000\000\000\000\000\000\330\001\001' _globals['_FIXED64INCORRECTTYPE'].fields_by_name['val']._loaded_options = None _globals['_FIXED64INCORRECTTYPE'].fields_by_name['val']._serialized_options = b'\272H\007\n\005%\000\000\000\000' _globals['_FIXED64EXAMPLE'].fields_by_name['val']._loaded_options = None @@ -382,7 +382,7 @@ _globals['_SFIXED32EXGTELTE'].fields_by_name['val']._loaded_options = None _globals['_SFIXED32EXGTELTE'].fields_by_name['val']._serialized_options = b'\272H\014Z\n\035\200\000\000\000-\000\001\000\000' _globals['_SFIXED32IGNORE'].fields_by_name['val']._loaded_options = None - _globals['_SFIXED32IGNORE'].fields_by_name['val']._serialized_options = b'\272H\017Z\n\035\000\001\000\000-\200\000\000\000\320\001\001' + _globals['_SFIXED32IGNORE'].fields_by_name['val']._serialized_options = b'\272H\017Z\n\035\000\001\000\000-\200\000\000\000\330\001\001' _globals['_SFIXED32INCORRECTTYPE'].fields_by_name['val']._loaded_options = None _globals['_SFIXED32INCORRECTTYPE'].fields_by_name['val']._serialized_options = b'\272H\007\n\005%\000\000\000\000' _globals['_SFIXED32EXAMPLE'].fields_by_name['val']._loaded_options = None @@ -410,7 +410,7 @@ _globals['_SFIXED64EXGTELTE'].fields_by_name['val']._loaded_options = None _globals['_SFIXED64EXGTELTE'].fields_by_name['val']._serialized_options = b'\272H\024b\022\031\200\000\000\000\000\000\000\000)\000\001\000\000\000\000\000\000' _globals['_SFIXED64IGNORE'].fields_by_name['val']._loaded_options = None - _globals['_SFIXED64IGNORE'].fields_by_name['val']._serialized_options = b'\272H\027b\022\031\000\001\000\000\000\000\000\000)\200\000\000\000\000\000\000\000\320\001\001' + _globals['_SFIXED64IGNORE'].fields_by_name['val']._serialized_options = b'\272H\027b\022\031\000\001\000\000\000\000\000\000)\200\000\000\000\000\000\000\000\330\001\001' _globals['_SFIXED64INCORRECTTYPE'].fields_by_name['val']._loaded_options = None _globals['_SFIXED64INCORRECTTYPE'].fields_by_name['val']._serialized_options = b'\272H\007\n\005%\000\000\000\000' _globals['_SFIXED64EXAMPLE'].fields_by_name['val']._loaded_options = None diff --git a/gen/buf/validate/conformance/cases/repeated_pb2.py b/gen/buf/validate/conformance/cases/repeated_pb2.py index b5497838..24240a43 100644 --- a/gen/buf/validate/conformance/cases/repeated_pb2.py +++ b/gen/buf/validate/conformance/cases/repeated_pb2.py @@ -42,7 +42,7 @@ from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n-buf/validate/conformance/cases/repeated.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x38\x62uf/validate/conformance/cases/other_package/embed.proto\x1a\x1b\x62uf/validate/validate.proto\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/protobuf/duration.proto\"\"\n\x05\x45mbed\x12\x19\n\x03val\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02 \x00R\x03val\" \n\x0cRepeatedNone\x12\x10\n\x03val\x18\x01 \x03(\x03R\x03val\"L\n\x11RepeatedEmbedNone\x12\x37\n\x03val\x18\x01 \x03(\x0b\x32%.buf.validate.conformance.cases.EmbedR\x03val\"f\n\x1dRepeatedEmbedCrossPackageNone\x12\x45\n\x03val\x18\x01 \x03(\x0b\x32\x33.buf.validate.conformance.cases.other_package.EmbedR\x03val\"P\n\x0bRepeatedMin\x12\x41\n\x03val\x18\x01 \x03(\x0b\x32%.buf.validate.conformance.cases.EmbedB\x08\xbaH\x05\x92\x01\x02\x08\x02R\x03val\")\n\x0bRepeatedMax\x12\x1a\n\x03val\x18\x01 \x03(\x01\x42\x08\xbaH\x05\x92\x01\x02\x10\x03R\x03val\".\n\x0eRepeatedMinMax\x12\x1c\n\x03val\x18\x01 \x03(\x0f\x42\n\xbaH\x07\x92\x01\x04\x08\x02\x10\x04R\x03val\"-\n\rRepeatedExact\x12\x1c\n\x03val\x18\x01 \x03(\rB\n\xbaH\x07\x92\x01\x04\x08\x03\x10\x03R\x03val\",\n\x0eRepeatedUnique\x12\x1a\n\x03val\x18\x01 \x03(\tB\x08\xbaH\x05\x92\x01\x02\x18\x01R\x03val\"/\n\x11RepeatedNotUnique\x12\x1a\n\x03val\x18\x01 \x03(\tB\x08\xbaH\x05\x92\x01\x02\x18\x00R\x03val\"H\n\x16RepeatedMultipleUnique\x12\x16\n\x01\x61\x18\x01 \x03(\tB\x08\xbaH\x05\x92\x01\x02\x18\x01R\x01\x61\x12\x16\n\x01\x62\x18\x02 \x03(\x05\x42\x08\xbaH\x05\x92\x01\x02\x18\x01R\x01\x62\"5\n\x10RepeatedItemRule\x12!\n\x03val\x18\x01 \x03(\x02\x42\x0f\xbaH\x0c\x92\x01\t\"\x07\n\x05%\x00\x00\x00\x00R\x03val\"D\n\x13RepeatedItemPattern\x12-\n\x03val\x18\x01 \x03(\tB\x1b\xbaH\x18\x92\x01\x15\"\x13r\x11\x32\x0f(?i)^[a-z0-9]+$R\x03val\"Y\n\x11RepeatedEmbedSkip\x12\x44\n\x03val\x18\x01 \x03(\x0b\x32%.buf.validate.conformance.cases.EmbedB\x0b\xbaH\x08\x92\x01\x05\"\x03\xd8\x01\x03R\x03val\"8\n\x0eRepeatedItemIn\x12&\n\x03val\x18\x01 \x03(\tB\x14\xbaH\x11\x92\x01\x0e\"\x0cr\nR\x03\x66ooR\x03\x62\x61rR\x03val\";\n\x11RepeatedItemNotIn\x12&\n\x03val\x18\x01 \x03(\tB\x14\xbaH\x11\x92\x01\x0e\"\x0cr\nZ\x03\x66ooZ\x03\x62\x61rR\x03val\"Y\n\x0eRepeatedEnumIn\x12G\n\x03val\x18\x01 \x03(\x0e\x32&.buf.validate.conformance.cases.AnEnumB\r\xbaH\n\x92\x01\x07\"\x05\x82\x01\x02\x18\x00R\x03val\"\\\n\x11RepeatedEnumNotIn\x12G\n\x03val\x18\x01 \x03(\x0e\x32&.buf.validate.conformance.cases.AnEnumB\r\xbaH\n\x92\x01\x07\"\x05\x82\x01\x02 \x00R\x03val\"\xdf\x01\n\x16RepeatedEmbeddedEnumIn\x12\x65\n\x03val\x18\x01 \x03(\x0e\x32\x44.buf.validate.conformance.cases.RepeatedEmbeddedEnumIn.AnotherInEnumB\r\xbaH\n\x92\x01\x07\"\x05\x82\x01\x02\x18\x00R\x03val\"^\n\rAnotherInEnum\x12\x1f\n\x1b\x41NOTHER_IN_ENUM_UNSPECIFIED\x10\x00\x12\x15\n\x11\x41NOTHER_IN_ENUM_A\x10\x01\x12\x15\n\x11\x41NOTHER_IN_ENUM_B\x10\x02\"\xf7\x01\n\x19RepeatedEmbeddedEnumNotIn\x12k\n\x03val\x18\x01 \x03(\x0e\x32J.buf.validate.conformance.cases.RepeatedEmbeddedEnumNotIn.AnotherNotInEnumB\r\xbaH\n\x92\x01\x07\"\x05\x82\x01\x02 \x00R\x03val\"m\n\x10\x41notherNotInEnum\x12#\n\x1f\x41NOTHER_NOT_IN_ENUM_UNSPECIFIED\x10\x00\x12\x19\n\x15\x41NOTHER_NOT_IN_ENUM_A\x10\x01\x12\x19\n\x15\x41NOTHER_NOT_IN_ENUM_B\x10\x02\"r\n\rRepeatedAnyIn\x12\x61\n\x03val\x18\x01 \x03(\x0b\x32\x14.google.protobuf.AnyB9\xbaH6\x92\x01\x33\"1\xa2\x01.\x12,type.googleapis.com/google.protobuf.DurationR\x03val\"v\n\x10RepeatedAnyNotIn\x12\x62\n\x03val\x18\x01 \x03(\x0b\x32\x14.google.protobuf.AnyB:\xbaH7\x92\x01\x34\"2\xa2\x01/\x1a-type.googleapis.com/google.protobuf.TimestampR\x03val\":\n\x15RepeatedMinAndItemLen\x12!\n\x03val\x18\x01 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\x08\x01\"\x05r\x03\x98\x01\x03R\x03val\"8\n\x18RepeatedMinAndMaxItemLen\x12\x1c\n\x03val\x18\x01 \x03(\tB\n\xbaH\x07\x92\x01\x04\x08\x01\x10\x03R\x03val\"R\n\x10RepeatedDuration\x12>\n\x03val\x18\x01 \x03(\x0b\x32\x19.google.protobuf.DurationB\x11\xbaH\x0e\x92\x01\x0b\"\t\xaa\x01\x06\x32\x04\x10\xc0\x84=R\x03val\"6\n\x13RepeatedExactIgnore\x12\x1f\n\x03val\x18\x01 \x03(\rB\r\xbaH\n\x92\x01\x04\x08\x03\x10\x03\xd0\x01\x01R\x03val*?\n\x06\x41nEnum\x12\x17\n\x13\x41N_ENUM_UNSPECIFIED\x10\x00\x12\r\n\tAN_ENUM_X\x10\x01\x12\r\n\tAN_ENUM_Y\x10\x02\x42\xcf\x01\n\"com.buf.validate.conformance.casesB\rRepeatedProtoP\x01\xa2\x02\x04\x42VCC\xaa\x02\x1e\x42uf.Validate.Conformance.Cases\xca\x02\x1e\x42uf\\Validate\\Conformance\\Cases\xe2\x02*Buf\\Validate\\Conformance\\Cases\\GPBMetadata\xea\x02!Buf::Validate::Conformance::Casesb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n-buf/validate/conformance/cases/repeated.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x38\x62uf/validate/conformance/cases/other_package/embed.proto\x1a\x1b\x62uf/validate/validate.proto\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/protobuf/duration.proto\"\"\n\x05\x45mbed\x12\x19\n\x03val\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02 \x00R\x03val\" \n\x0cRepeatedNone\x12\x10\n\x03val\x18\x01 \x03(\x03R\x03val\"L\n\x11RepeatedEmbedNone\x12\x37\n\x03val\x18\x01 \x03(\x0b\x32%.buf.validate.conformance.cases.EmbedR\x03val\"f\n\x1dRepeatedEmbedCrossPackageNone\x12\x45\n\x03val\x18\x01 \x03(\x0b\x32\x33.buf.validate.conformance.cases.other_package.EmbedR\x03val\"P\n\x0bRepeatedMin\x12\x41\n\x03val\x18\x01 \x03(\x0b\x32%.buf.validate.conformance.cases.EmbedB\x08\xbaH\x05\x92\x01\x02\x08\x02R\x03val\")\n\x0bRepeatedMax\x12\x1a\n\x03val\x18\x01 \x03(\x01\x42\x08\xbaH\x05\x92\x01\x02\x10\x03R\x03val\".\n\x0eRepeatedMinMax\x12\x1c\n\x03val\x18\x01 \x03(\x0f\x42\n\xbaH\x07\x92\x01\x04\x08\x02\x10\x04R\x03val\"-\n\rRepeatedExact\x12\x1c\n\x03val\x18\x01 \x03(\rB\n\xbaH\x07\x92\x01\x04\x08\x03\x10\x03R\x03val\",\n\x0eRepeatedUnique\x12\x1a\n\x03val\x18\x01 \x03(\tB\x08\xbaH\x05\x92\x01\x02\x18\x01R\x03val\"/\n\x11RepeatedNotUnique\x12\x1a\n\x03val\x18\x01 \x03(\tB\x08\xbaH\x05\x92\x01\x02\x18\x00R\x03val\"H\n\x16RepeatedMultipleUnique\x12\x16\n\x01\x61\x18\x01 \x03(\tB\x08\xbaH\x05\x92\x01\x02\x18\x01R\x01\x61\x12\x16\n\x01\x62\x18\x02 \x03(\x05\x42\x08\xbaH\x05\x92\x01\x02\x18\x01R\x01\x62\"5\n\x10RepeatedItemRule\x12!\n\x03val\x18\x01 \x03(\x02\x42\x0f\xbaH\x0c\x92\x01\t\"\x07\n\x05%\x00\x00\x00\x00R\x03val\"D\n\x13RepeatedItemPattern\x12-\n\x03val\x18\x01 \x03(\tB\x1b\xbaH\x18\x92\x01\x15\"\x13r\x11\x32\x0f(?i)^[a-z0-9]+$R\x03val\"Y\n\x11RepeatedEmbedSkip\x12\x44\n\x03val\x18\x01 \x03(\x0b\x32%.buf.validate.conformance.cases.EmbedB\x0b\xbaH\x08\x92\x01\x05\"\x03\xd8\x01\x03R\x03val\"8\n\x0eRepeatedItemIn\x12&\n\x03val\x18\x01 \x03(\tB\x14\xbaH\x11\x92\x01\x0e\"\x0cr\nR\x03\x66ooR\x03\x62\x61rR\x03val\";\n\x11RepeatedItemNotIn\x12&\n\x03val\x18\x01 \x03(\tB\x14\xbaH\x11\x92\x01\x0e\"\x0cr\nZ\x03\x66ooZ\x03\x62\x61rR\x03val\"Y\n\x0eRepeatedEnumIn\x12G\n\x03val\x18\x01 \x03(\x0e\x32&.buf.validate.conformance.cases.AnEnumB\r\xbaH\n\x92\x01\x07\"\x05\x82\x01\x02\x18\x00R\x03val\"\\\n\x11RepeatedEnumNotIn\x12G\n\x03val\x18\x01 \x03(\x0e\x32&.buf.validate.conformance.cases.AnEnumB\r\xbaH\n\x92\x01\x07\"\x05\x82\x01\x02 \x00R\x03val\"\xdf\x01\n\x16RepeatedEmbeddedEnumIn\x12\x65\n\x03val\x18\x01 \x03(\x0e\x32\x44.buf.validate.conformance.cases.RepeatedEmbeddedEnumIn.AnotherInEnumB\r\xbaH\n\x92\x01\x07\"\x05\x82\x01\x02\x18\x00R\x03val\"^\n\rAnotherInEnum\x12\x1f\n\x1b\x41NOTHER_IN_ENUM_UNSPECIFIED\x10\x00\x12\x15\n\x11\x41NOTHER_IN_ENUM_A\x10\x01\x12\x15\n\x11\x41NOTHER_IN_ENUM_B\x10\x02\"\xf7\x01\n\x19RepeatedEmbeddedEnumNotIn\x12k\n\x03val\x18\x01 \x03(\x0e\x32J.buf.validate.conformance.cases.RepeatedEmbeddedEnumNotIn.AnotherNotInEnumB\r\xbaH\n\x92\x01\x07\"\x05\x82\x01\x02 \x00R\x03val\"m\n\x10\x41notherNotInEnum\x12#\n\x1f\x41NOTHER_NOT_IN_ENUM_UNSPECIFIED\x10\x00\x12\x19\n\x15\x41NOTHER_NOT_IN_ENUM_A\x10\x01\x12\x19\n\x15\x41NOTHER_NOT_IN_ENUM_B\x10\x02\"r\n\rRepeatedAnyIn\x12\x61\n\x03val\x18\x01 \x03(\x0b\x32\x14.google.protobuf.AnyB9\xbaH6\x92\x01\x33\"1\xa2\x01.\x12,type.googleapis.com/google.protobuf.DurationR\x03val\"v\n\x10RepeatedAnyNotIn\x12\x62\n\x03val\x18\x01 \x03(\x0b\x32\x14.google.protobuf.AnyB:\xbaH7\x92\x01\x34\"2\xa2\x01/\x1a-type.googleapis.com/google.protobuf.TimestampR\x03val\":\n\x15RepeatedMinAndItemLen\x12!\n\x03val\x18\x01 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\x08\x01\"\x05r\x03\x98\x01\x03R\x03val\"8\n\x18RepeatedMinAndMaxItemLen\x12\x1c\n\x03val\x18\x01 \x03(\tB\n\xbaH\x07\x92\x01\x04\x08\x01\x10\x03R\x03val\"R\n\x10RepeatedDuration\x12>\n\x03val\x18\x01 \x03(\x0b\x32\x19.google.protobuf.DurationB\x11\xbaH\x0e\x92\x01\x0b\"\t\xaa\x01\x06\x32\x04\x10\xc0\x84=R\x03val\"6\n\x13RepeatedExactIgnore\x12\x1f\n\x03val\x18\x01 \x03(\rB\r\xbaH\n\x92\x01\x04\x08\x03\x10\x03\xd8\x01\x01R\x03val*?\n\x06\x41nEnum\x12\x17\n\x13\x41N_ENUM_UNSPECIFIED\x10\x00\x12\r\n\tAN_ENUM_X\x10\x01\x12\r\n\tAN_ENUM_Y\x10\x02\x42\xcf\x01\n\"com.buf.validate.conformance.casesB\rRepeatedProtoP\x01\xa2\x02\x04\x42VCC\xaa\x02\x1e\x42uf.Validate.Conformance.Cases\xca\x02\x1e\x42uf\\Validate\\Conformance\\Cases\xe2\x02*Buf\\Validate\\Conformance\\Cases\\GPBMetadata\xea\x02!Buf::Validate::Conformance::Casesb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -97,7 +97,7 @@ _globals['_REPEATEDDURATION'].fields_by_name['val']._loaded_options = None _globals['_REPEATEDDURATION'].fields_by_name['val']._serialized_options = b'\272H\016\222\001\013\"\t\252\001\0062\004\020\300\204=' _globals['_REPEATEDEXACTIGNORE'].fields_by_name['val']._loaded_options = None - _globals['_REPEATEDEXACTIGNORE'].fields_by_name['val']._serialized_options = b'\272H\n\222\001\004\010\003\020\003\320\001\001' + _globals['_REPEATEDEXACTIGNORE'].fields_by_name['val']._serialized_options = b'\272H\n\222\001\004\010\003\020\003\330\001\001' _globals['_ANENUM']._serialized_start=2358 _globals['_ANENUM']._serialized_end=2421 _globals['_EMBED']._serialized_start=227 diff --git a/gen/buf/validate/conformance/cases/strings_pb2.py b/gen/buf/validate/conformance/cases/strings_pb2.py index 90ef7fa9..ba67d370 100644 --- a/gen/buf/validate/conformance/cases/strings_pb2.py +++ b/gen/buf/validate/conformance/cases/strings_pb2.py @@ -39,7 +39,7 @@ from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n,buf/validate/conformance/cases/strings.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x1b\x62uf/validate/validate.proto\"\x1e\n\nStringNone\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"+\n\x0bStringConst\x12\x1c\n\x03val\x18\x01 \x01(\tB\n\xbaH\x07r\x05\n\x03\x66ooR\x03val\"-\n\x08StringIn\x12!\n\x03val\x18\x01 \x01(\tB\x0f\xbaH\x0cr\nR\x03\x62\x61rR\x03\x62\x61zR\x03val\"2\n\x0bStringNotIn\x12#\n\x03val\x18\x01 \x01(\tB\x11\xbaH\x0er\x0cZ\x04\x66izzZ\x04\x62uzzR\x03val\"\'\n\tStringLen\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x98\x01\x03R\x03val\")\n\x0cStringMinLen\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x03R\x03val\")\n\x0cStringMaxLen\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x18\x05R\x03val\".\n\x0fStringMinMaxLen\x12\x1b\n\x03val\x18\x01 \x01(\tB\t\xbaH\x06r\x04\x10\x03\x18\x05R\x03val\"3\n\x14StringEqualMinMaxLen\x12\x1b\n\x03val\x18\x01 \x01(\tB\t\xbaH\x06r\x04\x10\x05\x18\x05R\x03val\",\n\x0eStringLenBytes\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xa0\x01\x04R\x03val\"+\n\x0eStringMinBytes\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02 \x04R\x03val\"+\n\x0eStringMaxBytes\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02(\x08R\x03val\"0\n\x11StringMinMaxBytes\x12\x1b\n\x03val\x18\x01 \x01(\tB\t\xbaH\x06r\x04 \x04(\x08R\x03val\"5\n\x16StringEqualMinMaxBytes\x12\x1b\n\x03val\x18\x01 \x01(\tB\t\xbaH\x06r\x04 \x04(\x04R\x03val\"9\n\rStringPattern\x12(\n\x03val\x18\x01 \x01(\tB\x16\xbaH\x13r\x11\x32\x0f(?i)^[a-z0-9]+$R\x03val\"9\n\x14StringPatternEscapes\x12!\n\x03val\x18\x01 \x01(\tB\x0f\xbaH\x0cr\n2\x08\\* \\\\ \\wR\x03val\",\n\x0cStringPrefix\x12\x1c\n\x03val\x18\x01 \x01(\tB\n\xbaH\x07r\x05:\x03\x66ooR\x03val\".\n\x0eStringContains\x12\x1c\n\x03val\x18\x01 \x01(\tB\n\xbaH\x07r\x05J\x03\x62\x61rR\x03val\"2\n\x11StringNotContains\x12\x1d\n\x03val\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xba\x01\x03\x62\x61rR\x03val\",\n\x0cStringSuffix\x12\x1c\n\x03val\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x42\x03\x62\x61zR\x03val\"(\n\x0bStringEmail\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02`\x01R\x03val\"+\n\x0eStringNotEmail\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02`\x00R\x03val\"+\n\rStringAddress\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xa8\x01\x01R\x03val\".\n\x10StringNotAddress\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xa8\x01\x00R\x03val\"+\n\x0eStringHostname\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02h\x01R\x03val\".\n\x11StringNotHostname\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02h\x00R\x03val\"%\n\x08StringIP\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02p\x01R\x03val\"(\n\x0bStringNotIP\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02p\x00R\x03val\"\'\n\nStringIPv4\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02x\x01R\x03val\"*\n\rStringNotIPv4\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02x\x00R\x03val\"(\n\nStringIPv6\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x80\x01\x01R\x03val\"+\n\rStringNotIPv6\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x80\x01\x00R\x03val\"3\n\x15StringIPWithPrefixLen\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xd0\x01\x01R\x03val\"6\n\x18StringNotIPWithPrefixLen\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xd0\x01\x00R\x03val\"5\n\x17StringIPv4WithPrefixLen\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xd8\x01\x01R\x03val\"8\n\x1aStringNotIPv4WithPrefixLen\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xd8\x01\x00R\x03val\"5\n\x17StringIPv6WithPrefixLen\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xe0\x01\x01R\x03val\"8\n\x1aStringNotIPv6WithPrefixLen\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xe0\x01\x00R\x03val\",\n\x0eStringIPPrefix\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xe8\x01\x01R\x03val\"/\n\x11StringNotIPPrefix\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xe8\x01\x00R\x03val\".\n\x10StringIPv4Prefix\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xf0\x01\x01R\x03val\"1\n\x13StringNotIPv4Prefix\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xf0\x01\x00R\x03val\".\n\x10StringIPv6Prefix\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xf8\x01\x01R\x03val\"1\n\x13StringNotIPv6Prefix\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xf8\x01\x00R\x03val\"\'\n\tStringURI\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x88\x01\x01R\x03val\"*\n\x0cStringNotURI\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x88\x01\x00R\x03val\"*\n\x0cStringURIRef\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x90\x01\x01R\x03val\"-\n\x0fStringNotURIRef\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x90\x01\x00R\x03val\"(\n\nStringUUID\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x03val\"+\n\rStringNotUUID\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x00R\x03val\")\n\x0bStringTUUID\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x88\x02\x01R\x03val\",\n\x0eStringNotTUUID\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x88\x02\x00R\x03val\"2\n\x14StringHttpHeaderName\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xc0\x01\x01R\x03val\"3\n\x15StringHttpHeaderValue\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xc0\x01\x02R\x03val\":\n\x19StringHttpHeaderNameLoose\x12\x1d\n\x03val\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\x01\x01\xc8\x01\x00R\x03val\";\n\x1aStringHttpHeaderValueLoose\x12\x1d\n\x03val\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\x01\x02\xc8\x01\x00R\x03val\"1\n\x10StringUUIDIgnore\x12\x1d\n\x03val\x18\x01 \x01(\tB\x0b\xbaH\x08r\x03\xb0\x01\x01\xd0\x01\x01R\x03val\"7\n\rStringInOneof\x12\x1f\n\x03\x62\x61r\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06R\x01\x61R\x01\x62H\x00R\x03\x62\x61rB\x05\n\x03\x66oo\"/\n\x11StringHostAndPort\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x80\x02\x01R\x03val\"\xa4\x01\n\x19StringHostAndOptionalPort\x12\x86\x01\n\x03val\x18\x01 \x01(\tBt\xbaHq\xba\x01n\n\"string.host_and_port.optional_port\x12-value must be a host and (optional) port pair\x1a\x19this.isHostAndPort(false)R\x03val\".\n\rStringExample\x12\x1d\n\x03val\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\x92\x02\x03\x66ooR\x03valB\xce\x01\n\"com.buf.validate.conformance.casesB\x0cStringsProtoP\x01\xa2\x02\x04\x42VCC\xaa\x02\x1e\x42uf.Validate.Conformance.Cases\xca\x02\x1e\x42uf\\Validate\\Conformance\\Cases\xe2\x02*Buf\\Validate\\Conformance\\Cases\\GPBMetadata\xea\x02!Buf::Validate::Conformance::Casesb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n,buf/validate/conformance/cases/strings.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x1b\x62uf/validate/validate.proto\"\x1e\n\nStringNone\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"+\n\x0bStringConst\x12\x1c\n\x03val\x18\x01 \x01(\tB\n\xbaH\x07r\x05\n\x03\x66ooR\x03val\"-\n\x08StringIn\x12!\n\x03val\x18\x01 \x01(\tB\x0f\xbaH\x0cr\nR\x03\x62\x61rR\x03\x62\x61zR\x03val\"2\n\x0bStringNotIn\x12#\n\x03val\x18\x01 \x01(\tB\x11\xbaH\x0er\x0cZ\x04\x66izzZ\x04\x62uzzR\x03val\"\'\n\tStringLen\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x98\x01\x03R\x03val\")\n\x0cStringMinLen\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x03R\x03val\")\n\x0cStringMaxLen\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x18\x05R\x03val\".\n\x0fStringMinMaxLen\x12\x1b\n\x03val\x18\x01 \x01(\tB\t\xbaH\x06r\x04\x10\x03\x18\x05R\x03val\"3\n\x14StringEqualMinMaxLen\x12\x1b\n\x03val\x18\x01 \x01(\tB\t\xbaH\x06r\x04\x10\x05\x18\x05R\x03val\",\n\x0eStringLenBytes\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xa0\x01\x04R\x03val\"+\n\x0eStringMinBytes\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02 \x04R\x03val\"+\n\x0eStringMaxBytes\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02(\x08R\x03val\"0\n\x11StringMinMaxBytes\x12\x1b\n\x03val\x18\x01 \x01(\tB\t\xbaH\x06r\x04 \x04(\x08R\x03val\"5\n\x16StringEqualMinMaxBytes\x12\x1b\n\x03val\x18\x01 \x01(\tB\t\xbaH\x06r\x04 \x04(\x04R\x03val\"9\n\rStringPattern\x12(\n\x03val\x18\x01 \x01(\tB\x16\xbaH\x13r\x11\x32\x0f(?i)^[a-z0-9]+$R\x03val\"9\n\x14StringPatternEscapes\x12!\n\x03val\x18\x01 \x01(\tB\x0f\xbaH\x0cr\n2\x08\\* \\\\ \\wR\x03val\",\n\x0cStringPrefix\x12\x1c\n\x03val\x18\x01 \x01(\tB\n\xbaH\x07r\x05:\x03\x66ooR\x03val\".\n\x0eStringContains\x12\x1c\n\x03val\x18\x01 \x01(\tB\n\xbaH\x07r\x05J\x03\x62\x61rR\x03val\"2\n\x11StringNotContains\x12\x1d\n\x03val\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xba\x01\x03\x62\x61rR\x03val\",\n\x0cStringSuffix\x12\x1c\n\x03val\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x42\x03\x62\x61zR\x03val\"(\n\x0bStringEmail\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02`\x01R\x03val\"+\n\x0eStringNotEmail\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02`\x00R\x03val\"+\n\rStringAddress\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xa8\x01\x01R\x03val\".\n\x10StringNotAddress\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xa8\x01\x00R\x03val\"+\n\x0eStringHostname\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02h\x01R\x03val\".\n\x11StringNotHostname\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02h\x00R\x03val\"%\n\x08StringIP\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02p\x01R\x03val\"(\n\x0bStringNotIP\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02p\x00R\x03val\"\'\n\nStringIPv4\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02x\x01R\x03val\"*\n\rStringNotIPv4\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02x\x00R\x03val\"(\n\nStringIPv6\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x80\x01\x01R\x03val\"+\n\rStringNotIPv6\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x80\x01\x00R\x03val\"3\n\x15StringIPWithPrefixLen\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xd0\x01\x01R\x03val\"6\n\x18StringNotIPWithPrefixLen\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xd0\x01\x00R\x03val\"5\n\x17StringIPv4WithPrefixLen\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xd8\x01\x01R\x03val\"8\n\x1aStringNotIPv4WithPrefixLen\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xd8\x01\x00R\x03val\"5\n\x17StringIPv6WithPrefixLen\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xe0\x01\x01R\x03val\"8\n\x1aStringNotIPv6WithPrefixLen\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xe0\x01\x00R\x03val\",\n\x0eStringIPPrefix\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xe8\x01\x01R\x03val\"/\n\x11StringNotIPPrefix\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xe8\x01\x00R\x03val\".\n\x10StringIPv4Prefix\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xf0\x01\x01R\x03val\"1\n\x13StringNotIPv4Prefix\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xf0\x01\x00R\x03val\".\n\x10StringIPv6Prefix\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xf8\x01\x01R\x03val\"1\n\x13StringNotIPv6Prefix\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xf8\x01\x00R\x03val\"\'\n\tStringURI\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x88\x01\x01R\x03val\"*\n\x0cStringNotURI\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x88\x01\x00R\x03val\"*\n\x0cStringURIRef\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x90\x01\x01R\x03val\"-\n\x0fStringNotURIRef\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x90\x01\x00R\x03val\"(\n\nStringUUID\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x03val\"+\n\rStringNotUUID\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x00R\x03val\")\n\x0bStringTUUID\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x88\x02\x01R\x03val\",\n\x0eStringNotTUUID\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x88\x02\x00R\x03val\"2\n\x14StringHttpHeaderName\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xc0\x01\x01R\x03val\"3\n\x15StringHttpHeaderValue\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xc0\x01\x02R\x03val\":\n\x19StringHttpHeaderNameLoose\x12\x1d\n\x03val\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\x01\x01\xc8\x01\x00R\x03val\";\n\x1aStringHttpHeaderValueLoose\x12\x1d\n\x03val\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\x01\x02\xc8\x01\x00R\x03val\"1\n\x10StringUUIDIgnore\x12\x1d\n\x03val\x18\x01 \x01(\tB\x0b\xbaH\x08r\x03\xb0\x01\x01\xd8\x01\x01R\x03val\"7\n\rStringInOneof\x12\x1f\n\x03\x62\x61r\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06R\x01\x61R\x01\x62H\x00R\x03\x62\x61rB\x05\n\x03\x66oo\"/\n\x11StringHostAndPort\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x80\x02\x01R\x03val\"\xa4\x01\n\x19StringHostAndOptionalPort\x12\x86\x01\n\x03val\x18\x01 \x01(\tBt\xbaHq\xba\x01n\n\"string.host_and_port.optional_port\x12-value must be a host and (optional) port pair\x1a\x19this.isHostAndPort(false)R\x03val\".\n\rStringExample\x12\x1d\n\x03val\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\x92\x02\x03\x66ooR\x03valB\xce\x01\n\"com.buf.validate.conformance.casesB\x0cStringsProtoP\x01\xa2\x02\x04\x42VCC\xaa\x02\x1e\x42uf.Validate.Conformance.Cases\xca\x02\x1e\x42uf\\Validate\\Conformance\\Cases\xe2\x02*Buf\\Validate\\Conformance\\Cases\\GPBMetadata\xea\x02!Buf::Validate::Conformance::Casesb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -158,7 +158,7 @@ _globals['_STRINGHTTPHEADERVALUELOOSE'].fields_by_name['val']._loaded_options = None _globals['_STRINGHTTPHEADERVALUELOOSE'].fields_by_name['val']._serialized_options = b'\272H\010r\006\300\001\002\310\001\000' _globals['_STRINGUUIDIGNORE'].fields_by_name['val']._loaded_options = None - _globals['_STRINGUUIDIGNORE'].fields_by_name['val']._serialized_options = b'\272H\010r\003\260\001\001\320\001\001' + _globals['_STRINGUUIDIGNORE'].fields_by_name['val']._serialized_options = b'\272H\010r\003\260\001\001\330\001\001' _globals['_STRINGINONEOF'].fields_by_name['bar']._loaded_options = None _globals['_STRINGINONEOF'].fields_by_name['bar']._serialized_options = b'\272H\010r\006R\001aR\001b' _globals['_STRINGHOSTANDPORT'].fields_by_name['val']._loaded_options = None diff --git a/gen/buf/validate/validate_pb2.py b/gen/buf/validate/validate_pb2.py index 1949ae43..ea8b7ea9 100644 --- a/gen/buf/validate/validate_pb2.py +++ b/gen/buf/validate/validate_pb2.py @@ -41,7 +41,7 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1b\x62uf/validate/validate.proto\x12\x0c\x62uf.validate\x1a google/protobuf/descriptor.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"V\n\nConstraint\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message\x12\x1e\n\nexpression\x18\x03 \x01(\tR\nexpression\"\\\n\x12MessageConstraints\x12\x1a\n\x08\x64isabled\x18\x01 \x01(\x08R\x08\x64isabled\x12*\n\x03\x63\x65l\x18\x03 \x03(\x0b\x32\x18.buf.validate.ConstraintR\x03\x63\x65l\".\n\x10OneofConstraints\x12\x1a\n\x08required\x18\x01 \x01(\x08R\x08required\"\xab\n\n\x10\x46ieldConstraints\x12*\n\x03\x63\x65l\x18\x17 \x03(\x0b\x32\x18.buf.validate.ConstraintR\x03\x63\x65l\x12\x1a\n\x08required\x18\x19 \x01(\x08R\x08required\x12,\n\x06ignore\x18\x1b \x01(\x0e\x32\x14.buf.validate.IgnoreR\x06ignore\x12\x30\n\x05\x66loat\x18\x01 \x01(\x0b\x32\x18.buf.validate.FloatRulesH\x00R\x05\x66loat\x12\x33\n\x06\x64ouble\x18\x02 \x01(\x0b\x32\x19.buf.validate.DoubleRulesH\x00R\x06\x64ouble\x12\x30\n\x05int32\x18\x03 \x01(\x0b\x32\x18.buf.validate.Int32RulesH\x00R\x05int32\x12\x30\n\x05int64\x18\x04 \x01(\x0b\x32\x18.buf.validate.Int64RulesH\x00R\x05int64\x12\x33\n\x06uint32\x18\x05 \x01(\x0b\x32\x19.buf.validate.UInt32RulesH\x00R\x06uint32\x12\x33\n\x06uint64\x18\x06 \x01(\x0b\x32\x19.buf.validate.UInt64RulesH\x00R\x06uint64\x12\x33\n\x06sint32\x18\x07 \x01(\x0b\x32\x19.buf.validate.SInt32RulesH\x00R\x06sint32\x12\x33\n\x06sint64\x18\x08 \x01(\x0b\x32\x19.buf.validate.SInt64RulesH\x00R\x06sint64\x12\x36\n\x07\x66ixed32\x18\t \x01(\x0b\x32\x1a.buf.validate.Fixed32RulesH\x00R\x07\x66ixed32\x12\x36\n\x07\x66ixed64\x18\n \x01(\x0b\x32\x1a.buf.validate.Fixed64RulesH\x00R\x07\x66ixed64\x12\x39\n\x08sfixed32\x18\x0b \x01(\x0b\x32\x1b.buf.validate.SFixed32RulesH\x00R\x08sfixed32\x12\x39\n\x08sfixed64\x18\x0c \x01(\x0b\x32\x1b.buf.validate.SFixed64RulesH\x00R\x08sfixed64\x12-\n\x04\x62ool\x18\r \x01(\x0b\x32\x17.buf.validate.BoolRulesH\x00R\x04\x62ool\x12\x33\n\x06string\x18\x0e \x01(\x0b\x32\x19.buf.validate.StringRulesH\x00R\x06string\x12\x30\n\x05\x62ytes\x18\x0f \x01(\x0b\x32\x18.buf.validate.BytesRulesH\x00R\x05\x62ytes\x12-\n\x04\x65num\x18\x10 \x01(\x0b\x32\x17.buf.validate.EnumRulesH\x00R\x04\x65num\x12\x39\n\x08repeated\x18\x12 \x01(\x0b\x32\x1b.buf.validate.RepeatedRulesH\x00R\x08repeated\x12*\n\x03map\x18\x13 \x01(\x0b\x32\x16.buf.validate.MapRulesH\x00R\x03map\x12*\n\x03\x61ny\x18\x14 \x01(\x0b\x32\x16.buf.validate.AnyRulesH\x00R\x03\x61ny\x12\x39\n\x08\x64uration\x18\x15 \x01(\x0b\x32\x1b.buf.validate.DurationRulesH\x00R\x08\x64uration\x12<\n\ttimestamp\x18\x16 \x01(\x0b\x32\x1c.buf.validate.TimestampRulesH\x00R\ttimestamp\x12\x1c\n\x07skipped\x18\x18 \x01(\x08\x42\x02\x18\x01R\x07skipped\x12%\n\x0cignore_empty\x18\x1a \x01(\x08\x42\x02\x18\x01R\x0bignoreEmptyB\x06\n\x04type\"C\n\x15PredefinedConstraints\x12*\n\x03\x63\x65l\x18\x01 \x03(\x0b\x32\x18.buf.validate.ConstraintR\x03\x63\x65l\"\xea\x17\n\nFloatRules\x12p\n\x05\x63onst\x18\x01 \x01(\x02\x42Z\xc2HW\nU\n\x0b\x66loat.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\xa3\x01\n\x02lt\x18\x02 \x01(\x02\x42\x90\x01\xc2H\x8c\x01\n\x89\x01\n\x08\x66loat.lt\x1a}!has(rules.gte) && !has(rules.gt) && (this.isNan() || this >= rules.lt)? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xb4\x01\n\x03lte\x18\x03 \x01(\x02\x42\x9f\x01\xc2H\x9b\x01\n\x98\x01\n\tfloat.lte\x1a\x8a\x01!has(rules.gte) && !has(rules.gt) && (this.isNan() || this > rules.lte)? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xf3\x07\n\x02gt\x18\x04 \x01(\x02\x42\xe0\x07\xc2H\xdc\x07\n\x8d\x01\n\x08\x66loat.gt\x1a\x80\x01!has(rules.lt) && !has(rules.lte) && (this.isNan() || this <= rules.gt)? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xc3\x01\n\x0b\x66loat.gt_lt\x1a\xb3\x01has(rules.lt) && rules.lt >= rules.gt && (this.isNan() || this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xcd\x01\n\x15\x66loat.gt_lt_exclusive\x1a\xb3\x01has(rules.lt) && rules.lt < rules.gt && (this.isNan() || (rules.lt <= this && this <= rules.gt))? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xd3\x01\n\x0c\x66loat.gt_lte\x1a\xc2\x01has(rules.lte) && rules.lte >= rules.gt && (this.isNan() || this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xdd\x01\n\x16\x66loat.gt_lte_exclusive\x1a\xc2\x01has(rules.lte) && rules.lte < rules.gt && (this.isNan() || (rules.lte < this && this <= rules.gt))? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xbf\x08\n\x03gte\x18\x05 \x01(\x02\x42\xaa\x08\xc2H\xa6\x08\n\x9b\x01\n\tfloat.gte\x1a\x8d\x01!has(rules.lt) && !has(rules.lte) && (this.isNan() || this < rules.gte)? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xd2\x01\n\x0c\x66loat.gte_lt\x1a\xc1\x01has(rules.lt) && rules.lt >= rules.gte && (this.isNan() || this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xdc\x01\n\x16\x66loat.gte_lt_exclusive\x1a\xc1\x01has(rules.lt) && rules.lt < rules.gte && (this.isNan() || (rules.lt <= this && this < rules.gte))? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xe2\x01\n\rfloat.gte_lte\x1a\xd0\x01has(rules.lte) && rules.lte >= rules.gte && (this.isNan() || this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xec\x01\n\x17\x66loat.gte_lte_exclusive\x1a\xd0\x01has(rules.lte) && rules.lte < rules.gte && (this.isNan() || (rules.lte < this && this < rules.gte))? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12y\n\x02in\x18\x06 \x03(\x02\x42i\xc2Hf\nd\n\x08\x66loat.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12}\n\x06not_in\x18\x07 \x03(\x02\x42\x66\xc2Hc\na\n\x0c\x66loat.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12}\n\x06\x66inite\x18\x08 \x01(\x08\x42\x65\xc2Hb\n`\n\x0c\x66loat.finite\x1aPrules.finite ? (this.isNan() || this.isInf() ? \'value must be finite\' : \'\') : \'\'R\x06\x66inite\x12\x34\n\x07\x65xample\x18\t \x03(\x02\x42\x1a\xc2H\x17\n\x15\n\rfloat.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xfc\x17\n\x0b\x44oubleRules\x12q\n\x05\x63onst\x18\x01 \x01(\x01\x42[\xc2HX\nV\n\x0c\x64ouble.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\xa4\x01\n\x02lt\x18\x02 \x01(\x01\x42\x91\x01\xc2H\x8d\x01\n\x8a\x01\n\tdouble.lt\x1a}!has(rules.gte) && !has(rules.gt) && (this.isNan() || this >= rules.lt)? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xb5\x01\n\x03lte\x18\x03 \x01(\x01\x42\xa0\x01\xc2H\x9c\x01\n\x99\x01\n\ndouble.lte\x1a\x8a\x01!has(rules.gte) && !has(rules.gt) && (this.isNan() || this > rules.lte)? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xf8\x07\n\x02gt\x18\x04 \x01(\x01\x42\xe5\x07\xc2H\xe1\x07\n\x8e\x01\n\tdouble.gt\x1a\x80\x01!has(rules.lt) && !has(rules.lte) && (this.isNan() || this <= rules.gt)? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xc4\x01\n\x0c\x64ouble.gt_lt\x1a\xb3\x01has(rules.lt) && rules.lt >= rules.gt && (this.isNan() || this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xce\x01\n\x16\x64ouble.gt_lt_exclusive\x1a\xb3\x01has(rules.lt) && rules.lt < rules.gt && (this.isNan() || (rules.lt <= this && this <= rules.gt))? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xd4\x01\n\rdouble.gt_lte\x1a\xc2\x01has(rules.lte) && rules.lte >= rules.gt && (this.isNan() || this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xde\x01\n\x17\x64ouble.gt_lte_exclusive\x1a\xc2\x01has(rules.lte) && rules.lte < rules.gt && (this.isNan() || (rules.lte < this && this <= rules.gt))? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xc4\x08\n\x03gte\x18\x05 \x01(\x01\x42\xaf\x08\xc2H\xab\x08\n\x9c\x01\n\ndouble.gte\x1a\x8d\x01!has(rules.lt) && !has(rules.lte) && (this.isNan() || this < rules.gte)? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xd3\x01\n\rdouble.gte_lt\x1a\xc1\x01has(rules.lt) && rules.lt >= rules.gte && (this.isNan() || this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xdd\x01\n\x17\x64ouble.gte_lt_exclusive\x1a\xc1\x01has(rules.lt) && rules.lt < rules.gte && (this.isNan() || (rules.lt <= this && this < rules.gte))? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xe3\x01\n\x0e\x64ouble.gte_lte\x1a\xd0\x01has(rules.lte) && rules.lte >= rules.gte && (this.isNan() || this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xed\x01\n\x18\x64ouble.gte_lte_exclusive\x1a\xd0\x01has(rules.lte) && rules.lte < rules.gte && (this.isNan() || (rules.lte < this && this < rules.gte))? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12z\n\x02in\x18\x06 \x03(\x01\x42j\xc2Hg\ne\n\tdouble.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12~\n\x06not_in\x18\x07 \x03(\x01\x42g\xc2Hd\nb\n\rdouble.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12~\n\x06\x66inite\x18\x08 \x01(\x08\x42\x66\xc2Hc\na\n\rdouble.finite\x1aPrules.finite ? (this.isNan() || this.isInf() ? \'value must be finite\' : \'\') : \'\'R\x06\x66inite\x12\x35\n\x07\x65xample\x18\t \x03(\x01\x42\x1b\xc2H\x18\n\x16\n\x0e\x64ouble.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\x94\x15\n\nInt32Rules\x12p\n\x05\x63onst\x18\x01 \x01(\x05\x42Z\xc2HW\nU\n\x0bint32.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x8e\x01\n\x02lt\x18\x02 \x01(\x05\x42|\xc2Hy\nw\n\x08int32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa1\x01\n\x03lte\x18\x03 \x01(\x05\x42\x8c\x01\xc2H\x88\x01\n\x85\x01\n\tint32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\x9b\x07\n\x02gt\x18\x04 \x01(\x05\x42\x88\x07\xc2H\x84\x07\nz\n\x08int32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb3\x01\n\x0bint32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbb\x01\n\x15int32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc3\x01\n\x0cint32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcb\x01\n\x16int32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xe8\x07\n\x03gte\x18\x05 \x01(\x05\x42\xd3\x07\xc2H\xcf\x07\n\x88\x01\n\tint32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc2\x01\n\x0cint32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xca\x01\n\x16int32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd2\x01\n\rint32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xda\x01\n\x17int32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12y\n\x02in\x18\x06 \x03(\x05\x42i\xc2Hf\nd\n\x08int32.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12}\n\x06not_in\x18\x07 \x03(\x05\x42\x66\xc2Hc\na\n\x0cint32.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x34\n\x07\x65xample\x18\x08 \x03(\x05\x42\x1a\xc2H\x17\n\x15\n\rint32.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\x94\x15\n\nInt64Rules\x12p\n\x05\x63onst\x18\x01 \x01(\x03\x42Z\xc2HW\nU\n\x0bint64.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x8e\x01\n\x02lt\x18\x02 \x01(\x03\x42|\xc2Hy\nw\n\x08int64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa1\x01\n\x03lte\x18\x03 \x01(\x03\x42\x8c\x01\xc2H\x88\x01\n\x85\x01\n\tint64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\x9b\x07\n\x02gt\x18\x04 \x01(\x03\x42\x88\x07\xc2H\x84\x07\nz\n\x08int64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb3\x01\n\x0bint64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbb\x01\n\x15int64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc3\x01\n\x0cint64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcb\x01\n\x16int64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xe8\x07\n\x03gte\x18\x05 \x01(\x03\x42\xd3\x07\xc2H\xcf\x07\n\x88\x01\n\tint64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc2\x01\n\x0cint64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xca\x01\n\x16int64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd2\x01\n\rint64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xda\x01\n\x17int64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12y\n\x02in\x18\x06 \x03(\x03\x42i\xc2Hf\nd\n\x08int64.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12}\n\x06not_in\x18\x07 \x03(\x03\x42\x66\xc2Hc\na\n\x0cint64.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x34\n\x07\x65xample\x18\t \x03(\x03\x42\x1a\xc2H\x17\n\x15\n\rint64.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xa5\x15\n\x0bUInt32Rules\x12q\n\x05\x63onst\x18\x01 \x01(\rB[\xc2HX\nV\n\x0cuint32.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x8f\x01\n\x02lt\x18\x02 \x01(\rB}\xc2Hz\nx\n\tuint32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa2\x01\n\x03lte\x18\x03 \x01(\rB\x8d\x01\xc2H\x89\x01\n\x86\x01\n\nuint32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xa0\x07\n\x02gt\x18\x04 \x01(\rB\x8d\x07\xc2H\x89\x07\n{\n\tuint32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb4\x01\n\x0cuint32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbc\x01\n\x16uint32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc4\x01\n\ruint32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcc\x01\n\x17uint32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xed\x07\n\x03gte\x18\x05 \x01(\rB\xd8\x07\xc2H\xd4\x07\n\x89\x01\n\nuint32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc3\x01\n\ruint32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcb\x01\n\x17uint32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd3\x01\n\x0euint32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdb\x01\n\x18uint32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12z\n\x02in\x18\x06 \x03(\rBj\xc2Hg\ne\n\tuint32.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12~\n\x06not_in\x18\x07 \x03(\rBg\xc2Hd\nb\n\ruint32.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x35\n\x07\x65xample\x18\x08 \x03(\rB\x1b\xc2H\x18\n\x16\n\x0euint32.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xa5\x15\n\x0bUInt64Rules\x12q\n\x05\x63onst\x18\x01 \x01(\x04\x42[\xc2HX\nV\n\x0cuint64.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x8f\x01\n\x02lt\x18\x02 \x01(\x04\x42}\xc2Hz\nx\n\tuint64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa2\x01\n\x03lte\x18\x03 \x01(\x04\x42\x8d\x01\xc2H\x89\x01\n\x86\x01\n\nuint64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xa0\x07\n\x02gt\x18\x04 \x01(\x04\x42\x8d\x07\xc2H\x89\x07\n{\n\tuint64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb4\x01\n\x0cuint64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbc\x01\n\x16uint64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc4\x01\n\ruint64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcc\x01\n\x17uint64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xed\x07\n\x03gte\x18\x05 \x01(\x04\x42\xd8\x07\xc2H\xd4\x07\n\x89\x01\n\nuint64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc3\x01\n\ruint64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcb\x01\n\x17uint64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd3\x01\n\x0euint64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdb\x01\n\x18uint64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12z\n\x02in\x18\x06 \x03(\x04\x42j\xc2Hg\ne\n\tuint64.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12~\n\x06not_in\x18\x07 \x03(\x04\x42g\xc2Hd\nb\n\ruint64.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x35\n\x07\x65xample\x18\x08 \x03(\x04\x42\x1b\xc2H\x18\n\x16\n\x0euint64.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xa5\x15\n\x0bSInt32Rules\x12q\n\x05\x63onst\x18\x01 \x01(\x11\x42[\xc2HX\nV\n\x0csint32.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x8f\x01\n\x02lt\x18\x02 \x01(\x11\x42}\xc2Hz\nx\n\tsint32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa2\x01\n\x03lte\x18\x03 \x01(\x11\x42\x8d\x01\xc2H\x89\x01\n\x86\x01\n\nsint32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xa0\x07\n\x02gt\x18\x04 \x01(\x11\x42\x8d\x07\xc2H\x89\x07\n{\n\tsint32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb4\x01\n\x0csint32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbc\x01\n\x16sint32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc4\x01\n\rsint32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcc\x01\n\x17sint32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xed\x07\n\x03gte\x18\x05 \x01(\x11\x42\xd8\x07\xc2H\xd4\x07\n\x89\x01\n\nsint32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc3\x01\n\rsint32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcb\x01\n\x17sint32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd3\x01\n\x0esint32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdb\x01\n\x18sint32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12z\n\x02in\x18\x06 \x03(\x11\x42j\xc2Hg\ne\n\tsint32.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12~\n\x06not_in\x18\x07 \x03(\x11\x42g\xc2Hd\nb\n\rsint32.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x35\n\x07\x65xample\x18\x08 \x03(\x11\x42\x1b\xc2H\x18\n\x16\n\x0esint32.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xa5\x15\n\x0bSInt64Rules\x12q\n\x05\x63onst\x18\x01 \x01(\x12\x42[\xc2HX\nV\n\x0csint64.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x8f\x01\n\x02lt\x18\x02 \x01(\x12\x42}\xc2Hz\nx\n\tsint64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa2\x01\n\x03lte\x18\x03 \x01(\x12\x42\x8d\x01\xc2H\x89\x01\n\x86\x01\n\nsint64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xa0\x07\n\x02gt\x18\x04 \x01(\x12\x42\x8d\x07\xc2H\x89\x07\n{\n\tsint64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb4\x01\n\x0csint64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbc\x01\n\x16sint64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc4\x01\n\rsint64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcc\x01\n\x17sint64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xed\x07\n\x03gte\x18\x05 \x01(\x12\x42\xd8\x07\xc2H\xd4\x07\n\x89\x01\n\nsint64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc3\x01\n\rsint64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcb\x01\n\x17sint64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd3\x01\n\x0esint64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdb\x01\n\x18sint64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12z\n\x02in\x18\x06 \x03(\x12\x42j\xc2Hg\ne\n\tsint64.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12~\n\x06not_in\x18\x07 \x03(\x12\x42g\xc2Hd\nb\n\rsint64.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x35\n\x07\x65xample\x18\x08 \x03(\x12\x42\x1b\xc2H\x18\n\x16\n\x0esint64.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xb6\x15\n\x0c\x46ixed32Rules\x12r\n\x05\x63onst\x18\x01 \x01(\x07\x42\\\xc2HY\nW\n\rfixed32.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x90\x01\n\x02lt\x18\x02 \x01(\x07\x42~\xc2H{\ny\n\nfixed32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa3\x01\n\x03lte\x18\x03 \x01(\x07\x42\x8e\x01\xc2H\x8a\x01\n\x87\x01\n\x0b\x66ixed32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xa5\x07\n\x02gt\x18\x04 \x01(\x07\x42\x92\x07\xc2H\x8e\x07\n|\n\nfixed32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb5\x01\n\rfixed32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbd\x01\n\x17\x66ixed32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc5\x01\n\x0e\x66ixed32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcd\x01\n\x18\x66ixed32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xf2\x07\n\x03gte\x18\x05 \x01(\x07\x42\xdd\x07\xc2H\xd9\x07\n\x8a\x01\n\x0b\x66ixed32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc4\x01\n\x0e\x66ixed32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcc\x01\n\x18\x66ixed32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd4\x01\n\x0f\x66ixed32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdc\x01\n\x19\x66ixed32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12{\n\x02in\x18\x06 \x03(\x07\x42k\xc2Hh\nf\n\nfixed32.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12\x7f\n\x06not_in\x18\x07 \x03(\x07\x42h\xc2He\nc\n\x0e\x66ixed32.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x36\n\x07\x65xample\x18\x08 \x03(\x07\x42\x1c\xc2H\x19\n\x17\n\x0f\x66ixed32.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xb6\x15\n\x0c\x46ixed64Rules\x12r\n\x05\x63onst\x18\x01 \x01(\x06\x42\\\xc2HY\nW\n\rfixed64.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x90\x01\n\x02lt\x18\x02 \x01(\x06\x42~\xc2H{\ny\n\nfixed64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa3\x01\n\x03lte\x18\x03 \x01(\x06\x42\x8e\x01\xc2H\x8a\x01\n\x87\x01\n\x0b\x66ixed64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xa5\x07\n\x02gt\x18\x04 \x01(\x06\x42\x92\x07\xc2H\x8e\x07\n|\n\nfixed64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb5\x01\n\rfixed64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbd\x01\n\x17\x66ixed64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc5\x01\n\x0e\x66ixed64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcd\x01\n\x18\x66ixed64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xf2\x07\n\x03gte\x18\x05 \x01(\x06\x42\xdd\x07\xc2H\xd9\x07\n\x8a\x01\n\x0b\x66ixed64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc4\x01\n\x0e\x66ixed64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcc\x01\n\x18\x66ixed64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd4\x01\n\x0f\x66ixed64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdc\x01\n\x19\x66ixed64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12{\n\x02in\x18\x06 \x03(\x06\x42k\xc2Hh\nf\n\nfixed64.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12\x7f\n\x06not_in\x18\x07 \x03(\x06\x42h\xc2He\nc\n\x0e\x66ixed64.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x36\n\x07\x65xample\x18\x08 \x03(\x06\x42\x1c\xc2H\x19\n\x17\n\x0f\x66ixed64.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xc8\x15\n\rSFixed32Rules\x12s\n\x05\x63onst\x18\x01 \x01(\x0f\x42]\xc2HZ\nX\n\x0esfixed32.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x91\x01\n\x02lt\x18\x02 \x01(\x0f\x42\x7f\xc2H|\nz\n\x0bsfixed32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa4\x01\n\x03lte\x18\x03 \x01(\x0f\x42\x8f\x01\xc2H\x8b\x01\n\x88\x01\n\x0csfixed32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xaa\x07\n\x02gt\x18\x04 \x01(\x0f\x42\x97\x07\xc2H\x93\x07\n}\n\x0bsfixed32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb6\x01\n\x0esfixed32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbe\x01\n\x18sfixed32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc6\x01\n\x0fsfixed32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xce\x01\n\x19sfixed32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xf7\x07\n\x03gte\x18\x05 \x01(\x0f\x42\xe2\x07\xc2H\xde\x07\n\x8b\x01\n\x0csfixed32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc5\x01\n\x0fsfixed32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcd\x01\n\x19sfixed32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd5\x01\n\x10sfixed32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdd\x01\n\x1asfixed32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12|\n\x02in\x18\x06 \x03(\x0f\x42l\xc2Hi\ng\n\x0bsfixed32.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12\x80\x01\n\x06not_in\x18\x07 \x03(\x0f\x42i\xc2Hf\nd\n\x0fsfixed32.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x37\n\x07\x65xample\x18\x08 \x03(\x0f\x42\x1d\xc2H\x1a\n\x18\n\x10sfixed32.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xc8\x15\n\rSFixed64Rules\x12s\n\x05\x63onst\x18\x01 \x01(\x10\x42]\xc2HZ\nX\n\x0esfixed64.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x91\x01\n\x02lt\x18\x02 \x01(\x10\x42\x7f\xc2H|\nz\n\x0bsfixed64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa4\x01\n\x03lte\x18\x03 \x01(\x10\x42\x8f\x01\xc2H\x8b\x01\n\x88\x01\n\x0csfixed64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xaa\x07\n\x02gt\x18\x04 \x01(\x10\x42\x97\x07\xc2H\x93\x07\n}\n\x0bsfixed64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb6\x01\n\x0esfixed64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbe\x01\n\x18sfixed64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc6\x01\n\x0fsfixed64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xce\x01\n\x19sfixed64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xf7\x07\n\x03gte\x18\x05 \x01(\x10\x42\xe2\x07\xc2H\xde\x07\n\x8b\x01\n\x0csfixed64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc5\x01\n\x0fsfixed64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcd\x01\n\x19sfixed64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd5\x01\n\x10sfixed64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdd\x01\n\x1asfixed64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12|\n\x02in\x18\x06 \x03(\x10\x42l\xc2Hi\ng\n\x0bsfixed64.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12\x80\x01\n\x06not_in\x18\x07 \x03(\x10\x42i\xc2Hf\nd\n\x0fsfixed64.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x37\n\x07\x65xample\x18\x08 \x03(\x10\x42\x1d\xc2H\x1a\n\x18\n\x10sfixed64.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xbc\x01\n\tBoolRules\x12o\n\x05\x63onst\x18\x01 \x01(\x08\x42Y\xc2HV\nT\n\nbool.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x33\n\x07\x65xample\x18\x02 \x03(\x08\x42\x19\xc2H\x16\n\x14\n\x0c\x62ool.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xa1\x39\n\x0bStringRules\x12s\n\x05\x63onst\x18\x01 \x01(\tB]\xc2HZ\nX\n\x0cstring.const\x1aHthis != rules.const ? \'value must equal `%s`\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x83\x01\n\x03len\x18\x13 \x01(\x04\x42q\xc2Hn\nl\n\nstring.len\x1a^uint(this.size()) != rules.len ? \'value length must be %s characters\'.format([rules.len]) : \'\'R\x03len\x12\xa1\x01\n\x07min_len\x18\x02 \x01(\x04\x42\x87\x01\xc2H\x83\x01\n\x80\x01\n\x0estring.min_len\x1anuint(this.size()) < rules.min_len ? \'value length must be at least %s characters\'.format([rules.min_len]) : \'\'R\x06minLen\x12\x9f\x01\n\x07max_len\x18\x03 \x01(\x04\x42\x85\x01\xc2H\x81\x01\n\x7f\n\x0estring.max_len\x1amuint(this.size()) > rules.max_len ? \'value length must be at most %s characters\'.format([rules.max_len]) : \'\'R\x06maxLen\x12\xa5\x01\n\tlen_bytes\x18\x14 \x01(\x04\x42\x87\x01\xc2H\x83\x01\n\x80\x01\n\x10string.len_bytes\x1aluint(bytes(this).size()) != rules.len_bytes ? \'value length must be %s bytes\'.format([rules.len_bytes]) : \'\'R\x08lenBytes\x12\xad\x01\n\tmin_bytes\x18\x04 \x01(\x04\x42\x8f\x01\xc2H\x8b\x01\n\x88\x01\n\x10string.min_bytes\x1atuint(bytes(this).size()) < rules.min_bytes ? \'value length must be at least %s bytes\'.format([rules.min_bytes]) : \'\'R\x08minBytes\x12\xac\x01\n\tmax_bytes\x18\x05 \x01(\x04\x42\x8e\x01\xc2H\x8a\x01\n\x87\x01\n\x10string.max_bytes\x1asuint(bytes(this).size()) > rules.max_bytes ? \'value length must be at most %s bytes\'.format([rules.max_bytes]) : \'\'R\x08maxBytes\x12\x96\x01\n\x07pattern\x18\x06 \x01(\tB|\xc2Hy\nw\n\x0estring.pattern\x1a\x65!this.matches(rules.pattern) ? \'value does not match regex pattern `%s`\'.format([rules.pattern]) : \'\'R\x07pattern\x12\x8c\x01\n\x06prefix\x18\x07 \x01(\tBt\xc2Hq\no\n\rstring.prefix\x1a^!this.startsWith(rules.prefix) ? \'value does not have prefix `%s`\'.format([rules.prefix]) : \'\'R\x06prefix\x12\x8a\x01\n\x06suffix\x18\x08 \x01(\tBr\xc2Ho\nm\n\rstring.suffix\x1a\\!this.endsWith(rules.suffix) ? \'value does not have suffix `%s`\'.format([rules.suffix]) : \'\'R\x06suffix\x12\x9a\x01\n\x08\x63ontains\x18\t \x01(\tB~\xc2H{\ny\n\x0fstring.contains\x1a\x66!this.contains(rules.contains) ? \'value does not contain substring `%s`\'.format([rules.contains]) : \'\'R\x08\x63ontains\x12\xa5\x01\n\x0cnot_contains\x18\x17 \x01(\tB\x81\x01\xc2H~\n|\n\x13string.not_contains\x1a\x65this.contains(rules.not_contains) ? \'value contains substring `%s`\'.format([rules.not_contains]) : \'\'R\x0bnotContains\x12z\n\x02in\x18\n \x03(\tBj\xc2Hg\ne\n\tstring.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12~\n\x06not_in\x18\x0b \x03(\tBg\xc2Hd\nb\n\rstring.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\xe6\x01\n\x05\x65mail\x18\x0c \x01(\x08\x42\xcd\x01\xc2H\xc9\x01\na\n\x0cstring.email\x12#value must be a valid email address\x1a,!rules.email || this == \'\' || this.isEmail()\nd\n\x12string.email_empty\x12\x32value is empty, which is not a valid email address\x1a\x1a!rules.email || this != \'\'H\x00R\x05\x65mail\x12\xf1\x01\n\x08hostname\x18\r \x01(\x08\x42\xd2\x01\xc2H\xce\x01\ne\n\x0fstring.hostname\x12\x1evalue must be a valid hostname\x1a\x32!rules.hostname || this == \'\' || this.isHostname()\ne\n\x15string.hostname_empty\x12-value is empty, which is not a valid hostname\x1a\x1d!rules.hostname || this != \'\'H\x00R\x08hostname\x12\xcb\x01\n\x02ip\x18\x0e \x01(\x08\x42\xb8\x01\xc2H\xb4\x01\nU\n\tstring.ip\x12 value must be a valid IP address\x1a&!rules.ip || this == \'\' || this.isIp()\n[\n\x0fstring.ip_empty\x12/value is empty, which is not a valid IP address\x1a\x17!rules.ip || this != \'\'H\x00R\x02ip\x12\xdc\x01\n\x04ipv4\x18\x0f \x01(\x08\x42\xc5\x01\xc2H\xc1\x01\n\\\n\x0bstring.ipv4\x12\"value must be a valid IPv4 address\x1a)!rules.ipv4 || this == \'\' || this.isIp(4)\na\n\x11string.ipv4_empty\x12\x31value is empty, which is not a valid IPv4 address\x1a\x19!rules.ipv4 || this != \'\'H\x00R\x04ipv4\x12\xdc\x01\n\x04ipv6\x18\x10 \x01(\x08\x42\xc5\x01\xc2H\xc1\x01\n\\\n\x0bstring.ipv6\x12\"value must be a valid IPv6 address\x1a)!rules.ipv6 || this == \'\' || this.isIp(6)\na\n\x11string.ipv6_empty\x12\x31value is empty, which is not a valid IPv6 address\x1a\x19!rules.ipv6 || this != \'\'H\x00R\x04ipv6\x12\xc4\x01\n\x03uri\x18\x11 \x01(\x08\x42\xaf\x01\xc2H\xab\x01\nQ\n\nstring.uri\x12\x19value must be a valid URI\x1a(!rules.uri || this == \'\' || this.isUri()\nV\n\x10string.uri_empty\x12(value is empty, which is not a valid URI\x1a\x18!rules.uri || this != \'\'H\x00R\x03uri\x12n\n\x07uri_ref\x18\x12 \x01(\x08\x42S\xc2HP\nN\n\x0estring.uri_ref\x12\x19value must be a valid URI\x1a!!rules.uri_ref || this.isUriRef()H\x00R\x06uriRef\x12\x99\x02\n\x07\x61\x64\x64ress\x18\x15 \x01(\x08\x42\xfc\x01\xc2H\xf8\x01\n\x81\x01\n\x0estring.address\x12-value must be a valid hostname, or ip address\x1a@!rules.address || this == \'\' || this.isHostname() || this.isIp()\nr\n\x14string.address_empty\x12!rules.ipv4_with_prefixlen || this == \'\' || this.isIpPrefix(4)\n\x92\x01\n string.ipv4_with_prefixlen_empty\x12\x44value is empty, which is not a valid IPv4 address with prefix length\x1a(!rules.ipv4_with_prefixlen || this != \'\'H\x00R\x11ipv4WithPrefixlen\x12\xe2\x02\n\x13ipv6_with_prefixlen\x18\x1c \x01(\x08\x42\xaf\x02\xc2H\xab\x02\n\x93\x01\n\x1astring.ipv6_with_prefixlen\x12\x35value must be a valid IPv6 address with prefix length\x1a>!rules.ipv6_with_prefixlen || this == \'\' || this.isIpPrefix(6)\n\x92\x01\n string.ipv6_with_prefixlen_empty\x12\x44value is empty, which is not a valid IPv6 address with prefix length\x1a(!rules.ipv6_with_prefixlen || this != \'\'H\x00R\x11ipv6WithPrefixlen\x12\xfc\x01\n\tip_prefix\x18\x1d \x01(\x08\x42\xdc\x01\xc2H\xd8\x01\nl\n\x10string.ip_prefix\x12\x1fvalue must be a valid IP prefix\x1a\x37!rules.ip_prefix || this == \'\' || this.isIpPrefix(true)\nh\n\x16string.ip_prefix_empty\x12.value is empty, which is not a valid IP prefix\x1a\x1e!rules.ip_prefix || this != \'\'H\x00R\x08ipPrefix\x12\x8f\x02\n\x0bipv4_prefix\x18\x1e \x01(\x08\x42\xeb\x01\xc2H\xe7\x01\nu\n\x12string.ipv4_prefix\x12!value must be a valid IPv4 prefix\x1a!rules.host_and_port || this == \'\' || this.isHostAndPort(true)\ny\n\x1astring.host_and_port_empty\x12\x37value is empty, which is not a valid host and port pair\x1a\"!rules.host_and_port || this != \'\'H\x00R\x0bhostAndPort\x12\xb8\x05\n\x10well_known_regex\x18\x18 \x01(\x0e\x32\x18.buf.validate.KnownRegexB\xf1\x04\xc2H\xed\x04\n\xf0\x01\n#string.well_known_regex.header_name\x12&value must be a valid HTTP header name\x1a\xa0\x01rules.well_known_regex != 1 || this == \'\' || this.matches(!has(rules.strict) || rules.strict ?\'^:?[0-9a-zA-Z!#$%&\\\'*+-.^_|~\\x60]+$\' :\'^[^\\u0000\\u000A\\u000D]+$\')\n\x8d\x01\n)string.well_known_regex.header_name_empty\x12\x35value is empty, which is not a valid HTTP header name\x1a)rules.well_known_regex != 1 || this != \'\'\n\xe7\x01\n$string.well_known_regex.header_value\x12\'value must be a valid HTTP header value\x1a\x95\x01rules.well_known_regex != 2 || this.matches(!has(rules.strict) || rules.strict ?\'^[^\\u0000-\\u0008\\u000A-\\u001F\\u007F]*$\' :\'^[^\\u0000\\u000A\\u000D]*$\')H\x00R\x0ewellKnownRegex\x12\x16\n\x06strict\x18\x19 \x01(\x08R\x06strict\x12\x35\n\x07\x65xample\x18\" \x03(\tB\x1b\xc2H\x18\n\x16\n\x0estring.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0c\n\nwell_known\"\xa3\x11\n\nBytesRules\x12m\n\x05\x63onst\x18\x01 \x01(\x0c\x42W\xc2HT\nR\n\x0b\x62ytes.const\x1a\x43this != rules.const ? \'value must be %x\'.format([rules.const]) : \'\'R\x05\x63onst\x12}\n\x03len\x18\r \x01(\x04\x42k\xc2Hh\nf\n\tbytes.len\x1aYuint(this.size()) != rules.len ? \'value length must be %s bytes\'.format([rules.len]) : \'\'R\x03len\x12\x98\x01\n\x07min_len\x18\x02 \x01(\x04\x42\x7f\xc2H|\nz\n\rbytes.min_len\x1aiuint(this.size()) < rules.min_len ? \'value length must be at least %s bytes\'.format([rules.min_len]) : \'\'R\x06minLen\x12\x90\x01\n\x07max_len\x18\x03 \x01(\x04\x42w\xc2Ht\nr\n\rbytes.max_len\x1a\x61uint(this.size()) > rules.max_len ? \'value must be at most %s bytes\'.format([rules.max_len]) : \'\'R\x06maxLen\x12\x99\x01\n\x07pattern\x18\x04 \x01(\tB\x7f\xc2H|\nz\n\rbytes.pattern\x1ai!string(this).matches(rules.pattern) ? \'value must match regex pattern `%s`\'.format([rules.pattern]) : \'\'R\x07pattern\x12\x89\x01\n\x06prefix\x18\x05 \x01(\x0c\x42q\xc2Hn\nl\n\x0c\x62ytes.prefix\x1a\\!this.startsWith(rules.prefix) ? \'value does not have prefix %x\'.format([rules.prefix]) : \'\'R\x06prefix\x12\x87\x01\n\x06suffix\x18\x06 \x01(\x0c\x42o\xc2Hl\nj\n\x0c\x62ytes.suffix\x1aZ!this.endsWith(rules.suffix) ? \'value does not have suffix %x\'.format([rules.suffix]) : \'\'R\x06suffix\x12\x8d\x01\n\x08\x63ontains\x18\x07 \x01(\x0c\x42q\xc2Hn\nl\n\x0e\x62ytes.contains\x1aZ!this.contains(rules.contains) ? \'value does not contain %x\'.format([rules.contains]) : \'\'R\x08\x63ontains\x12\x9b\x01\n\x02in\x18\x08 \x03(\x0c\x42\x8a\x01\xc2H\x86\x01\n\x83\x01\n\x08\x62ytes.in\x1awdyn(rules)[\'in\'].size() > 0 && !(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12}\n\x06not_in\x18\t \x03(\x0c\x42\x66\xc2Hc\na\n\x0c\x62ytes.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\xef\x01\n\x02ip\x18\n \x01(\x08\x42\xdc\x01\xc2H\xd8\x01\nt\n\x08\x62ytes.ip\x12 value must be a valid IP address\x1a\x46!rules.ip || this.size() == 0 || this.size() == 4 || this.size() == 16\n`\n\x0e\x62ytes.ip_empty\x12/value is empty, which is not a valid IP address\x1a\x1d!rules.ip || this.size() != 0H\x00R\x02ip\x12\xea\x01\n\x04ipv4\x18\x0b \x01(\x08\x42\xd3\x01\xc2H\xcf\x01\ne\n\nbytes.ipv4\x12\"value must be a valid IPv4 address\x1a\x33!rules.ipv4 || this.size() == 0 || this.size() == 4\nf\n\x10\x62ytes.ipv4_empty\x12\x31value is empty, which is not a valid IPv4 address\x1a\x1f!rules.ipv4 || this.size() != 0H\x00R\x04ipv4\x12\xeb\x01\n\x04ipv6\x18\x0c \x01(\x08\x42\xd4\x01\xc2H\xd0\x01\nf\n\nbytes.ipv6\x12\"value must be a valid IPv6 address\x1a\x34!rules.ipv6 || this.size() == 0 || this.size() == 16\nf\n\x10\x62ytes.ipv6_empty\x12\x31value is empty, which is not a valid IPv6 address\x1a\x1f!rules.ipv6 || this.size() != 0H\x00R\x04ipv6\x12\x34\n\x07\x65xample\x18\x0e \x03(\x0c\x42\x1a\xc2H\x17\n\x15\n\rbytes.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0c\n\nwell_known\"\xd7\x03\n\tEnumRules\x12o\n\x05\x63onst\x18\x01 \x01(\x05\x42Y\xc2HV\nT\n\nenum.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12!\n\x0c\x64\x65\x66ined_only\x18\x02 \x01(\x08R\x0b\x64\x65\x66inedOnly\x12x\n\x02in\x18\x03 \x03(\x05\x42h\xc2He\nc\n\x07\x65num.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12|\n\x06not_in\x18\x04 \x03(\x05\x42\x65\xc2Hb\n`\n\x0b\x65num.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x33\n\x07\x65xample\x18\x05 \x03(\x05\x42\x19\xc2H\x16\n\x14\n\x0c\x65num.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xa4\x04\n\rRepeatedRules\x12\xa8\x01\n\tmin_items\x18\x01 \x01(\x04\x42\x8a\x01\xc2H\x86\x01\n\x83\x01\n\x12repeated.min_items\x1amuint(this.size()) < rules.min_items ? \'value must contain at least %d item(s)\'.format([rules.min_items]) : \'\'R\x08minItems\x12\xac\x01\n\tmax_items\x18\x02 \x01(\x04\x42\x8e\x01\xc2H\x8a\x01\n\x87\x01\n\x12repeated.max_items\x1aquint(this.size()) > rules.max_items ? \'value must contain no more than %s item(s)\'.format([rules.max_items]) : \'\'R\x08maxItems\x12x\n\x06unique\x18\x03 \x01(\x08\x42`\xc2H]\n[\n\x0frepeated.unique\x12(repeated value must contain unique items\x1a\x1e!rules.unique || this.unique()R\x06unique\x12\x34\n\x05items\x18\x04 \x01(\x0b\x32\x1e.buf.validate.FieldConstraintsR\x05items*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xb8\x03\n\x08MapRules\x12\x99\x01\n\tmin_pairs\x18\x01 \x01(\x04\x42|\xc2Hy\nw\n\rmap.min_pairs\x1a\x66uint(this.size()) < rules.min_pairs ? \'map must be at least %d entries\'.format([rules.min_pairs]) : \'\'R\x08minPairs\x12\x98\x01\n\tmax_pairs\x18\x02 \x01(\x04\x42{\xc2Hx\nv\n\rmap.max_pairs\x1a\x65uint(this.size()) > rules.max_pairs ? \'map must be at most %d entries\'.format([rules.max_pairs]) : \'\'R\x08maxPairs\x12\x32\n\x04keys\x18\x04 \x01(\x0b\x32\x1e.buf.validate.FieldConstraintsR\x04keys\x12\x36\n\x06values\x18\x05 \x01(\x0b\x32\x1e.buf.validate.FieldConstraintsR\x06values*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"1\n\x08\x41nyRules\x12\x0e\n\x02in\x18\x02 \x03(\tR\x02in\x12\x15\n\x06not_in\x18\x03 \x03(\tR\x05notIn\"\xa2\x17\n\rDurationRules\x12\x8e\x01\n\x05\x63onst\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB]\xc2HZ\nX\n\x0e\x64uration.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\xac\x01\n\x02lt\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationB\x7f\xc2H|\nz\n\x0b\x64uration.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xbf\x01\n\x03lte\x18\x04 \x01(\x0b\x32\x19.google.protobuf.DurationB\x8f\x01\xc2H\x8b\x01\n\x88\x01\n\x0c\x64uration.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xc5\x07\n\x02gt\x18\x05 \x01(\x0b\x32\x19.google.protobuf.DurationB\x97\x07\xc2H\x93\x07\n}\n\x0b\x64uration.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb6\x01\n\x0e\x64uration.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbe\x01\n\x18\x64uration.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc6\x01\n\x0f\x64uration.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xce\x01\n\x19\x64uration.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\x92\x08\n\x03gte\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationB\xe2\x07\xc2H\xde\x07\n\x8b\x01\n\x0c\x64uration.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc5\x01\n\x0f\x64uration.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcd\x01\n\x19\x64uration.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd5\x01\n\x10\x64uration.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdd\x01\n\x1a\x64uration.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12\x97\x01\n\x02in\x18\x07 \x03(\x0b\x32\x19.google.protobuf.DurationBl\xc2Hi\ng\n\x0b\x64uration.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12\x9b\x01\n\x06not_in\x18\x08 \x03(\x0b\x32\x19.google.protobuf.DurationBi\xc2Hf\nd\n\x0f\x64uration.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12R\n\x07\x65xample\x18\t \x03(\x0b\x32\x19.google.protobuf.DurationB\x1d\xc2H\x1a\n\x18\n\x10\x64uration.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xb0\x18\n\x0eTimestampRules\x12\x90\x01\n\x05\x63onst\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB^\xc2H[\nY\n\x0ftimestamp.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\xaf\x01\n\x02lt\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x80\x01\xc2H}\n{\n\x0ctimestamp.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xc1\x01\n\x03lte\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x90\x01\xc2H\x8c\x01\n\x89\x01\n\rtimestamp.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12s\n\x06lt_now\x18\x07 \x01(\x08\x42Z\xc2HW\nU\n\x10timestamp.lt_now\x1a\x41(rules.lt_now && this > now) ? \'value must be less than now\' : \'\'H\x00R\x05ltNow\x12\xcb\x07\n\x02gt\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x9c\x07\xc2H\x98\x07\n~\n\x0ctimestamp.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb7\x01\n\x0ftimestamp.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbf\x01\n\x19timestamp.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc7\x01\n\x10timestamp.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcf\x01\n\x1atimestamp.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\x98\x08\n\x03gte\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\xe7\x07\xc2H\xe3\x07\n\x8c\x01\n\rtimestamp.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc6\x01\n\x10timestamp.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xce\x01\n\x1atimestamp.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd6\x01\n\x11timestamp.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xde\x01\n\x1btimestamp.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12v\n\x06gt_now\x18\x08 \x01(\x08\x42]\xc2HZ\nX\n\x10timestamp.gt_now\x1a\x44(rules.gt_now && this < now) ? \'value must be greater than now\' : \'\'H\x01R\x05gtNow\x12\xc0\x01\n\x06within\x18\t \x01(\x0b\x32\x19.google.protobuf.DurationB\x8c\x01\xc2H\x88\x01\n\x85\x01\n\x10timestamp.within\x1aqthis < now-rules.within || this > now+rules.within ? \'value must be within %s of now\'.format([rules.within]) : \'\'R\x06within\x12T\n\x07\x65xample\x18\n \x03(\x0b\x32\x1a.google.protobuf.TimestampB\x1e\xc2H\x1b\n\x19\n\x11timestamp.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"E\n\nViolations\x12\x37\n\nviolations\x18\x01 \x03(\x0b\x32\x17.buf.validate.ViolationR\nviolations\"\xe2\x01\n\tViolation\x12-\n\x05\x66ield\x18\x05 \x01(\x0b\x32\x17.buf.validate.FieldPathR\x05\x66ield\x12+\n\x04rule\x18\x06 \x01(\x0b\x32\x17.buf.validate.FieldPathR\x04rule\x12!\n\nfield_path\x18\x01 \x01(\tB\x02\x18\x01R\tfieldPath\x12#\n\rconstraint_id\x18\x02 \x01(\tR\x0c\x63onstraintId\x12\x18\n\x07message\x18\x03 \x01(\tR\x07message\x12\x17\n\x07\x66or_key\x18\x04 \x01(\x08R\x06\x66orKey\"G\n\tFieldPath\x12:\n\x08\x65lements\x18\x01 \x03(\x0b\x32\x1e.buf.validate.FieldPathElementR\x08\x65lements\"\xcc\x03\n\x10\x46ieldPathElement\x12!\n\x0c\x66ield_number\x18\x01 \x01(\x05R\x0b\x66ieldNumber\x12\x1d\n\nfield_name\x18\x02 \x01(\tR\tfieldName\x12I\n\nfield_type\x18\x03 \x01(\x0e\x32*.google.protobuf.FieldDescriptorProto.TypeR\tfieldType\x12\x45\n\x08key_type\x18\x04 \x01(\x0e\x32*.google.protobuf.FieldDescriptorProto.TypeR\x07keyType\x12I\n\nvalue_type\x18\x05 \x01(\x0e\x32*.google.protobuf.FieldDescriptorProto.TypeR\tvalueType\x12\x16\n\x05index\x18\x06 \x01(\x04H\x00R\x05index\x12\x1b\n\x08\x62ool_key\x18\x07 \x01(\x08H\x00R\x07\x62oolKey\x12\x19\n\x07int_key\x18\x08 \x01(\x03H\x00R\x06intKey\x12\x1b\n\x08uint_key\x18\t \x01(\x04H\x00R\x07uintKey\x12\x1f\n\nstring_key\x18\n \x01(\tH\x00R\tstringKeyB\x0b\n\tsubscript*\x9d\x01\n\x06Ignore\x12\x16\n\x12IGNORE_UNSPECIFIED\x10\x00\x12\x19\n\x15IGNORE_IF_UNPOPULATED\x10\x01\x12\x1b\n\x17IGNORE_IF_DEFAULT_VALUE\x10\x02\x12\x11\n\rIGNORE_ALWAYS\x10\x03\x12\x14\n\x0cIGNORE_EMPTY\x10\x01\x1a\x02\x08\x01\x12\x16\n\x0eIGNORE_DEFAULT\x10\x02\x1a\x02\x08\x01\x1a\x02\x10\x01*n\n\nKnownRegex\x12\x1b\n\x17KNOWN_REGEX_UNSPECIFIED\x10\x00\x12 \n\x1cKNOWN_REGEX_HTTP_HEADER_NAME\x10\x01\x12!\n\x1dKNOWN_REGEX_HTTP_HEADER_VALUE\x10\x02:\\\n\x07message\x12\x1f.google.protobuf.MessageOptions\x18\x87\t \x01(\x0b\x32 .buf.validate.MessageConstraintsR\x07message:T\n\x05oneof\x12\x1d.google.protobuf.OneofOptions\x18\x87\t \x01(\x0b\x32\x1e.buf.validate.OneofConstraintsR\x05oneof:T\n\x05\x66ield\x12\x1d.google.protobuf.FieldOptions\x18\x87\t \x01(\x0b\x32\x1e.buf.validate.FieldConstraintsR\x05\x66ield:c\n\npredefined\x12\x1d.google.protobuf.FieldOptions\x18\x88\t \x01(\x0b\x32#.buf.validate.PredefinedConstraintsR\npredefinedB\xbb\x01\n\x10\x63om.buf.validateB\rValidateProtoP\x01ZGbuf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate\xa2\x02\x03\x42VX\xaa\x02\x0c\x42uf.Validate\xca\x02\x0c\x42uf\\Validate\xe2\x02\x18\x42uf\\Validate\\GPBMetadata\xea\x02\rBuf::Validate') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1b\x62uf/validate/validate.proto\x12\x0c\x62uf.validate\x1a google/protobuf/descriptor.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"V\n\nConstraint\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message\x12\x1e\n\nexpression\x18\x03 \x01(\tR\nexpression\"\\\n\x12MessageConstraints\x12\x1a\n\x08\x64isabled\x18\x01 \x01(\x08R\x08\x64isabled\x12*\n\x03\x63\x65l\x18\x03 \x03(\x0b\x32\x18.buf.validate.ConstraintR\x03\x63\x65l\".\n\x10OneofConstraints\x12\x1a\n\x08required\x18\x01 \x01(\x08R\x08required\"\xe6\t\n\x10\x46ieldConstraints\x12*\n\x03\x63\x65l\x18\x17 \x03(\x0b\x32\x18.buf.validate.ConstraintR\x03\x63\x65l\x12\x1a\n\x08required\x18\x19 \x01(\x08R\x08required\x12,\n\x06ignore\x18\x1b \x01(\x0e\x32\x14.buf.validate.IgnoreR\x06ignore\x12\x30\n\x05\x66loat\x18\x01 \x01(\x0b\x32\x18.buf.validate.FloatRulesH\x00R\x05\x66loat\x12\x33\n\x06\x64ouble\x18\x02 \x01(\x0b\x32\x19.buf.validate.DoubleRulesH\x00R\x06\x64ouble\x12\x30\n\x05int32\x18\x03 \x01(\x0b\x32\x18.buf.validate.Int32RulesH\x00R\x05int32\x12\x30\n\x05int64\x18\x04 \x01(\x0b\x32\x18.buf.validate.Int64RulesH\x00R\x05int64\x12\x33\n\x06uint32\x18\x05 \x01(\x0b\x32\x19.buf.validate.UInt32RulesH\x00R\x06uint32\x12\x33\n\x06uint64\x18\x06 \x01(\x0b\x32\x19.buf.validate.UInt64RulesH\x00R\x06uint64\x12\x33\n\x06sint32\x18\x07 \x01(\x0b\x32\x19.buf.validate.SInt32RulesH\x00R\x06sint32\x12\x33\n\x06sint64\x18\x08 \x01(\x0b\x32\x19.buf.validate.SInt64RulesH\x00R\x06sint64\x12\x36\n\x07\x66ixed32\x18\t \x01(\x0b\x32\x1a.buf.validate.Fixed32RulesH\x00R\x07\x66ixed32\x12\x36\n\x07\x66ixed64\x18\n \x01(\x0b\x32\x1a.buf.validate.Fixed64RulesH\x00R\x07\x66ixed64\x12\x39\n\x08sfixed32\x18\x0b \x01(\x0b\x32\x1b.buf.validate.SFixed32RulesH\x00R\x08sfixed32\x12\x39\n\x08sfixed64\x18\x0c \x01(\x0b\x32\x1b.buf.validate.SFixed64RulesH\x00R\x08sfixed64\x12-\n\x04\x62ool\x18\r \x01(\x0b\x32\x17.buf.validate.BoolRulesH\x00R\x04\x62ool\x12\x33\n\x06string\x18\x0e \x01(\x0b\x32\x19.buf.validate.StringRulesH\x00R\x06string\x12\x30\n\x05\x62ytes\x18\x0f \x01(\x0b\x32\x18.buf.validate.BytesRulesH\x00R\x05\x62ytes\x12-\n\x04\x65num\x18\x10 \x01(\x0b\x32\x17.buf.validate.EnumRulesH\x00R\x04\x65num\x12\x39\n\x08repeated\x18\x12 \x01(\x0b\x32\x1b.buf.validate.RepeatedRulesH\x00R\x08repeated\x12*\n\x03map\x18\x13 \x01(\x0b\x32\x16.buf.validate.MapRulesH\x00R\x03map\x12*\n\x03\x61ny\x18\x14 \x01(\x0b\x32\x16.buf.validate.AnyRulesH\x00R\x03\x61ny\x12\x39\n\x08\x64uration\x18\x15 \x01(\x0b\x32\x1b.buf.validate.DurationRulesH\x00R\x08\x64uration\x12<\n\ttimestamp\x18\x16 \x01(\x0b\x32\x1c.buf.validate.TimestampRulesH\x00R\ttimestampB\x06\n\x04type\"d\n\x15PredefinedConstraints\x12*\n\x03\x63\x65l\x18\x01 \x03(\x0b\x32\x18.buf.validate.ConstraintR\x03\x63\x65lJ\x04\x08\x18\x10\x19J\x04\x08\x1a\x10\x1bR\x13skippedignore_empty\"\xea\x17\n\nFloatRules\x12p\n\x05\x63onst\x18\x01 \x01(\x02\x42Z\xc2HW\nU\n\x0b\x66loat.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\xa3\x01\n\x02lt\x18\x02 \x01(\x02\x42\x90\x01\xc2H\x8c\x01\n\x89\x01\n\x08\x66loat.lt\x1a}!has(rules.gte) && !has(rules.gt) && (this.isNan() || this >= rules.lt)? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xb4\x01\n\x03lte\x18\x03 \x01(\x02\x42\x9f\x01\xc2H\x9b\x01\n\x98\x01\n\tfloat.lte\x1a\x8a\x01!has(rules.gte) && !has(rules.gt) && (this.isNan() || this > rules.lte)? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xf3\x07\n\x02gt\x18\x04 \x01(\x02\x42\xe0\x07\xc2H\xdc\x07\n\x8d\x01\n\x08\x66loat.gt\x1a\x80\x01!has(rules.lt) && !has(rules.lte) && (this.isNan() || this <= rules.gt)? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xc3\x01\n\x0b\x66loat.gt_lt\x1a\xb3\x01has(rules.lt) && rules.lt >= rules.gt && (this.isNan() || this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xcd\x01\n\x15\x66loat.gt_lt_exclusive\x1a\xb3\x01has(rules.lt) && rules.lt < rules.gt && (this.isNan() || (rules.lt <= this && this <= rules.gt))? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xd3\x01\n\x0c\x66loat.gt_lte\x1a\xc2\x01has(rules.lte) && rules.lte >= rules.gt && (this.isNan() || this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xdd\x01\n\x16\x66loat.gt_lte_exclusive\x1a\xc2\x01has(rules.lte) && rules.lte < rules.gt && (this.isNan() || (rules.lte < this && this <= rules.gt))? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xbf\x08\n\x03gte\x18\x05 \x01(\x02\x42\xaa\x08\xc2H\xa6\x08\n\x9b\x01\n\tfloat.gte\x1a\x8d\x01!has(rules.lt) && !has(rules.lte) && (this.isNan() || this < rules.gte)? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xd2\x01\n\x0c\x66loat.gte_lt\x1a\xc1\x01has(rules.lt) && rules.lt >= rules.gte && (this.isNan() || this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xdc\x01\n\x16\x66loat.gte_lt_exclusive\x1a\xc1\x01has(rules.lt) && rules.lt < rules.gte && (this.isNan() || (rules.lt <= this && this < rules.gte))? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xe2\x01\n\rfloat.gte_lte\x1a\xd0\x01has(rules.lte) && rules.lte >= rules.gte && (this.isNan() || this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xec\x01\n\x17\x66loat.gte_lte_exclusive\x1a\xd0\x01has(rules.lte) && rules.lte < rules.gte && (this.isNan() || (rules.lte < this && this < rules.gte))? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12y\n\x02in\x18\x06 \x03(\x02\x42i\xc2Hf\nd\n\x08\x66loat.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12}\n\x06not_in\x18\x07 \x03(\x02\x42\x66\xc2Hc\na\n\x0c\x66loat.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12}\n\x06\x66inite\x18\x08 \x01(\x08\x42\x65\xc2Hb\n`\n\x0c\x66loat.finite\x1aPrules.finite ? (this.isNan() || this.isInf() ? \'value must be finite\' : \'\') : \'\'R\x06\x66inite\x12\x34\n\x07\x65xample\x18\t \x03(\x02\x42\x1a\xc2H\x17\n\x15\n\rfloat.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xfc\x17\n\x0b\x44oubleRules\x12q\n\x05\x63onst\x18\x01 \x01(\x01\x42[\xc2HX\nV\n\x0c\x64ouble.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\xa4\x01\n\x02lt\x18\x02 \x01(\x01\x42\x91\x01\xc2H\x8d\x01\n\x8a\x01\n\tdouble.lt\x1a}!has(rules.gte) && !has(rules.gt) && (this.isNan() || this >= rules.lt)? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xb5\x01\n\x03lte\x18\x03 \x01(\x01\x42\xa0\x01\xc2H\x9c\x01\n\x99\x01\n\ndouble.lte\x1a\x8a\x01!has(rules.gte) && !has(rules.gt) && (this.isNan() || this > rules.lte)? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xf8\x07\n\x02gt\x18\x04 \x01(\x01\x42\xe5\x07\xc2H\xe1\x07\n\x8e\x01\n\tdouble.gt\x1a\x80\x01!has(rules.lt) && !has(rules.lte) && (this.isNan() || this <= rules.gt)? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xc4\x01\n\x0c\x64ouble.gt_lt\x1a\xb3\x01has(rules.lt) && rules.lt >= rules.gt && (this.isNan() || this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xce\x01\n\x16\x64ouble.gt_lt_exclusive\x1a\xb3\x01has(rules.lt) && rules.lt < rules.gt && (this.isNan() || (rules.lt <= this && this <= rules.gt))? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xd4\x01\n\rdouble.gt_lte\x1a\xc2\x01has(rules.lte) && rules.lte >= rules.gt && (this.isNan() || this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xde\x01\n\x17\x64ouble.gt_lte_exclusive\x1a\xc2\x01has(rules.lte) && rules.lte < rules.gt && (this.isNan() || (rules.lte < this && this <= rules.gt))? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xc4\x08\n\x03gte\x18\x05 \x01(\x01\x42\xaf\x08\xc2H\xab\x08\n\x9c\x01\n\ndouble.gte\x1a\x8d\x01!has(rules.lt) && !has(rules.lte) && (this.isNan() || this < rules.gte)? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xd3\x01\n\rdouble.gte_lt\x1a\xc1\x01has(rules.lt) && rules.lt >= rules.gte && (this.isNan() || this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xdd\x01\n\x17\x64ouble.gte_lt_exclusive\x1a\xc1\x01has(rules.lt) && rules.lt < rules.gte && (this.isNan() || (rules.lt <= this && this < rules.gte))? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xe3\x01\n\x0e\x64ouble.gte_lte\x1a\xd0\x01has(rules.lte) && rules.lte >= rules.gte && (this.isNan() || this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xed\x01\n\x18\x64ouble.gte_lte_exclusive\x1a\xd0\x01has(rules.lte) && rules.lte < rules.gte && (this.isNan() || (rules.lte < this && this < rules.gte))? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12z\n\x02in\x18\x06 \x03(\x01\x42j\xc2Hg\ne\n\tdouble.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12~\n\x06not_in\x18\x07 \x03(\x01\x42g\xc2Hd\nb\n\rdouble.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12~\n\x06\x66inite\x18\x08 \x01(\x08\x42\x66\xc2Hc\na\n\rdouble.finite\x1aPrules.finite ? (this.isNan() || this.isInf() ? \'value must be finite\' : \'\') : \'\'R\x06\x66inite\x12\x35\n\x07\x65xample\x18\t \x03(\x01\x42\x1b\xc2H\x18\n\x16\n\x0e\x64ouble.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\x94\x15\n\nInt32Rules\x12p\n\x05\x63onst\x18\x01 \x01(\x05\x42Z\xc2HW\nU\n\x0bint32.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x8e\x01\n\x02lt\x18\x02 \x01(\x05\x42|\xc2Hy\nw\n\x08int32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa1\x01\n\x03lte\x18\x03 \x01(\x05\x42\x8c\x01\xc2H\x88\x01\n\x85\x01\n\tint32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\x9b\x07\n\x02gt\x18\x04 \x01(\x05\x42\x88\x07\xc2H\x84\x07\nz\n\x08int32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb3\x01\n\x0bint32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbb\x01\n\x15int32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc3\x01\n\x0cint32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcb\x01\n\x16int32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xe8\x07\n\x03gte\x18\x05 \x01(\x05\x42\xd3\x07\xc2H\xcf\x07\n\x88\x01\n\tint32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc2\x01\n\x0cint32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xca\x01\n\x16int32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd2\x01\n\rint32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xda\x01\n\x17int32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12y\n\x02in\x18\x06 \x03(\x05\x42i\xc2Hf\nd\n\x08int32.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12}\n\x06not_in\x18\x07 \x03(\x05\x42\x66\xc2Hc\na\n\x0cint32.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x34\n\x07\x65xample\x18\x08 \x03(\x05\x42\x1a\xc2H\x17\n\x15\n\rint32.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\x94\x15\n\nInt64Rules\x12p\n\x05\x63onst\x18\x01 \x01(\x03\x42Z\xc2HW\nU\n\x0bint64.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x8e\x01\n\x02lt\x18\x02 \x01(\x03\x42|\xc2Hy\nw\n\x08int64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa1\x01\n\x03lte\x18\x03 \x01(\x03\x42\x8c\x01\xc2H\x88\x01\n\x85\x01\n\tint64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\x9b\x07\n\x02gt\x18\x04 \x01(\x03\x42\x88\x07\xc2H\x84\x07\nz\n\x08int64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb3\x01\n\x0bint64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbb\x01\n\x15int64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc3\x01\n\x0cint64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcb\x01\n\x16int64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xe8\x07\n\x03gte\x18\x05 \x01(\x03\x42\xd3\x07\xc2H\xcf\x07\n\x88\x01\n\tint64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc2\x01\n\x0cint64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xca\x01\n\x16int64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd2\x01\n\rint64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xda\x01\n\x17int64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12y\n\x02in\x18\x06 \x03(\x03\x42i\xc2Hf\nd\n\x08int64.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12}\n\x06not_in\x18\x07 \x03(\x03\x42\x66\xc2Hc\na\n\x0cint64.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x34\n\x07\x65xample\x18\t \x03(\x03\x42\x1a\xc2H\x17\n\x15\n\rint64.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xa5\x15\n\x0bUInt32Rules\x12q\n\x05\x63onst\x18\x01 \x01(\rB[\xc2HX\nV\n\x0cuint32.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x8f\x01\n\x02lt\x18\x02 \x01(\rB}\xc2Hz\nx\n\tuint32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa2\x01\n\x03lte\x18\x03 \x01(\rB\x8d\x01\xc2H\x89\x01\n\x86\x01\n\nuint32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xa0\x07\n\x02gt\x18\x04 \x01(\rB\x8d\x07\xc2H\x89\x07\n{\n\tuint32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb4\x01\n\x0cuint32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbc\x01\n\x16uint32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc4\x01\n\ruint32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcc\x01\n\x17uint32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xed\x07\n\x03gte\x18\x05 \x01(\rB\xd8\x07\xc2H\xd4\x07\n\x89\x01\n\nuint32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc3\x01\n\ruint32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcb\x01\n\x17uint32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd3\x01\n\x0euint32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdb\x01\n\x18uint32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12z\n\x02in\x18\x06 \x03(\rBj\xc2Hg\ne\n\tuint32.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12~\n\x06not_in\x18\x07 \x03(\rBg\xc2Hd\nb\n\ruint32.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x35\n\x07\x65xample\x18\x08 \x03(\rB\x1b\xc2H\x18\n\x16\n\x0euint32.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xa5\x15\n\x0bUInt64Rules\x12q\n\x05\x63onst\x18\x01 \x01(\x04\x42[\xc2HX\nV\n\x0cuint64.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x8f\x01\n\x02lt\x18\x02 \x01(\x04\x42}\xc2Hz\nx\n\tuint64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa2\x01\n\x03lte\x18\x03 \x01(\x04\x42\x8d\x01\xc2H\x89\x01\n\x86\x01\n\nuint64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xa0\x07\n\x02gt\x18\x04 \x01(\x04\x42\x8d\x07\xc2H\x89\x07\n{\n\tuint64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb4\x01\n\x0cuint64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbc\x01\n\x16uint64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc4\x01\n\ruint64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcc\x01\n\x17uint64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xed\x07\n\x03gte\x18\x05 \x01(\x04\x42\xd8\x07\xc2H\xd4\x07\n\x89\x01\n\nuint64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc3\x01\n\ruint64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcb\x01\n\x17uint64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd3\x01\n\x0euint64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdb\x01\n\x18uint64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12z\n\x02in\x18\x06 \x03(\x04\x42j\xc2Hg\ne\n\tuint64.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12~\n\x06not_in\x18\x07 \x03(\x04\x42g\xc2Hd\nb\n\ruint64.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x35\n\x07\x65xample\x18\x08 \x03(\x04\x42\x1b\xc2H\x18\n\x16\n\x0euint64.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xa5\x15\n\x0bSInt32Rules\x12q\n\x05\x63onst\x18\x01 \x01(\x11\x42[\xc2HX\nV\n\x0csint32.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x8f\x01\n\x02lt\x18\x02 \x01(\x11\x42}\xc2Hz\nx\n\tsint32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa2\x01\n\x03lte\x18\x03 \x01(\x11\x42\x8d\x01\xc2H\x89\x01\n\x86\x01\n\nsint32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xa0\x07\n\x02gt\x18\x04 \x01(\x11\x42\x8d\x07\xc2H\x89\x07\n{\n\tsint32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb4\x01\n\x0csint32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbc\x01\n\x16sint32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc4\x01\n\rsint32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcc\x01\n\x17sint32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xed\x07\n\x03gte\x18\x05 \x01(\x11\x42\xd8\x07\xc2H\xd4\x07\n\x89\x01\n\nsint32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc3\x01\n\rsint32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcb\x01\n\x17sint32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd3\x01\n\x0esint32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdb\x01\n\x18sint32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12z\n\x02in\x18\x06 \x03(\x11\x42j\xc2Hg\ne\n\tsint32.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12~\n\x06not_in\x18\x07 \x03(\x11\x42g\xc2Hd\nb\n\rsint32.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x35\n\x07\x65xample\x18\x08 \x03(\x11\x42\x1b\xc2H\x18\n\x16\n\x0esint32.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xa5\x15\n\x0bSInt64Rules\x12q\n\x05\x63onst\x18\x01 \x01(\x12\x42[\xc2HX\nV\n\x0csint64.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x8f\x01\n\x02lt\x18\x02 \x01(\x12\x42}\xc2Hz\nx\n\tsint64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa2\x01\n\x03lte\x18\x03 \x01(\x12\x42\x8d\x01\xc2H\x89\x01\n\x86\x01\n\nsint64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xa0\x07\n\x02gt\x18\x04 \x01(\x12\x42\x8d\x07\xc2H\x89\x07\n{\n\tsint64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb4\x01\n\x0csint64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbc\x01\n\x16sint64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc4\x01\n\rsint64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcc\x01\n\x17sint64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xed\x07\n\x03gte\x18\x05 \x01(\x12\x42\xd8\x07\xc2H\xd4\x07\n\x89\x01\n\nsint64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc3\x01\n\rsint64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcb\x01\n\x17sint64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd3\x01\n\x0esint64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdb\x01\n\x18sint64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12z\n\x02in\x18\x06 \x03(\x12\x42j\xc2Hg\ne\n\tsint64.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12~\n\x06not_in\x18\x07 \x03(\x12\x42g\xc2Hd\nb\n\rsint64.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x35\n\x07\x65xample\x18\x08 \x03(\x12\x42\x1b\xc2H\x18\n\x16\n\x0esint64.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xb6\x15\n\x0c\x46ixed32Rules\x12r\n\x05\x63onst\x18\x01 \x01(\x07\x42\\\xc2HY\nW\n\rfixed32.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x90\x01\n\x02lt\x18\x02 \x01(\x07\x42~\xc2H{\ny\n\nfixed32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa3\x01\n\x03lte\x18\x03 \x01(\x07\x42\x8e\x01\xc2H\x8a\x01\n\x87\x01\n\x0b\x66ixed32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xa5\x07\n\x02gt\x18\x04 \x01(\x07\x42\x92\x07\xc2H\x8e\x07\n|\n\nfixed32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb5\x01\n\rfixed32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbd\x01\n\x17\x66ixed32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc5\x01\n\x0e\x66ixed32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcd\x01\n\x18\x66ixed32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xf2\x07\n\x03gte\x18\x05 \x01(\x07\x42\xdd\x07\xc2H\xd9\x07\n\x8a\x01\n\x0b\x66ixed32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc4\x01\n\x0e\x66ixed32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcc\x01\n\x18\x66ixed32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd4\x01\n\x0f\x66ixed32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdc\x01\n\x19\x66ixed32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12{\n\x02in\x18\x06 \x03(\x07\x42k\xc2Hh\nf\n\nfixed32.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12\x7f\n\x06not_in\x18\x07 \x03(\x07\x42h\xc2He\nc\n\x0e\x66ixed32.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x36\n\x07\x65xample\x18\x08 \x03(\x07\x42\x1c\xc2H\x19\n\x17\n\x0f\x66ixed32.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xb6\x15\n\x0c\x46ixed64Rules\x12r\n\x05\x63onst\x18\x01 \x01(\x06\x42\\\xc2HY\nW\n\rfixed64.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x90\x01\n\x02lt\x18\x02 \x01(\x06\x42~\xc2H{\ny\n\nfixed64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa3\x01\n\x03lte\x18\x03 \x01(\x06\x42\x8e\x01\xc2H\x8a\x01\n\x87\x01\n\x0b\x66ixed64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xa5\x07\n\x02gt\x18\x04 \x01(\x06\x42\x92\x07\xc2H\x8e\x07\n|\n\nfixed64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb5\x01\n\rfixed64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbd\x01\n\x17\x66ixed64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc5\x01\n\x0e\x66ixed64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcd\x01\n\x18\x66ixed64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xf2\x07\n\x03gte\x18\x05 \x01(\x06\x42\xdd\x07\xc2H\xd9\x07\n\x8a\x01\n\x0b\x66ixed64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc4\x01\n\x0e\x66ixed64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcc\x01\n\x18\x66ixed64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd4\x01\n\x0f\x66ixed64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdc\x01\n\x19\x66ixed64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12{\n\x02in\x18\x06 \x03(\x06\x42k\xc2Hh\nf\n\nfixed64.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12\x7f\n\x06not_in\x18\x07 \x03(\x06\x42h\xc2He\nc\n\x0e\x66ixed64.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x36\n\x07\x65xample\x18\x08 \x03(\x06\x42\x1c\xc2H\x19\n\x17\n\x0f\x66ixed64.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xc8\x15\n\rSFixed32Rules\x12s\n\x05\x63onst\x18\x01 \x01(\x0f\x42]\xc2HZ\nX\n\x0esfixed32.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x91\x01\n\x02lt\x18\x02 \x01(\x0f\x42\x7f\xc2H|\nz\n\x0bsfixed32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa4\x01\n\x03lte\x18\x03 \x01(\x0f\x42\x8f\x01\xc2H\x8b\x01\n\x88\x01\n\x0csfixed32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xaa\x07\n\x02gt\x18\x04 \x01(\x0f\x42\x97\x07\xc2H\x93\x07\n}\n\x0bsfixed32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb6\x01\n\x0esfixed32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbe\x01\n\x18sfixed32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc6\x01\n\x0fsfixed32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xce\x01\n\x19sfixed32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xf7\x07\n\x03gte\x18\x05 \x01(\x0f\x42\xe2\x07\xc2H\xde\x07\n\x8b\x01\n\x0csfixed32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc5\x01\n\x0fsfixed32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcd\x01\n\x19sfixed32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd5\x01\n\x10sfixed32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdd\x01\n\x1asfixed32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12|\n\x02in\x18\x06 \x03(\x0f\x42l\xc2Hi\ng\n\x0bsfixed32.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12\x80\x01\n\x06not_in\x18\x07 \x03(\x0f\x42i\xc2Hf\nd\n\x0fsfixed32.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x37\n\x07\x65xample\x18\x08 \x03(\x0f\x42\x1d\xc2H\x1a\n\x18\n\x10sfixed32.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xc8\x15\n\rSFixed64Rules\x12s\n\x05\x63onst\x18\x01 \x01(\x10\x42]\xc2HZ\nX\n\x0esfixed64.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x91\x01\n\x02lt\x18\x02 \x01(\x10\x42\x7f\xc2H|\nz\n\x0bsfixed64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa4\x01\n\x03lte\x18\x03 \x01(\x10\x42\x8f\x01\xc2H\x8b\x01\n\x88\x01\n\x0csfixed64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xaa\x07\n\x02gt\x18\x04 \x01(\x10\x42\x97\x07\xc2H\x93\x07\n}\n\x0bsfixed64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb6\x01\n\x0esfixed64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbe\x01\n\x18sfixed64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc6\x01\n\x0fsfixed64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xce\x01\n\x19sfixed64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xf7\x07\n\x03gte\x18\x05 \x01(\x10\x42\xe2\x07\xc2H\xde\x07\n\x8b\x01\n\x0csfixed64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc5\x01\n\x0fsfixed64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcd\x01\n\x19sfixed64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd5\x01\n\x10sfixed64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdd\x01\n\x1asfixed64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12|\n\x02in\x18\x06 \x03(\x10\x42l\xc2Hi\ng\n\x0bsfixed64.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12\x80\x01\n\x06not_in\x18\x07 \x03(\x10\x42i\xc2Hf\nd\n\x0fsfixed64.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x37\n\x07\x65xample\x18\x08 \x03(\x10\x42\x1d\xc2H\x1a\n\x18\n\x10sfixed64.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xbc\x01\n\tBoolRules\x12o\n\x05\x63onst\x18\x01 \x01(\x08\x42Y\xc2HV\nT\n\nbool.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x33\n\x07\x65xample\x18\x02 \x03(\x08\x42\x19\xc2H\x16\n\x14\n\x0c\x62ool.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xa1\x39\n\x0bStringRules\x12s\n\x05\x63onst\x18\x01 \x01(\tB]\xc2HZ\nX\n\x0cstring.const\x1aHthis != rules.const ? \'value must equal `%s`\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x83\x01\n\x03len\x18\x13 \x01(\x04\x42q\xc2Hn\nl\n\nstring.len\x1a^uint(this.size()) != rules.len ? \'value length must be %s characters\'.format([rules.len]) : \'\'R\x03len\x12\xa1\x01\n\x07min_len\x18\x02 \x01(\x04\x42\x87\x01\xc2H\x83\x01\n\x80\x01\n\x0estring.min_len\x1anuint(this.size()) < rules.min_len ? \'value length must be at least %s characters\'.format([rules.min_len]) : \'\'R\x06minLen\x12\x9f\x01\n\x07max_len\x18\x03 \x01(\x04\x42\x85\x01\xc2H\x81\x01\n\x7f\n\x0estring.max_len\x1amuint(this.size()) > rules.max_len ? \'value length must be at most %s characters\'.format([rules.max_len]) : \'\'R\x06maxLen\x12\xa5\x01\n\tlen_bytes\x18\x14 \x01(\x04\x42\x87\x01\xc2H\x83\x01\n\x80\x01\n\x10string.len_bytes\x1aluint(bytes(this).size()) != rules.len_bytes ? \'value length must be %s bytes\'.format([rules.len_bytes]) : \'\'R\x08lenBytes\x12\xad\x01\n\tmin_bytes\x18\x04 \x01(\x04\x42\x8f\x01\xc2H\x8b\x01\n\x88\x01\n\x10string.min_bytes\x1atuint(bytes(this).size()) < rules.min_bytes ? \'value length must be at least %s bytes\'.format([rules.min_bytes]) : \'\'R\x08minBytes\x12\xac\x01\n\tmax_bytes\x18\x05 \x01(\x04\x42\x8e\x01\xc2H\x8a\x01\n\x87\x01\n\x10string.max_bytes\x1asuint(bytes(this).size()) > rules.max_bytes ? \'value length must be at most %s bytes\'.format([rules.max_bytes]) : \'\'R\x08maxBytes\x12\x96\x01\n\x07pattern\x18\x06 \x01(\tB|\xc2Hy\nw\n\x0estring.pattern\x1a\x65!this.matches(rules.pattern) ? \'value does not match regex pattern `%s`\'.format([rules.pattern]) : \'\'R\x07pattern\x12\x8c\x01\n\x06prefix\x18\x07 \x01(\tBt\xc2Hq\no\n\rstring.prefix\x1a^!this.startsWith(rules.prefix) ? \'value does not have prefix `%s`\'.format([rules.prefix]) : \'\'R\x06prefix\x12\x8a\x01\n\x06suffix\x18\x08 \x01(\tBr\xc2Ho\nm\n\rstring.suffix\x1a\\!this.endsWith(rules.suffix) ? \'value does not have suffix `%s`\'.format([rules.suffix]) : \'\'R\x06suffix\x12\x9a\x01\n\x08\x63ontains\x18\t \x01(\tB~\xc2H{\ny\n\x0fstring.contains\x1a\x66!this.contains(rules.contains) ? \'value does not contain substring `%s`\'.format([rules.contains]) : \'\'R\x08\x63ontains\x12\xa5\x01\n\x0cnot_contains\x18\x17 \x01(\tB\x81\x01\xc2H~\n|\n\x13string.not_contains\x1a\x65this.contains(rules.not_contains) ? \'value contains substring `%s`\'.format([rules.not_contains]) : \'\'R\x0bnotContains\x12z\n\x02in\x18\n \x03(\tBj\xc2Hg\ne\n\tstring.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12~\n\x06not_in\x18\x0b \x03(\tBg\xc2Hd\nb\n\rstring.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\xe6\x01\n\x05\x65mail\x18\x0c \x01(\x08\x42\xcd\x01\xc2H\xc9\x01\na\n\x0cstring.email\x12#value must be a valid email address\x1a,!rules.email || this == \'\' || this.isEmail()\nd\n\x12string.email_empty\x12\x32value is empty, which is not a valid email address\x1a\x1a!rules.email || this != \'\'H\x00R\x05\x65mail\x12\xf1\x01\n\x08hostname\x18\r \x01(\x08\x42\xd2\x01\xc2H\xce\x01\ne\n\x0fstring.hostname\x12\x1evalue must be a valid hostname\x1a\x32!rules.hostname || this == \'\' || this.isHostname()\ne\n\x15string.hostname_empty\x12-value is empty, which is not a valid hostname\x1a\x1d!rules.hostname || this != \'\'H\x00R\x08hostname\x12\xcb\x01\n\x02ip\x18\x0e \x01(\x08\x42\xb8\x01\xc2H\xb4\x01\nU\n\tstring.ip\x12 value must be a valid IP address\x1a&!rules.ip || this == \'\' || this.isIp()\n[\n\x0fstring.ip_empty\x12/value is empty, which is not a valid IP address\x1a\x17!rules.ip || this != \'\'H\x00R\x02ip\x12\xdc\x01\n\x04ipv4\x18\x0f \x01(\x08\x42\xc5\x01\xc2H\xc1\x01\n\\\n\x0bstring.ipv4\x12\"value must be a valid IPv4 address\x1a)!rules.ipv4 || this == \'\' || this.isIp(4)\na\n\x11string.ipv4_empty\x12\x31value is empty, which is not a valid IPv4 address\x1a\x19!rules.ipv4 || this != \'\'H\x00R\x04ipv4\x12\xdc\x01\n\x04ipv6\x18\x10 \x01(\x08\x42\xc5\x01\xc2H\xc1\x01\n\\\n\x0bstring.ipv6\x12\"value must be a valid IPv6 address\x1a)!rules.ipv6 || this == \'\' || this.isIp(6)\na\n\x11string.ipv6_empty\x12\x31value is empty, which is not a valid IPv6 address\x1a\x19!rules.ipv6 || this != \'\'H\x00R\x04ipv6\x12\xc4\x01\n\x03uri\x18\x11 \x01(\x08\x42\xaf\x01\xc2H\xab\x01\nQ\n\nstring.uri\x12\x19value must be a valid URI\x1a(!rules.uri || this == \'\' || this.isUri()\nV\n\x10string.uri_empty\x12(value is empty, which is not a valid URI\x1a\x18!rules.uri || this != \'\'H\x00R\x03uri\x12n\n\x07uri_ref\x18\x12 \x01(\x08\x42S\xc2HP\nN\n\x0estring.uri_ref\x12\x19value must be a valid URI\x1a!!rules.uri_ref || this.isUriRef()H\x00R\x06uriRef\x12\x99\x02\n\x07\x61\x64\x64ress\x18\x15 \x01(\x08\x42\xfc\x01\xc2H\xf8\x01\n\x81\x01\n\x0estring.address\x12-value must be a valid hostname, or ip address\x1a@!rules.address || this == \'\' || this.isHostname() || this.isIp()\nr\n\x14string.address_empty\x12!rules.ipv4_with_prefixlen || this == \'\' || this.isIpPrefix(4)\n\x92\x01\n string.ipv4_with_prefixlen_empty\x12\x44value is empty, which is not a valid IPv4 address with prefix length\x1a(!rules.ipv4_with_prefixlen || this != \'\'H\x00R\x11ipv4WithPrefixlen\x12\xe2\x02\n\x13ipv6_with_prefixlen\x18\x1c \x01(\x08\x42\xaf\x02\xc2H\xab\x02\n\x93\x01\n\x1astring.ipv6_with_prefixlen\x12\x35value must be a valid IPv6 address with prefix length\x1a>!rules.ipv6_with_prefixlen || this == \'\' || this.isIpPrefix(6)\n\x92\x01\n string.ipv6_with_prefixlen_empty\x12\x44value is empty, which is not a valid IPv6 address with prefix length\x1a(!rules.ipv6_with_prefixlen || this != \'\'H\x00R\x11ipv6WithPrefixlen\x12\xfc\x01\n\tip_prefix\x18\x1d \x01(\x08\x42\xdc\x01\xc2H\xd8\x01\nl\n\x10string.ip_prefix\x12\x1fvalue must be a valid IP prefix\x1a\x37!rules.ip_prefix || this == \'\' || this.isIpPrefix(true)\nh\n\x16string.ip_prefix_empty\x12.value is empty, which is not a valid IP prefix\x1a\x1e!rules.ip_prefix || this != \'\'H\x00R\x08ipPrefix\x12\x8f\x02\n\x0bipv4_prefix\x18\x1e \x01(\x08\x42\xeb\x01\xc2H\xe7\x01\nu\n\x12string.ipv4_prefix\x12!value must be a valid IPv4 prefix\x1a!rules.host_and_port || this == \'\' || this.isHostAndPort(true)\ny\n\x1astring.host_and_port_empty\x12\x37value is empty, which is not a valid host and port pair\x1a\"!rules.host_and_port || this != \'\'H\x00R\x0bhostAndPort\x12\xb8\x05\n\x10well_known_regex\x18\x18 \x01(\x0e\x32\x18.buf.validate.KnownRegexB\xf1\x04\xc2H\xed\x04\n\xf0\x01\n#string.well_known_regex.header_name\x12&value must be a valid HTTP header name\x1a\xa0\x01rules.well_known_regex != 1 || this == \'\' || this.matches(!has(rules.strict) || rules.strict ?\'^:?[0-9a-zA-Z!#$%&\\\'*+-.^_|~\\x60]+$\' :\'^[^\\u0000\\u000A\\u000D]+$\')\n\x8d\x01\n)string.well_known_regex.header_name_empty\x12\x35value is empty, which is not a valid HTTP header name\x1a)rules.well_known_regex != 1 || this != \'\'\n\xe7\x01\n$string.well_known_regex.header_value\x12\'value must be a valid HTTP header value\x1a\x95\x01rules.well_known_regex != 2 || this.matches(!has(rules.strict) || rules.strict ?\'^[^\\u0000-\\u0008\\u000A-\\u001F\\u007F]*$\' :\'^[^\\u0000\\u000A\\u000D]*$\')H\x00R\x0ewellKnownRegex\x12\x16\n\x06strict\x18\x19 \x01(\x08R\x06strict\x12\x35\n\x07\x65xample\x18\" \x03(\tB\x1b\xc2H\x18\n\x16\n\x0estring.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0c\n\nwell_known\"\xa3\x11\n\nBytesRules\x12m\n\x05\x63onst\x18\x01 \x01(\x0c\x42W\xc2HT\nR\n\x0b\x62ytes.const\x1a\x43this != rules.const ? \'value must be %x\'.format([rules.const]) : \'\'R\x05\x63onst\x12}\n\x03len\x18\r \x01(\x04\x42k\xc2Hh\nf\n\tbytes.len\x1aYuint(this.size()) != rules.len ? \'value length must be %s bytes\'.format([rules.len]) : \'\'R\x03len\x12\x98\x01\n\x07min_len\x18\x02 \x01(\x04\x42\x7f\xc2H|\nz\n\rbytes.min_len\x1aiuint(this.size()) < rules.min_len ? \'value length must be at least %s bytes\'.format([rules.min_len]) : \'\'R\x06minLen\x12\x90\x01\n\x07max_len\x18\x03 \x01(\x04\x42w\xc2Ht\nr\n\rbytes.max_len\x1a\x61uint(this.size()) > rules.max_len ? \'value must be at most %s bytes\'.format([rules.max_len]) : \'\'R\x06maxLen\x12\x99\x01\n\x07pattern\x18\x04 \x01(\tB\x7f\xc2H|\nz\n\rbytes.pattern\x1ai!string(this).matches(rules.pattern) ? \'value must match regex pattern `%s`\'.format([rules.pattern]) : \'\'R\x07pattern\x12\x89\x01\n\x06prefix\x18\x05 \x01(\x0c\x42q\xc2Hn\nl\n\x0c\x62ytes.prefix\x1a\\!this.startsWith(rules.prefix) ? \'value does not have prefix %x\'.format([rules.prefix]) : \'\'R\x06prefix\x12\x87\x01\n\x06suffix\x18\x06 \x01(\x0c\x42o\xc2Hl\nj\n\x0c\x62ytes.suffix\x1aZ!this.endsWith(rules.suffix) ? \'value does not have suffix %x\'.format([rules.suffix]) : \'\'R\x06suffix\x12\x8d\x01\n\x08\x63ontains\x18\x07 \x01(\x0c\x42q\xc2Hn\nl\n\x0e\x62ytes.contains\x1aZ!this.contains(rules.contains) ? \'value does not contain %x\'.format([rules.contains]) : \'\'R\x08\x63ontains\x12\x9b\x01\n\x02in\x18\x08 \x03(\x0c\x42\x8a\x01\xc2H\x86\x01\n\x83\x01\n\x08\x62ytes.in\x1awdyn(rules)[\'in\'].size() > 0 && !(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12}\n\x06not_in\x18\t \x03(\x0c\x42\x66\xc2Hc\na\n\x0c\x62ytes.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\xef\x01\n\x02ip\x18\n \x01(\x08\x42\xdc\x01\xc2H\xd8\x01\nt\n\x08\x62ytes.ip\x12 value must be a valid IP address\x1a\x46!rules.ip || this.size() == 0 || this.size() == 4 || this.size() == 16\n`\n\x0e\x62ytes.ip_empty\x12/value is empty, which is not a valid IP address\x1a\x1d!rules.ip || this.size() != 0H\x00R\x02ip\x12\xea\x01\n\x04ipv4\x18\x0b \x01(\x08\x42\xd3\x01\xc2H\xcf\x01\ne\n\nbytes.ipv4\x12\"value must be a valid IPv4 address\x1a\x33!rules.ipv4 || this.size() == 0 || this.size() == 4\nf\n\x10\x62ytes.ipv4_empty\x12\x31value is empty, which is not a valid IPv4 address\x1a\x1f!rules.ipv4 || this.size() != 0H\x00R\x04ipv4\x12\xeb\x01\n\x04ipv6\x18\x0c \x01(\x08\x42\xd4\x01\xc2H\xd0\x01\nf\n\nbytes.ipv6\x12\"value must be a valid IPv6 address\x1a\x34!rules.ipv6 || this.size() == 0 || this.size() == 16\nf\n\x10\x62ytes.ipv6_empty\x12\x31value is empty, which is not a valid IPv6 address\x1a\x1f!rules.ipv6 || this.size() != 0H\x00R\x04ipv6\x12\x34\n\x07\x65xample\x18\x0e \x03(\x0c\x42\x1a\xc2H\x17\n\x15\n\rbytes.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0c\n\nwell_known\"\xd7\x03\n\tEnumRules\x12o\n\x05\x63onst\x18\x01 \x01(\x05\x42Y\xc2HV\nT\n\nenum.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12!\n\x0c\x64\x65\x66ined_only\x18\x02 \x01(\x08R\x0b\x64\x65\x66inedOnly\x12x\n\x02in\x18\x03 \x03(\x05\x42h\xc2He\nc\n\x07\x65num.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12|\n\x06not_in\x18\x04 \x03(\x05\x42\x65\xc2Hb\n`\n\x0b\x65num.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x33\n\x07\x65xample\x18\x05 \x03(\x05\x42\x19\xc2H\x16\n\x14\n\x0c\x65num.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xa4\x04\n\rRepeatedRules\x12\xa8\x01\n\tmin_items\x18\x01 \x01(\x04\x42\x8a\x01\xc2H\x86\x01\n\x83\x01\n\x12repeated.min_items\x1amuint(this.size()) < rules.min_items ? \'value must contain at least %d item(s)\'.format([rules.min_items]) : \'\'R\x08minItems\x12\xac\x01\n\tmax_items\x18\x02 \x01(\x04\x42\x8e\x01\xc2H\x8a\x01\n\x87\x01\n\x12repeated.max_items\x1aquint(this.size()) > rules.max_items ? \'value must contain no more than %s item(s)\'.format([rules.max_items]) : \'\'R\x08maxItems\x12x\n\x06unique\x18\x03 \x01(\x08\x42`\xc2H]\n[\n\x0frepeated.unique\x12(repeated value must contain unique items\x1a\x1e!rules.unique || this.unique()R\x06unique\x12\x34\n\x05items\x18\x04 \x01(\x0b\x32\x1e.buf.validate.FieldConstraintsR\x05items*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xb8\x03\n\x08MapRules\x12\x99\x01\n\tmin_pairs\x18\x01 \x01(\x04\x42|\xc2Hy\nw\n\rmap.min_pairs\x1a\x66uint(this.size()) < rules.min_pairs ? \'map must be at least %d entries\'.format([rules.min_pairs]) : \'\'R\x08minPairs\x12\x98\x01\n\tmax_pairs\x18\x02 \x01(\x04\x42{\xc2Hx\nv\n\rmap.max_pairs\x1a\x65uint(this.size()) > rules.max_pairs ? \'map must be at most %d entries\'.format([rules.max_pairs]) : \'\'R\x08maxPairs\x12\x32\n\x04keys\x18\x04 \x01(\x0b\x32\x1e.buf.validate.FieldConstraintsR\x04keys\x12\x36\n\x06values\x18\x05 \x01(\x0b\x32\x1e.buf.validate.FieldConstraintsR\x06values*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"1\n\x08\x41nyRules\x12\x0e\n\x02in\x18\x02 \x03(\tR\x02in\x12\x15\n\x06not_in\x18\x03 \x03(\tR\x05notIn\"\xa2\x17\n\rDurationRules\x12\x8e\x01\n\x05\x63onst\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB]\xc2HZ\nX\n\x0e\x64uration.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\xac\x01\n\x02lt\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationB\x7f\xc2H|\nz\n\x0b\x64uration.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xbf\x01\n\x03lte\x18\x04 \x01(\x0b\x32\x19.google.protobuf.DurationB\x8f\x01\xc2H\x8b\x01\n\x88\x01\n\x0c\x64uration.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xc5\x07\n\x02gt\x18\x05 \x01(\x0b\x32\x19.google.protobuf.DurationB\x97\x07\xc2H\x93\x07\n}\n\x0b\x64uration.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb6\x01\n\x0e\x64uration.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbe\x01\n\x18\x64uration.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc6\x01\n\x0f\x64uration.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xce\x01\n\x19\x64uration.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\x92\x08\n\x03gte\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationB\xe2\x07\xc2H\xde\x07\n\x8b\x01\n\x0c\x64uration.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc5\x01\n\x0f\x64uration.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcd\x01\n\x19\x64uration.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd5\x01\n\x10\x64uration.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdd\x01\n\x1a\x64uration.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12\x97\x01\n\x02in\x18\x07 \x03(\x0b\x32\x19.google.protobuf.DurationBl\xc2Hi\ng\n\x0b\x64uration.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12\x9b\x01\n\x06not_in\x18\x08 \x03(\x0b\x32\x19.google.protobuf.DurationBi\xc2Hf\nd\n\x0f\x64uration.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12R\n\x07\x65xample\x18\t \x03(\x0b\x32\x19.google.protobuf.DurationB\x1d\xc2H\x1a\n\x18\n\x10\x64uration.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xb0\x18\n\x0eTimestampRules\x12\x90\x01\n\x05\x63onst\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB^\xc2H[\nY\n\x0ftimestamp.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\xaf\x01\n\x02lt\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x80\x01\xc2H}\n{\n\x0ctimestamp.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xc1\x01\n\x03lte\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x90\x01\xc2H\x8c\x01\n\x89\x01\n\rtimestamp.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12s\n\x06lt_now\x18\x07 \x01(\x08\x42Z\xc2HW\nU\n\x10timestamp.lt_now\x1a\x41(rules.lt_now && this > now) ? \'value must be less than now\' : \'\'H\x00R\x05ltNow\x12\xcb\x07\n\x02gt\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x9c\x07\xc2H\x98\x07\n~\n\x0ctimestamp.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb7\x01\n\x0ftimestamp.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbf\x01\n\x19timestamp.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc7\x01\n\x10timestamp.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcf\x01\n\x1atimestamp.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\x98\x08\n\x03gte\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\xe7\x07\xc2H\xe3\x07\n\x8c\x01\n\rtimestamp.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc6\x01\n\x10timestamp.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xce\x01\n\x1atimestamp.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd6\x01\n\x11timestamp.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xde\x01\n\x1btimestamp.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12v\n\x06gt_now\x18\x08 \x01(\x08\x42]\xc2HZ\nX\n\x10timestamp.gt_now\x1a\x44(rules.gt_now && this < now) ? \'value must be greater than now\' : \'\'H\x01R\x05gtNow\x12\xc0\x01\n\x06within\x18\t \x01(\x0b\x32\x19.google.protobuf.DurationB\x8c\x01\xc2H\x88\x01\n\x85\x01\n\x10timestamp.within\x1aqthis < now-rules.within || this > now+rules.within ? \'value must be within %s of now\'.format([rules.within]) : \'\'R\x06within\x12T\n\x07\x65xample\x18\n \x03(\x0b\x32\x1a.google.protobuf.TimestampB\x1e\xc2H\x1b\n\x19\n\x11timestamp.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"E\n\nViolations\x12\x37\n\nviolations\x18\x01 \x03(\x0b\x32\x17.buf.validate.ViolationR\nviolations\"\xd1\x01\n\tViolation\x12-\n\x05\x66ield\x18\x05 \x01(\x0b\x32\x17.buf.validate.FieldPathR\x05\x66ield\x12+\n\x04rule\x18\x06 \x01(\x0b\x32\x17.buf.validate.FieldPathR\x04rule\x12#\n\rconstraint_id\x18\x02 \x01(\tR\x0c\x63onstraintId\x12\x18\n\x07message\x18\x03 \x01(\tR\x07message\x12\x17\n\x07\x66or_key\x18\x04 \x01(\x08R\x06\x66orKeyJ\x04\x08\x01\x10\x02R\nfield_path\"G\n\tFieldPath\x12:\n\x08\x65lements\x18\x01 \x03(\x0b\x32\x1e.buf.validate.FieldPathElementR\x08\x65lements\"\xcc\x03\n\x10\x46ieldPathElement\x12!\n\x0c\x66ield_number\x18\x01 \x01(\x05R\x0b\x66ieldNumber\x12\x1d\n\nfield_name\x18\x02 \x01(\tR\tfieldName\x12I\n\nfield_type\x18\x03 \x01(\x0e\x32*.google.protobuf.FieldDescriptorProto.TypeR\tfieldType\x12\x45\n\x08key_type\x18\x04 \x01(\x0e\x32*.google.protobuf.FieldDescriptorProto.TypeR\x07keyType\x12I\n\nvalue_type\x18\x05 \x01(\x0e\x32*.google.protobuf.FieldDescriptorProto.TypeR\tvalueType\x12\x16\n\x05index\x18\x06 \x01(\x04H\x00R\x05index\x12\x1b\n\x08\x62ool_key\x18\x07 \x01(\x08H\x00R\x07\x62oolKey\x12\x19\n\x07int_key\x18\x08 \x01(\x03H\x00R\x06intKey\x12\x1b\n\x08uint_key\x18\t \x01(\x04H\x00R\x07uintKey\x12\x1f\n\nstring_key\x18\n \x01(\tH\x00R\tstringKeyB\x0b\n\tsubscript*\x87\x01\n\x06Ignore\x12\x16\n\x12IGNORE_UNSPECIFIED\x10\x00\x12\x19\n\x15IGNORE_IF_UNPOPULATED\x10\x01\x12\x1b\n\x17IGNORE_IF_DEFAULT_VALUE\x10\x02\x12\x11\n\rIGNORE_ALWAYS\x10\x03*\x1aIGNORE_EMPTYIGNORE_DEFAULT*n\n\nKnownRegex\x12\x1b\n\x17KNOWN_REGEX_UNSPECIFIED\x10\x00\x12 \n\x1cKNOWN_REGEX_HTTP_HEADER_NAME\x10\x01\x12!\n\x1dKNOWN_REGEX_HTTP_HEADER_VALUE\x10\x02:\\\n\x07message\x12\x1f.google.protobuf.MessageOptions\x18\x87\t \x01(\x0b\x32 .buf.validate.MessageConstraintsR\x07message:T\n\x05oneof\x12\x1d.google.protobuf.OneofOptions\x18\x87\t \x01(\x0b\x32\x1e.buf.validate.OneofConstraintsR\x05oneof:T\n\x05\x66ield\x12\x1d.google.protobuf.FieldOptions\x18\x87\t \x01(\x0b\x32\x1e.buf.validate.FieldConstraintsR\x05\x66ield:c\n\npredefined\x12\x1d.google.protobuf.FieldOptions\x18\x88\t \x01(\x0b\x32#.buf.validate.PredefinedConstraintsR\npredefinedB\xbb\x01\n\x10\x63om.buf.validateB\rValidateProtoP\x01ZGbuf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate\xa2\x02\x03\x42VX\xaa\x02\x0c\x42uf.Validate\xca\x02\x0c\x42uf\\Validate\xe2\x02\x18\x42uf\\Validate\\GPBMetadata\xea\x02\rBuf::Validate') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -49,16 +49,6 @@ if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\020com.buf.validateB\rValidateProtoP\001ZGbuf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate\242\002\003BVX\252\002\014Buf.Validate\312\002\014Buf\\Validate\342\002\030Buf\\Validate\\GPBMetadata\352\002\rBuf::Validate' - _globals['_IGNORE']._loaded_options = None - _globals['_IGNORE']._serialized_options = b'\020\001' - _globals['_IGNORE'].values_by_name["IGNORE_EMPTY"]._loaded_options = None - _globals['_IGNORE'].values_by_name["IGNORE_EMPTY"]._serialized_options = b'\010\001' - _globals['_IGNORE'].values_by_name["IGNORE_DEFAULT"]._loaded_options = None - _globals['_IGNORE'].values_by_name["IGNORE_DEFAULT"]._serialized_options = b'\010\001' - _globals['_FIELDCONSTRAINTS'].fields_by_name['skipped']._loaded_options = None - _globals['_FIELDCONSTRAINTS'].fields_by_name['skipped']._serialized_options = b'\030\001' - _globals['_FIELDCONSTRAINTS'].fields_by_name['ignore_empty']._loaded_options = None - _globals['_FIELDCONSTRAINTS'].fields_by_name['ignore_empty']._serialized_options = b'\030\001' _globals['_FLOATRULES'].fields_by_name['const']._loaded_options = None _globals['_FLOATRULES'].fields_by_name['const']._serialized_options = b'\302HW\nU\n\013float.const\032Fthis != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'' _globals['_FLOATRULES'].fields_by_name['lt']._loaded_options = None @@ -405,12 +395,10 @@ _globals['_TIMESTAMPRULES'].fields_by_name['within']._serialized_options = b'\302H\210\001\n\205\001\n\020timestamp.within\032qthis < now-rules.within || this > now+rules.within ? \'value must be within %s of now\'.format([rules.within]) : \'\'' _globals['_TIMESTAMPRULES'].fields_by_name['example']._loaded_options = None _globals['_TIMESTAMPRULES'].fields_by_name['example']._serialized_options = b'\302H\033\n\031\n\021timestamp.example\032\004true' - _globals['_VIOLATION'].fields_by_name['field_path']._loaded_options = None - _globals['_VIOLATION'].fields_by_name['field_path']._serialized_options = b'\030\001' - _globals['_IGNORE']._serialized_start=53440 - _globals['_IGNORE']._serialized_end=53597 - _globals['_KNOWNREGEX']._serialized_start=53599 - _globals['_KNOWNREGEX']._serialized_end=53709 + _globals['_IGNORE']._serialized_start=53387 + _globals['_IGNORE']._serialized_end=53522 + _globals['_KNOWNREGEX']._serialized_start=53524 + _globals['_KNOWNREGEX']._serialized_end=53634 _globals['_CONSTRAINT']._serialized_start=144 _globals['_CONSTRAINT']._serialized_end=230 _globals['_MESSAGECONSTRAINTS']._serialized_start=232 @@ -418,57 +406,57 @@ _globals['_ONEOFCONSTRAINTS']._serialized_start=326 _globals['_ONEOFCONSTRAINTS']._serialized_end=372 _globals['_FIELDCONSTRAINTS']._serialized_start=375 - _globals['_FIELDCONSTRAINTS']._serialized_end=1698 - _globals['_PREDEFINEDCONSTRAINTS']._serialized_start=1700 - _globals['_PREDEFINEDCONSTRAINTS']._serialized_end=1767 - _globals['_FLOATRULES']._serialized_start=1770 - _globals['_FLOATRULES']._serialized_end=4820 - _globals['_DOUBLERULES']._serialized_start=4823 - _globals['_DOUBLERULES']._serialized_end=7891 - _globals['_INT32RULES']._serialized_start=7894 - _globals['_INT32RULES']._serialized_end=10602 - _globals['_INT64RULES']._serialized_start=10605 - _globals['_INT64RULES']._serialized_end=13313 - _globals['_UINT32RULES']._serialized_start=13316 - _globals['_UINT32RULES']._serialized_end=16041 - _globals['_UINT64RULES']._serialized_start=16044 - _globals['_UINT64RULES']._serialized_end=18769 - _globals['_SINT32RULES']._serialized_start=18772 - _globals['_SINT32RULES']._serialized_end=21497 - _globals['_SINT64RULES']._serialized_start=21500 - _globals['_SINT64RULES']._serialized_end=24225 - _globals['_FIXED32RULES']._serialized_start=24228 - _globals['_FIXED32RULES']._serialized_end=26970 - _globals['_FIXED64RULES']._serialized_start=26973 - _globals['_FIXED64RULES']._serialized_end=29715 - _globals['_SFIXED32RULES']._serialized_start=29718 - _globals['_SFIXED32RULES']._serialized_end=32478 - _globals['_SFIXED64RULES']._serialized_start=32481 - _globals['_SFIXED64RULES']._serialized_end=35241 - _globals['_BOOLRULES']._serialized_start=35244 - _globals['_BOOLRULES']._serialized_end=35432 - _globals['_STRINGRULES']._serialized_start=35435 - _globals['_STRINGRULES']._serialized_end=42764 - _globals['_BYTESRULES']._serialized_start=42767 - _globals['_BYTESRULES']._serialized_end=44978 - _globals['_ENUMRULES']._serialized_start=44981 - _globals['_ENUMRULES']._serialized_end=45452 - _globals['_REPEATEDRULES']._serialized_start=45455 - _globals['_REPEATEDRULES']._serialized_end=46003 - _globals['_MAPRULES']._serialized_start=46006 - _globals['_MAPRULES']._serialized_end=46446 - _globals['_ANYRULES']._serialized_start=46448 - _globals['_ANYRULES']._serialized_end=46497 - _globals['_DURATIONRULES']._serialized_start=46500 - _globals['_DURATIONRULES']._serialized_end=49478 - _globals['_TIMESTAMPRULES']._serialized_start=49481 - _globals['_TIMESTAMPRULES']._serialized_end=52601 - _globals['_VIOLATIONS']._serialized_start=52603 - _globals['_VIOLATIONS']._serialized_end=52672 - _globals['_VIOLATION']._serialized_start=52675 - _globals['_VIOLATION']._serialized_end=52901 - _globals['_FIELDPATH']._serialized_start=52903 - _globals['_FIELDPATH']._serialized_end=52974 - _globals['_FIELDPATHELEMENT']._serialized_start=52977 - _globals['_FIELDPATHELEMENT']._serialized_end=53437 + _globals['_FIELDCONSTRAINTS']._serialized_end=1629 + _globals['_PREDEFINEDCONSTRAINTS']._serialized_start=1631 + _globals['_PREDEFINEDCONSTRAINTS']._serialized_end=1731 + _globals['_FLOATRULES']._serialized_start=1734 + _globals['_FLOATRULES']._serialized_end=4784 + _globals['_DOUBLERULES']._serialized_start=4787 + _globals['_DOUBLERULES']._serialized_end=7855 + _globals['_INT32RULES']._serialized_start=7858 + _globals['_INT32RULES']._serialized_end=10566 + _globals['_INT64RULES']._serialized_start=10569 + _globals['_INT64RULES']._serialized_end=13277 + _globals['_UINT32RULES']._serialized_start=13280 + _globals['_UINT32RULES']._serialized_end=16005 + _globals['_UINT64RULES']._serialized_start=16008 + _globals['_UINT64RULES']._serialized_end=18733 + _globals['_SINT32RULES']._serialized_start=18736 + _globals['_SINT32RULES']._serialized_end=21461 + _globals['_SINT64RULES']._serialized_start=21464 + _globals['_SINT64RULES']._serialized_end=24189 + _globals['_FIXED32RULES']._serialized_start=24192 + _globals['_FIXED32RULES']._serialized_end=26934 + _globals['_FIXED64RULES']._serialized_start=26937 + _globals['_FIXED64RULES']._serialized_end=29679 + _globals['_SFIXED32RULES']._serialized_start=29682 + _globals['_SFIXED32RULES']._serialized_end=32442 + _globals['_SFIXED64RULES']._serialized_start=32445 + _globals['_SFIXED64RULES']._serialized_end=35205 + _globals['_BOOLRULES']._serialized_start=35208 + _globals['_BOOLRULES']._serialized_end=35396 + _globals['_STRINGRULES']._serialized_start=35399 + _globals['_STRINGRULES']._serialized_end=42728 + _globals['_BYTESRULES']._serialized_start=42731 + _globals['_BYTESRULES']._serialized_end=44942 + _globals['_ENUMRULES']._serialized_start=44945 + _globals['_ENUMRULES']._serialized_end=45416 + _globals['_REPEATEDRULES']._serialized_start=45419 + _globals['_REPEATEDRULES']._serialized_end=45967 + _globals['_MAPRULES']._serialized_start=45970 + _globals['_MAPRULES']._serialized_end=46410 + _globals['_ANYRULES']._serialized_start=46412 + _globals['_ANYRULES']._serialized_end=46461 + _globals['_DURATIONRULES']._serialized_start=46464 + _globals['_DURATIONRULES']._serialized_end=49442 + _globals['_TIMESTAMPRULES']._serialized_start=49445 + _globals['_TIMESTAMPRULES']._serialized_end=52565 + _globals['_VIOLATIONS']._serialized_start=52567 + _globals['_VIOLATIONS']._serialized_end=52636 + _globals['_VIOLATION']._serialized_start=52639 + _globals['_VIOLATION']._serialized_end=52848 + _globals['_FIELDPATH']._serialized_start=52850 + _globals['_FIELDPATH']._serialized_end=52921 + _globals['_FIELDPATHELEMENT']._serialized_start=52924 + _globals['_FIELDPATHELEMENT']._serialized_end=53384 # @@protoc_insertion_point(module_scope) diff --git a/gen/buf/validate/validate_pb2.pyi b/gen/buf/validate/validate_pb2.pyi index febd101c..7e855bbd 100644 --- a/gen/buf/validate/validate_pb2.pyi +++ b/gen/buf/validate/validate_pb2.pyi @@ -30,8 +30,6 @@ class Ignore(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): IGNORE_IF_UNPOPULATED: _ClassVar[Ignore] IGNORE_IF_DEFAULT_VALUE: _ClassVar[Ignore] IGNORE_ALWAYS: _ClassVar[Ignore] - IGNORE_EMPTY: _ClassVar[Ignore] - IGNORE_DEFAULT: _ClassVar[Ignore] class KnownRegex(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () @@ -42,8 +40,6 @@ IGNORE_UNSPECIFIED: Ignore IGNORE_IF_UNPOPULATED: Ignore IGNORE_IF_DEFAULT_VALUE: Ignore IGNORE_ALWAYS: Ignore -IGNORE_EMPTY: Ignore -IGNORE_DEFAULT: Ignore KNOWN_REGEX_UNSPECIFIED: KnownRegex KNOWN_REGEX_HTTP_HEADER_NAME: KnownRegex KNOWN_REGEX_HTTP_HEADER_VALUE: KnownRegex @@ -81,7 +77,7 @@ class OneofConstraints(_message.Message): def __init__(self, required: bool = ...) -> None: ... class FieldConstraints(_message.Message): - __slots__ = ("cel", "required", "ignore", "float", "double", "int32", "int64", "uint32", "uint64", "sint32", "sint64", "fixed32", "fixed64", "sfixed32", "sfixed64", "bool", "string", "bytes", "enum", "repeated", "map", "any", "duration", "timestamp", "skipped", "ignore_empty") + __slots__ = ("cel", "required", "ignore", "float", "double", "int32", "int64", "uint32", "uint64", "sint32", "sint64", "fixed32", "fixed64", "sfixed32", "sfixed64", "bool", "string", "bytes", "enum", "repeated", "map", "any", "duration", "timestamp") CEL_FIELD_NUMBER: _ClassVar[int] REQUIRED_FIELD_NUMBER: _ClassVar[int] IGNORE_FIELD_NUMBER: _ClassVar[int] @@ -106,8 +102,6 @@ class FieldConstraints(_message.Message): ANY_FIELD_NUMBER: _ClassVar[int] DURATION_FIELD_NUMBER: _ClassVar[int] TIMESTAMP_FIELD_NUMBER: _ClassVar[int] - SKIPPED_FIELD_NUMBER: _ClassVar[int] - IGNORE_EMPTY_FIELD_NUMBER: _ClassVar[int] cel: _containers.RepeatedCompositeFieldContainer[Constraint] required: bool ignore: Ignore @@ -132,9 +126,7 @@ class FieldConstraints(_message.Message): any: AnyRules duration: DurationRules timestamp: TimestampRules - skipped: bool - ignore_empty: bool - def __init__(self, cel: _Optional[_Iterable[_Union[Constraint, _Mapping]]] = ..., required: bool = ..., ignore: _Optional[_Union[Ignore, str]] = ..., float: _Optional[_Union[FloatRules, _Mapping]] = ..., double: _Optional[_Union[DoubleRules, _Mapping]] = ..., int32: _Optional[_Union[Int32Rules, _Mapping]] = ..., int64: _Optional[_Union[Int64Rules, _Mapping]] = ..., uint32: _Optional[_Union[UInt32Rules, _Mapping]] = ..., uint64: _Optional[_Union[UInt64Rules, _Mapping]] = ..., sint32: _Optional[_Union[SInt32Rules, _Mapping]] = ..., sint64: _Optional[_Union[SInt64Rules, _Mapping]] = ..., fixed32: _Optional[_Union[Fixed32Rules, _Mapping]] = ..., fixed64: _Optional[_Union[Fixed64Rules, _Mapping]] = ..., sfixed32: _Optional[_Union[SFixed32Rules, _Mapping]] = ..., sfixed64: _Optional[_Union[SFixed64Rules, _Mapping]] = ..., bool: _Optional[_Union[BoolRules, _Mapping]] = ..., string: _Optional[_Union[StringRules, _Mapping]] = ..., bytes: _Optional[_Union[BytesRules, _Mapping]] = ..., enum: _Optional[_Union[EnumRules, _Mapping]] = ..., repeated: _Optional[_Union[RepeatedRules, _Mapping]] = ..., map: _Optional[_Union[MapRules, _Mapping]] = ..., any: _Optional[_Union[AnyRules, _Mapping]] = ..., duration: _Optional[_Union[DurationRules, _Mapping]] = ..., timestamp: _Optional[_Union[TimestampRules, _Mapping]] = ..., skipped: bool = ..., ignore_empty: bool = ...) -> None: ... + def __init__(self, cel: _Optional[_Iterable[_Union[Constraint, _Mapping]]] = ..., required: bool = ..., ignore: _Optional[_Union[Ignore, str]] = ..., float: _Optional[_Union[FloatRules, _Mapping]] = ..., double: _Optional[_Union[DoubleRules, _Mapping]] = ..., int32: _Optional[_Union[Int32Rules, _Mapping]] = ..., int64: _Optional[_Union[Int64Rules, _Mapping]] = ..., uint32: _Optional[_Union[UInt32Rules, _Mapping]] = ..., uint64: _Optional[_Union[UInt64Rules, _Mapping]] = ..., sint32: _Optional[_Union[SInt32Rules, _Mapping]] = ..., sint64: _Optional[_Union[SInt64Rules, _Mapping]] = ..., fixed32: _Optional[_Union[Fixed32Rules, _Mapping]] = ..., fixed64: _Optional[_Union[Fixed64Rules, _Mapping]] = ..., sfixed32: _Optional[_Union[SFixed32Rules, _Mapping]] = ..., sfixed64: _Optional[_Union[SFixed64Rules, _Mapping]] = ..., bool: _Optional[_Union[BoolRules, _Mapping]] = ..., string: _Optional[_Union[StringRules, _Mapping]] = ..., bytes: _Optional[_Union[BytesRules, _Mapping]] = ..., enum: _Optional[_Union[EnumRules, _Mapping]] = ..., repeated: _Optional[_Union[RepeatedRules, _Mapping]] = ..., map: _Optional[_Union[MapRules, _Mapping]] = ..., any: _Optional[_Union[AnyRules, _Mapping]] = ..., duration: _Optional[_Union[DurationRules, _Mapping]] = ..., timestamp: _Optional[_Union[TimestampRules, _Mapping]] = ...) -> None: ... class PredefinedConstraints(_message.Message): __slots__ = ("cel",) @@ -596,20 +588,18 @@ class Violations(_message.Message): def __init__(self, violations: _Optional[_Iterable[_Union[Violation, _Mapping]]] = ...) -> None: ... class Violation(_message.Message): - __slots__ = ("field", "rule", "field_path", "constraint_id", "message", "for_key") + __slots__ = ("field", "rule", "constraint_id", "message", "for_key") FIELD_FIELD_NUMBER: _ClassVar[int] RULE_FIELD_NUMBER: _ClassVar[int] - FIELD_PATH_FIELD_NUMBER: _ClassVar[int] CONSTRAINT_ID_FIELD_NUMBER: _ClassVar[int] MESSAGE_FIELD_NUMBER: _ClassVar[int] FOR_KEY_FIELD_NUMBER: _ClassVar[int] field: FieldPath rule: FieldPath - field_path: str constraint_id: str message: str for_key: bool - def __init__(self, field: _Optional[_Union[FieldPath, _Mapping]] = ..., rule: _Optional[_Union[FieldPath, _Mapping]] = ..., field_path: _Optional[str] = ..., constraint_id: _Optional[str] = ..., message: _Optional[str] = ..., for_key: bool = ...) -> None: ... + def __init__(self, field: _Optional[_Union[FieldPath, _Mapping]] = ..., rule: _Optional[_Union[FieldPath, _Mapping]] = ..., constraint_id: _Optional[str] = ..., message: _Optional[str] = ..., for_key: bool = ...) -> None: ... class FieldPath(_message.Message): __slots__ = ("elements",) diff --git a/protovalidate/internal/constraints.py b/protovalidate/internal/constraints.py index 0c476033..0ec15f9d 100644 --- a/protovalidate/internal/constraints.py +++ b/protovalidate/internal/constraints.py @@ -460,13 +460,12 @@ def __init__( type_case = field_level.WhichOneof("type") super().__init__(None if type_case is None else getattr(field_level, type_case)) self._field = field - self._ignore_empty = ( - field_level.ignore_empty - or field_level.ignore in (validate_pb2.IGNORE_IF_UNPOPULATED, validate_pb2.IGNORE_IF_DEFAULT_VALUE) - or ( - field.has_presence # type: ignore[attr-defined] - and not for_items - ) + self._ignore_empty = field_level.ignore in ( + validate_pb2.IGNORE_IF_UNPOPULATED, + validate_pb2.IGNORE_IF_DEFAULT_VALUE, + ) or ( + field.has_presence # type: ignore[attr-defined] + and not for_items ) self._ignore_default = field.has_presence and field_level.ignore == validate_pb2.IGNORE_IF_DEFAULT_VALUE # type: ignore[attr-defined] self._required = field_level.required @@ -832,7 +831,7 @@ def _new_scalar_field_constraint( *, for_items: bool = False, ): - if field_level.ignore == validate_pb2.IGNORE_ALWAYS or field_level.skipped: + if field_level.ignore == validate_pb2.IGNORE_ALWAYS: return None type_case = field_level.WhichOneof("type") if type_case is None: @@ -987,13 +986,10 @@ def _new_constraints(self, desc: descriptor.Descriptor) -> list[ConstraintRules] for field in desc.fields: if validate_pb2.field in field.GetOptions().Extensions: field_level = field.GetOptions().Extensions[validate_pb2.field] - if field_level.ignore == validate_pb2.IGNORE_ALWAYS or field_level.skipped: + if field_level.ignore == validate_pb2.IGNORE_ALWAYS: continue result.append(self._new_field_constraint(field, field_level)) - if ( - field_level.repeated.items.ignore == validate_pb2.IGNORE_ALWAYS - or field_level.repeated.items.skipped - ): + if field_level.repeated.items.ignore == validate_pb2.IGNORE_ALWAYS: continue if field.message_type is None: continue diff --git a/protovalidate/validator.py b/protovalidate/validator.py index 0efdc380..08293435 100644 --- a/protovalidate/validator.py +++ b/protovalidate/validator.py @@ -18,7 +18,7 @@ from buf.validate import validate_pb2 # type: ignore from protovalidate.internal import constraints as _constraints -from protovalidate.internal import extra_func, field_path +from protovalidate.internal import extra_func CompilationError = _constraints.CompilationError Violations = validate_pb2.Violations @@ -92,7 +92,6 @@ def collect_violations( violation.proto.field.elements.reverse() if violation.proto.HasField("rule"): violation.proto.rule.elements.reverse() - violation.proto.field_path = field_path.string(violation.proto.field) return ctx.violations diff --git a/tests/validate_test.py b/tests/validate_test.py index 2642b47a..09f529ad 100644 --- a/tests/validate_test.py +++ b/tests/validate_test.py @@ -33,7 +33,6 @@ def test_map_key(self): msg.val[1] = "a" violations = protovalidate.collect_violations(msg) self.assertEqual(len(violations), 1) - self.assertEqual(violations[0].proto.field_path, "val[1]") self.assertEqual(violations[0].proto.for_key, True) self.assertEqual(violations[0].field_value, 1) self.assertEqual(violations[0].rule_value, 0) From 056cca74d7333122889bc35a09176e6c397e2f06 Mon Sep 17 00:00:00 2001 From: John Chadwick Date: Fri, 7 Feb 2025 11:53:56 -0500 Subject: [PATCH 2/2] Update protovalidate version to v0.10.0 --- Makefile | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index b0246e88..8c89c02c 100644 --- a/Makefile +++ b/Makefile @@ -16,8 +16,7 @@ ADD_LICENSE_HEADER := $(BIN)/license-header \ --license-type apache \ --copyright-holder "Buf Technologies, Inc." \ --year-range "2023" -# TODO: DO NOT MERGE: Temporary because protovalidate-python does not support dynamic fdsets. -PROTOVALIDATE_VERSION ?= 1d6530da26a3c5c96f5d7d4c842aa9164f82ee4b +PROTOVALIDATE_VERSION ?= v0.10.0 .PHONY: help help: ## Describe useful make targets @@ -34,9 +33,8 @@ clean: ## Delete intermediate build artifacts .PHONY: generate generate: $(BIN)/buf $(BIN)/license-header ## Regenerate code and license headers rm -rf gen - # TODO: DO NOT MERGE: Temporary because protovalidate-python does not support dynamic fdsets. - buf generate https://github.com/bufbuild/protovalidate.git#branch=jchadwick/remove-deprecated,subdir=proto/protovalidate - buf generate https://github.com/bufbuild/protovalidate.git#branch=jchadwick/remove-deprecated,subdir=proto/protovalidate-testing + buf generate buf.build/bufbuild/protovalidate:$(PROTOVALIDATE_VERSION) + buf generate buf.build/bufbuild/protovalidate-testing:$(PROTOVALIDATE_VERSION) $(ADD_LICENSE_HEADER) --ignore __init__.py .PHONY: format