From 75749e8c9880ee1236ef404008020d5f6f5a34b1 Mon Sep 17 00:00:00 2001 From: Sri Krishna Date: Wed, 16 Jul 2025 10:28:12 +0530 Subject: [PATCH 1/2] Update protovalidate Signed-off-by: Sri Krishna --- Makefile | 6 +- .../conformance/cases/ignore_proto2_pb2.py | 270 +++++-------- .../conformance/cases/ignore_proto2_pb2.pyi | 109 ----- .../conformance/cases/ignore_proto3_pb2.py | 228 ++++------- .../conformance/cases/ignore_proto3_pb2.pyi | 102 ----- .../cases/ignore_proto_editions_pb2.py | 378 +++++++----------- .../cases/ignore_proto_editions_pb2.pyi | 149 ------- .../conformance/cases/messages_pb2.py | 84 ++-- .../conformance/cases/messages_pb2.pyi | 6 - gen/buf/validate/validate_pb2.py | 130 +++--- gen/buf/validate/validate_pb2.pyi | 12 +- protovalidate/internal/rules.py | 16 +- 12 files changed, 440 insertions(+), 1050 deletions(-) diff --git a/Makefile b/Makefile index ed120ea..bfd9885 100644 --- a/Makefile +++ b/Makefile @@ -37,8 +37,8 @@ clean: ## Delete intermediate build artifacts .PHONY: generate generate: $(BIN)/buf $(BIN)/license-header ## Regenerate code and license headers rm -rf gen - $(BIN)/buf generate buf.build/bufbuild/protovalidate:$(PROTOVALIDATE_VERSION) - $(BIN)/buf generate buf.build/bufbuild/protovalidate-testing:$(PROTOVALIDATE_VERSION) + $(BIN)/buf generate https://github.com/bufbuild/protovalidate.git#branch=next,subdir=proto/protovalidate + $(BIN)/buf generate https://github.com/bufbuild/protovalidate.git#branch=next,subdir=proto/protovalidate-testing $(BIN)/buf generate buf.build/google/cel-spec:$(CEL_SPEC_VERSION) --exclude-path cel/expr/conformance/proto2 --exclude-path cel/expr/conformance/proto3 $(BIN)/buf generate $(ADD_LICENSE_HEADER) @@ -90,4 +90,4 @@ $(BIN)/license-header: $(BIN) Makefile go install github.com/bufbuild/buf/private/pkg/licenseheader/cmd/license-header@latest $(BIN)/protovalidate-conformance: $(BIN) Makefile - go install github.com/bufbuild/protovalidate/tools/protovalidate-conformance@$(PROTOVALIDATE_VERSION) + go install github.com/bufbuild/protovalidate/tools/protovalidate-conformance@next diff --git a/gen/buf/validate/conformance/cases/ignore_proto2_pb2.py b/gen/buf/validate/conformance/cases/ignore_proto2_pb2.py index 51d7b8c..7aa4564 100644 --- a/gen/buf/validate/conformance/cases/ignore_proto2_pb2.py +++ b/gen/buf/validate/conformance/cases/ignore_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'\n2buf/validate/conformance/cases/ignore_proto2.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x1b\x62uf/validate/validate.proto\"B\n%Proto2ScalarOptionalIgnoreUnspecified\x12\x19\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02 \x00R\x03val\"R\n0Proto2ScalarOptionalIgnoreUnspecifiedWithDefault\x12\x1e\n\x03val\x18\x01 \x01(\x05:\x03-42B\x07\xbaH\x04\x1a\x02 \x00R\x03val\"?\n\x1fProto2ScalarOptionalIgnoreEmpty\x12\x1c\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\"O\n*Proto2ScalarOptionalIgnoreEmptyWithDefault\x12!\n\x03val\x18\x01 \x01(\x05:\x03-42B\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\"A\n!Proto2ScalarOptionalIgnoreDefault\x12\x1c\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x02R\x03val\"Q\n,Proto2ScalarOptionalIgnoreDefaultWithDefault\x12!\n\x03val\x18\x01 \x01(\x05:\x03-42B\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x02R\x03val\"@\n Proto2ScalarOptionalIgnoreAlways\x12\x1c\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x03R\x03val\"P\n+Proto2ScalarOptionalIgnoreAlwaysWithDefault\x12!\n\x03val\x18\x01 \x01(\x05:\x03-42B\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x03R\x03val\"B\n%Proto2ScalarRequiredIgnoreUnspecified\x12\x19\n\x03val\x18\x01 \x02(\x05\x42\x07\xbaH\x04\x1a\x02 \x00R\x03val\"R\n0Proto2ScalarRequiredIgnoreUnspecifiedWithDefault\x12\x1e\n\x03val\x18\x01 \x02(\x05:\x03-42B\x07\xbaH\x04\x1a\x02 \x00R\x03val\"?\n\x1fProto2ScalarRequiredIgnoreEmpty\x12\x1c\n\x03val\x18\x01 \x02(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\"O\n*Proto2ScalarRequiredIgnoreEmptyWithDefault\x12!\n\x03val\x18\x01 \x02(\x05:\x03-42B\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\"A\n!Proto2ScalarRequiredIgnoreDefault\x12\x1c\n\x03val\x18\x01 \x02(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x02R\x03val\"Q\n,Proto2ScalarRequiredIgnoreDefaultWithDefault\x12!\n\x03val\x18\x01 \x02(\x05:\x03-42B\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x02R\x03val\"@\n Proto2ScalarRequiredIgnoreAlways\x12\x1c\n\x03val\x18\x01 \x02(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x03R\x03val\"P\n+Proto2ScalarRequiredIgnoreAlwaysWithDefault\x12!\n\x03val\x18\x01 \x02(\x05:\x03-42B\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x03R\x03val\"\xe0\x01\n&Proto2MessageOptionalIgnoreUnspecified\x12\x9c\x01\n\x03val\x18\x01 \x01(\x0b\x32J.buf.validate.conformance.cases.Proto2MessageOptionalIgnoreUnspecified.MsgB>\xbaH;\xba\x01\x38\n\x1bproto2.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\xd7\x01\n Proto2MessageOptionalIgnoreEmpty\x12\x99\x01\n\x03val\x18\x01 \x01(\x0b\x32\x44.buf.validate.conformance.cases.Proto2MessageOptionalIgnoreEmpty.MsgBA\xbaH>\xba\x01\x38\n\x1bproto2.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x01R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\xdb\x01\n\"Proto2MessageOptionalIgnoreDefault\x12\x9b\x01\n\x03val\x18\x01 \x01(\x0b\x32\x46.buf.validate.conformance.cases.Proto2MessageOptionalIgnoreDefault.MsgBA\xbaH>\xba\x01\x38\n\x1bproto2.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x02R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\xda\x01\n!Proto2MessageOptionalIgnoreAlways\x12\x9b\x01\n\x03val\x18\x01 \x01(\x0b\x32\x45.buf.validate.conformance.cases.Proto2MessageOptionalIgnoreAlways.MsgBB\xbaH?\xba\x01\x39\n\x1cproto2.message.ignore.always\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x03R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\xe0\x01\n&Proto2MessageRequiredIgnoreUnspecified\x12\x9c\x01\n\x03val\x18\x01 \x02(\x0b\x32J.buf.validate.conformance.cases.Proto2MessageRequiredIgnoreUnspecified.MsgB>\xbaH;\xba\x01\x38\n\x1bproto2.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\xd7\x01\n Proto2MessageRequiredIgnoreEmpty\x12\x99\x01\n\x03val\x18\x01 \x02(\x0b\x32\x44.buf.validate.conformance.cases.Proto2MessageRequiredIgnoreEmpty.MsgBA\xbaH>\xba\x01\x38\n\x1bproto2.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x01R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\xdb\x01\n\"Proto2MessageRequiredIgnoreDefault\x12\x9b\x01\n\x03val\x18\x01 \x02(\x0b\x32\x46.buf.validate.conformance.cases.Proto2MessageRequiredIgnoreDefault.MsgBA\xbaH>\xba\x01\x38\n\x1bproto2.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x02R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\xda\x01\n!Proto2MessageRequiredIgnoreAlways\x12\x9b\x01\n\x03val\x18\x01 \x02(\x0b\x32\x45.buf.validate.conformance.cases.Proto2MessageRequiredIgnoreAlways.MsgBB\xbaH?\xba\x01\x39\n\x1cproto2.message.ignore.always\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x03R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"@\n\x1cProto2OneofIgnoreUnspecified\x12\x1b\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02 \x00H\x00R\x03valB\x03\n\x01o\"P\n\'Proto2OneofIgnoreUnspecifiedWithDefault\x12 \n\x03val\x18\x01 \x01(\x05:\x03-42B\x07\xbaH\x04\x1a\x02 \x00H\x00R\x03valB\x03\n\x01o\"=\n\x16Proto2OneofIgnoreEmpty\x12\x1e\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x01H\x00R\x03valB\x03\n\x01o\"M\n!Proto2OneofIgnoreEmptyWithDefault\x12#\n\x03val\x18\x01 \x01(\x05:\x03-42B\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x01H\x00R\x03valB\x03\n\x01o\"?\n\x18Proto2OneofIgnoreDefault\x12\x1e\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x02H\x00R\x03valB\x03\n\x01o\"O\n#Proto2OneofIgnoreDefaultWithDefault\x12#\n\x03val\x18\x01 \x01(\x05:\x03-42B\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x02H\x00R\x03valB\x03\n\x01o\">\n\x17Proto2OneofIgnoreAlways\x12\x1e\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x03H\x00R\x03valB\x03\n\x01o\"N\n\"Proto2OneofIgnoreAlwaysWithDefault\x12#\n\x03val\x18\x01 \x01(\x05:\x03-42B\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x03H\x00R\x03valB\x03\n\x01o\"=\n\x1fProto2RepeatedIgnoreUnspecified\x12\x1a\n\x03val\x18\x01 \x03(\x05\x42\x08\xbaH\x05\x92\x01\x02\x08\x03R\x03val\":\n\x19Proto2RepeatedIgnoreEmpty\x12\x1d\n\x03val\x18\x01 \x03(\x05\x42\x0b\xbaH\x08\x92\x01\x02\x08\x03\xd8\x01\x01R\x03val\"<\n\x1bProto2RepeatedIgnoreDefault\x12\x1d\n\x03val\x18\x01 \x03(\x05\x42\x0b\xbaH\x08\x92\x01\x02\x08\x03\xd8\x01\x02R\x03val\";\n\x1aProto2RepeatedIgnoreAlways\x12\x1d\n\x03val\x18\x01 \x03(\x05\x42\x0b\xbaH\x08\x92\x01\x02\x08\x03\xd8\x01\x03R\x03val\"\xb5\x01\n\x1aProto2MapIgnoreUnspecified\x12_\n\x03val\x18\x01 \x03(\x0b\x32\x43.buf.validate.conformance.cases.Proto2MapIgnoreUnspecified.ValEntryB\x08\xbaH\x05\x9a\x01\x02\x08\x03R\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\"\xac\x01\n\x14Proto2MapIgnoreEmpty\x12\\\n\x03val\x18\x01 \x03(\x0b\x32=.buf.validate.conformance.cases.Proto2MapIgnoreEmpty.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\"\xb0\x01\n\x16Proto2MapIgnoreDefault\x12^\n\x03val\x18\x01 \x03(\x0b\x32?.buf.validate.conformance.cases.Proto2MapIgnoreDefault.ValEntryB\x0b\xbaH\x08\x9a\x01\x02\x08\x03\xd8\x01\x02R\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\"\xae\x01\n\x15Proto2MapIgnoreAlways\x12]\n\x03val\x18\x01 \x03(\x0b\x32>.buf.validate.conformance.cases.Proto2MapIgnoreAlways.ValEntryB\x0b\xbaH\x08\x9a\x01\x02\x08\x03\xd8\x01\x03R\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\"E\n#Proto2RepeatedItemIgnoreUnspecified\x12\x1e\n\x03val\x18\x01 \x03(\x05\x42\x0c\xbaH\t\x92\x01\x06\"\x04\x1a\x02 \x00R\x03val\"B\n\x1dProto2RepeatedItemIgnoreEmpty\x12!\n\x03val\x18\x01 \x03(\x05\x42\x0f\xbaH\x0c\x92\x01\t\"\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\"D\n\x1fProto2RepeatedItemIgnoreDefault\x12!\n\x03val\x18\x01 \x03(\x05\x42\x0f\xbaH\x0c\x92\x01\t\"\x07\x1a\x02 \x00\xd8\x01\x02R\x03val\"C\n\x1eProto2RepeatedItemIgnoreAlways\x12!\n\x03val\x18\x01 \x03(\x05\x42\x0f\xbaH\x0c\x92\x01\t\"\x07\x1a\x02 \x00\xd8\x01\x03R\x03val\"\xbf\x01\n\x1dProto2MapKeyIgnoreUnspecified\x12\x66\n\x03val\x18\x01 \x03(\x0b\x32\x46.buf.validate.conformance.cases.Proto2MapKeyIgnoreUnspecified.ValEntryB\x0c\xbaH\t\x9a\x01\x06\"\x04\x1a\x02 \x00R\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\"\xb6\x01\n\x17Proto2MapKeyIgnoreEmpty\x12\x63\n\x03val\x18\x01 \x03(\x0b\x32@.buf.validate.conformance.cases.Proto2MapKeyIgnoreEmpty.ValEntryB\x0f\xbaH\x0c\x9a\x01\t\"\x07\x1a\x02 \x00\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\"\xba\x01\n\x19Proto2MapKeyIgnoreDefault\x12\x65\n\x03val\x18\x01 \x03(\x0b\x32\x42.buf.validate.conformance.cases.Proto2MapKeyIgnoreDefault.ValEntryB\x0f\xbaH\x0c\x9a\x01\t\"\x07\x1a\x02 \x00\xd8\x01\x02R\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\"\xb8\x01\n\x18Proto2MapKeyIgnoreAlways\x12\x64\n\x03val\x18\x01 \x03(\x0b\x32\x41.buf.validate.conformance.cases.Proto2MapKeyIgnoreAlways.ValEntryB\x0f\xbaH\x0c\x9a\x01\t\"\x07\x1a\x02 \x00\xd8\x01\x03R\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\"\xc3\x01\n\x1fProto2MapValueIgnoreUnspecified\x12h\n\x03val\x18\x01 \x03(\x0b\x32H.buf.validate.conformance.cases.Proto2MapValueIgnoreUnspecified.ValEntryB\x0c\xbaH\t\x9a\x01\x06*\x04\x1a\x02 \x00R\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\"\xba\x01\n\x19Proto2MapValueIgnoreEmpty\x12\x65\n\x03val\x18\x01 \x03(\x0b\x32\x42.buf.validate.conformance.cases.Proto2MapValueIgnoreEmpty.ValEntryB\x0f\xbaH\x0c\x9a\x01\t*\x07\x1a\x02 \x00\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\"\xbe\x01\n\x1bProto2MapValueIgnoreDefault\x12g\n\x03val\x18\x01 \x03(\x0b\x32\x44.buf.validate.conformance.cases.Proto2MapValueIgnoreDefault.ValEntryB\x0f\xbaH\x0c\x9a\x01\t*\x07\x1a\x02 \x00\xd8\x01\x02R\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\"\xbc\x01\n\x1aProto2MapValueIgnoreAlways\x12\x66\n\x03val\x18\x01 \x03(\x0b\x32\x43.buf.validate.conformance.cases.Proto2MapValueIgnoreAlways.ValEntryB\x0f\xbaH\x0c\x9a\x01\t*\x07\x1a\x02 \x00\xd8\x01\x03R\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\xd3\x01\n\"com.buf.validate.conformance.casesB\x11IgnoreProto2ProtoP\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'\n2buf/validate/conformance/cases/ignore_proto2.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x1b\x62uf/validate/validate.proto\"B\n%Proto2ScalarOptionalIgnoreUnspecified\x12\x19\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02 \x00R\x03val\"R\n0Proto2ScalarOptionalIgnoreUnspecifiedWithDefault\x12\x1e\n\x03val\x18\x01 \x01(\x05:\x03-42B\x07\xbaH\x04\x1a\x02 \x00R\x03val\"?\n\x1fProto2ScalarOptionalIgnoreEmpty\x12\x1c\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\"O\n*Proto2ScalarOptionalIgnoreEmptyWithDefault\x12!\n\x03val\x18\x01 \x01(\x05:\x03-42B\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\"@\n Proto2ScalarOptionalIgnoreAlways\x12\x1c\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x03R\x03val\"P\n+Proto2ScalarOptionalIgnoreAlwaysWithDefault\x12!\n\x03val\x18\x01 \x01(\x05:\x03-42B\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x03R\x03val\"B\n%Proto2ScalarRequiredIgnoreUnspecified\x12\x19\n\x03val\x18\x01 \x02(\x05\x42\x07\xbaH\x04\x1a\x02 \x00R\x03val\"R\n0Proto2ScalarRequiredIgnoreUnspecifiedWithDefault\x12\x1e\n\x03val\x18\x01 \x02(\x05:\x03-42B\x07\xbaH\x04\x1a\x02 \x00R\x03val\"?\n\x1fProto2ScalarRequiredIgnoreEmpty\x12\x1c\n\x03val\x18\x01 \x02(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\"O\n*Proto2ScalarRequiredIgnoreEmptyWithDefault\x12!\n\x03val\x18\x01 \x02(\x05:\x03-42B\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\"@\n Proto2ScalarRequiredIgnoreAlways\x12\x1c\n\x03val\x18\x01 \x02(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x03R\x03val\"P\n+Proto2ScalarRequiredIgnoreAlwaysWithDefault\x12!\n\x03val\x18\x01 \x02(\x05:\x03-42B\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x03R\x03val\"\xe0\x01\n&Proto2MessageOptionalIgnoreUnspecified\x12\x9c\x01\n\x03val\x18\x01 \x01(\x0b\x32J.buf.validate.conformance.cases.Proto2MessageOptionalIgnoreUnspecified.MsgB>\xbaH;\xba\x01\x38\n\x1bproto2.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\xd7\x01\n Proto2MessageOptionalIgnoreEmpty\x12\x99\x01\n\x03val\x18\x01 \x01(\x0b\x32\x44.buf.validate.conformance.cases.Proto2MessageOptionalIgnoreEmpty.MsgBA\xbaH>\xba\x01\x38\n\x1bproto2.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x01R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\xda\x01\n!Proto2MessageOptionalIgnoreAlways\x12\x9b\x01\n\x03val\x18\x01 \x01(\x0b\x32\x45.buf.validate.conformance.cases.Proto2MessageOptionalIgnoreAlways.MsgBB\xbaH?\xba\x01\x39\n\x1cproto2.message.ignore.always\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x03R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\xe0\x01\n&Proto2MessageRequiredIgnoreUnspecified\x12\x9c\x01\n\x03val\x18\x01 \x02(\x0b\x32J.buf.validate.conformance.cases.Proto2MessageRequiredIgnoreUnspecified.MsgB>\xbaH;\xba\x01\x38\n\x1bproto2.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\xd7\x01\n Proto2MessageRequiredIgnoreEmpty\x12\x99\x01\n\x03val\x18\x01 \x02(\x0b\x32\x44.buf.validate.conformance.cases.Proto2MessageRequiredIgnoreEmpty.MsgBA\xbaH>\xba\x01\x38\n\x1bproto2.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x01R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\xda\x01\n!Proto2MessageRequiredIgnoreAlways\x12\x9b\x01\n\x03val\x18\x01 \x02(\x0b\x32\x45.buf.validate.conformance.cases.Proto2MessageRequiredIgnoreAlways.MsgBB\xbaH?\xba\x01\x39\n\x1cproto2.message.ignore.always\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x03R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"@\n\x1cProto2OneofIgnoreUnspecified\x12\x1b\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02 \x00H\x00R\x03valB\x03\n\x01o\"P\n\'Proto2OneofIgnoreUnspecifiedWithDefault\x12 \n\x03val\x18\x01 \x01(\x05:\x03-42B\x07\xbaH\x04\x1a\x02 \x00H\x00R\x03valB\x03\n\x01o\"=\n\x16Proto2OneofIgnoreEmpty\x12\x1e\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x01H\x00R\x03valB\x03\n\x01o\"M\n!Proto2OneofIgnoreEmptyWithDefault\x12#\n\x03val\x18\x01 \x01(\x05:\x03-42B\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x01H\x00R\x03valB\x03\n\x01o\">\n\x17Proto2OneofIgnoreAlways\x12\x1e\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x03H\x00R\x03valB\x03\n\x01o\"N\n\"Proto2OneofIgnoreAlwaysWithDefault\x12#\n\x03val\x18\x01 \x01(\x05:\x03-42B\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x03H\x00R\x03valB\x03\n\x01o\"=\n\x1fProto2RepeatedIgnoreUnspecified\x12\x1a\n\x03val\x18\x01 \x03(\x05\x42\x08\xbaH\x05\x92\x01\x02\x08\x03R\x03val\":\n\x19Proto2RepeatedIgnoreEmpty\x12\x1d\n\x03val\x18\x01 \x03(\x05\x42\x0b\xbaH\x08\x92\x01\x02\x08\x03\xd8\x01\x01R\x03val\";\n\x1aProto2RepeatedIgnoreAlways\x12\x1d\n\x03val\x18\x01 \x03(\x05\x42\x0b\xbaH\x08\x92\x01\x02\x08\x03\xd8\x01\x03R\x03val\"\xb5\x01\n\x1aProto2MapIgnoreUnspecified\x12_\n\x03val\x18\x01 \x03(\x0b\x32\x43.buf.validate.conformance.cases.Proto2MapIgnoreUnspecified.ValEntryB\x08\xbaH\x05\x9a\x01\x02\x08\x03R\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\"\xac\x01\n\x14Proto2MapIgnoreEmpty\x12\\\n\x03val\x18\x01 \x03(\x0b\x32=.buf.validate.conformance.cases.Proto2MapIgnoreEmpty.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\"\xae\x01\n\x15Proto2MapIgnoreAlways\x12]\n\x03val\x18\x01 \x03(\x0b\x32>.buf.validate.conformance.cases.Proto2MapIgnoreAlways.ValEntryB\x0b\xbaH\x08\x9a\x01\x02\x08\x03\xd8\x01\x03R\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\"E\n#Proto2RepeatedItemIgnoreUnspecified\x12\x1e\n\x03val\x18\x01 \x03(\x05\x42\x0c\xbaH\t\x92\x01\x06\"\x04\x1a\x02 \x00R\x03val\"B\n\x1dProto2RepeatedItemIgnoreEmpty\x12!\n\x03val\x18\x01 \x03(\x05\x42\x0f\xbaH\x0c\x92\x01\t\"\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\"C\n\x1eProto2RepeatedItemIgnoreAlways\x12!\n\x03val\x18\x01 \x03(\x05\x42\x0f\xbaH\x0c\x92\x01\t\"\x07\x1a\x02 \x00\xd8\x01\x03R\x03val\"\xbf\x01\n\x1dProto2MapKeyIgnoreUnspecified\x12\x66\n\x03val\x18\x01 \x03(\x0b\x32\x46.buf.validate.conformance.cases.Proto2MapKeyIgnoreUnspecified.ValEntryB\x0c\xbaH\t\x9a\x01\x06\"\x04\x1a\x02 \x00R\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\"\xb6\x01\n\x17Proto2MapKeyIgnoreEmpty\x12\x63\n\x03val\x18\x01 \x03(\x0b\x32@.buf.validate.conformance.cases.Proto2MapKeyIgnoreEmpty.ValEntryB\x0f\xbaH\x0c\x9a\x01\t\"\x07\x1a\x02 \x00\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\"\xb8\x01\n\x18Proto2MapKeyIgnoreAlways\x12\x64\n\x03val\x18\x01 \x03(\x0b\x32\x41.buf.validate.conformance.cases.Proto2MapKeyIgnoreAlways.ValEntryB\x0f\xbaH\x0c\x9a\x01\t\"\x07\x1a\x02 \x00\xd8\x01\x03R\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\"\xc3\x01\n\x1fProto2MapValueIgnoreUnspecified\x12h\n\x03val\x18\x01 \x03(\x0b\x32H.buf.validate.conformance.cases.Proto2MapValueIgnoreUnspecified.ValEntryB\x0c\xbaH\t\x9a\x01\x06*\x04\x1a\x02 \x00R\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\"\xba\x01\n\x19Proto2MapValueIgnoreEmpty\x12\x65\n\x03val\x18\x01 \x03(\x0b\x32\x42.buf.validate.conformance.cases.Proto2MapValueIgnoreEmpty.ValEntryB\x0f\xbaH\x0c\x9a\x01\t*\x07\x1a\x02 \x00\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\"\xbc\x01\n\x1aProto2MapValueIgnoreAlways\x12\x66\n\x03val\x18\x01 \x03(\x0b\x32\x43.buf.validate.conformance.cases.Proto2MapValueIgnoreAlways.ValEntryB\x0f\xbaH\x0c\x9a\x01\t*\x07\x1a\x02 \x00\xd8\x01\x03R\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\xd3\x01\n\"com.buf.validate.conformance.casesB\x11IgnoreProto2ProtoP\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) @@ -55,10 +55,6 @@ _globals['_PROTO2SCALAROPTIONALIGNOREEMPTY'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\001' _globals['_PROTO2SCALAROPTIONALIGNOREEMPTYWITHDEFAULT'].fields_by_name['val']._loaded_options = None _globals['_PROTO2SCALAROPTIONALIGNOREEMPTYWITHDEFAULT'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\001' - _globals['_PROTO2SCALAROPTIONALIGNOREDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_PROTO2SCALAROPTIONALIGNOREDEFAULT'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\002' - _globals['_PROTO2SCALAROPTIONALIGNOREDEFAULTWITHDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_PROTO2SCALAROPTIONALIGNOREDEFAULTWITHDEFAULT'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\002' _globals['_PROTO2SCALAROPTIONALIGNOREALWAYS'].fields_by_name['val']._loaded_options = None _globals['_PROTO2SCALAROPTIONALIGNOREALWAYS'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\003' _globals['_PROTO2SCALAROPTIONALIGNOREALWAYSWITHDEFAULT'].fields_by_name['val']._loaded_options = None @@ -71,10 +67,6 @@ _globals['_PROTO2SCALARREQUIREDIGNOREEMPTY'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\001' _globals['_PROTO2SCALARREQUIREDIGNOREEMPTYWITHDEFAULT'].fields_by_name['val']._loaded_options = None _globals['_PROTO2SCALARREQUIREDIGNOREEMPTYWITHDEFAULT'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\001' - _globals['_PROTO2SCALARREQUIREDIGNOREDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_PROTO2SCALARREQUIREDIGNOREDEFAULT'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\002' - _globals['_PROTO2SCALARREQUIREDIGNOREDEFAULTWITHDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_PROTO2SCALARREQUIREDIGNOREDEFAULTWITHDEFAULT'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\002' _globals['_PROTO2SCALARREQUIREDIGNOREALWAYS'].fields_by_name['val']._loaded_options = None _globals['_PROTO2SCALARREQUIREDIGNOREALWAYS'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\003' _globals['_PROTO2SCALARREQUIREDIGNOREALWAYSWITHDEFAULT'].fields_by_name['val']._loaded_options = None @@ -83,16 +75,12 @@ _globals['_PROTO2MESSAGEOPTIONALIGNOREUNSPECIFIED'].fields_by_name['val']._serialized_options = b'\272H;\272\0018\n\033proto2.message.ignore.empty\022\006foobar\032\021this.val == \'foo\'' _globals['_PROTO2MESSAGEOPTIONALIGNOREEMPTY'].fields_by_name['val']._loaded_options = None _globals['_PROTO2MESSAGEOPTIONALIGNOREEMPTY'].fields_by_name['val']._serialized_options = b'\272H>\272\0018\n\033proto2.message.ignore.empty\022\006foobar\032\021this.val == \'foo\'\330\001\001' - _globals['_PROTO2MESSAGEOPTIONALIGNOREDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_PROTO2MESSAGEOPTIONALIGNOREDEFAULT'].fields_by_name['val']._serialized_options = b'\272H>\272\0018\n\033proto2.message.ignore.empty\022\006foobar\032\021this.val == \'foo\'\330\001\002' _globals['_PROTO2MESSAGEOPTIONALIGNOREALWAYS'].fields_by_name['val']._loaded_options = None _globals['_PROTO2MESSAGEOPTIONALIGNOREALWAYS'].fields_by_name['val']._serialized_options = b'\272H?\272\0019\n\034proto2.message.ignore.always\022\006foobar\032\021this.val == \'foo\'\330\001\003' _globals['_PROTO2MESSAGEREQUIREDIGNOREUNSPECIFIED'].fields_by_name['val']._loaded_options = None _globals['_PROTO2MESSAGEREQUIREDIGNOREUNSPECIFIED'].fields_by_name['val']._serialized_options = b'\272H;\272\0018\n\033proto2.message.ignore.empty\022\006foobar\032\021this.val == \'foo\'' _globals['_PROTO2MESSAGEREQUIREDIGNOREEMPTY'].fields_by_name['val']._loaded_options = None _globals['_PROTO2MESSAGEREQUIREDIGNOREEMPTY'].fields_by_name['val']._serialized_options = b'\272H>\272\0018\n\033proto2.message.ignore.empty\022\006foobar\032\021this.val == \'foo\'\330\001\001' - _globals['_PROTO2MESSAGEREQUIREDIGNOREDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_PROTO2MESSAGEREQUIREDIGNOREDEFAULT'].fields_by_name['val']._serialized_options = b'\272H>\272\0018\n\033proto2.message.ignore.empty\022\006foobar\032\021this.val == \'foo\'\330\001\002' _globals['_PROTO2MESSAGEREQUIREDIGNOREALWAYS'].fields_by_name['val']._loaded_options = None _globals['_PROTO2MESSAGEREQUIREDIGNOREALWAYS'].fields_by_name['val']._serialized_options = b'\272H?\272\0019\n\034proto2.message.ignore.always\022\006foobar\032\021this.val == \'foo\'\330\001\003' _globals['_PROTO2ONEOFIGNOREUNSPECIFIED'].fields_by_name['val']._loaded_options = None @@ -103,10 +91,6 @@ _globals['_PROTO2ONEOFIGNOREEMPTY'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\001' _globals['_PROTO2ONEOFIGNOREEMPTYWITHDEFAULT'].fields_by_name['val']._loaded_options = None _globals['_PROTO2ONEOFIGNOREEMPTYWITHDEFAULT'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\001' - _globals['_PROTO2ONEOFIGNOREDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_PROTO2ONEOFIGNOREDEFAULT'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\002' - _globals['_PROTO2ONEOFIGNOREDEFAULTWITHDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_PROTO2ONEOFIGNOREDEFAULTWITHDEFAULT'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\002' _globals['_PROTO2ONEOFIGNOREALWAYS'].fields_by_name['val']._loaded_options = None _globals['_PROTO2ONEOFIGNOREALWAYS'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\003' _globals['_PROTO2ONEOFIGNOREALWAYSWITHDEFAULT'].fields_by_name['val']._loaded_options = None @@ -115,8 +99,6 @@ _globals['_PROTO2REPEATEDIGNOREUNSPECIFIED'].fields_by_name['val']._serialized_options = b'\272H\005\222\001\002\010\003' _globals['_PROTO2REPEATEDIGNOREEMPTY'].fields_by_name['val']._loaded_options = None _globals['_PROTO2REPEATEDIGNOREEMPTY'].fields_by_name['val']._serialized_options = b'\272H\010\222\001\002\010\003\330\001\001' - _globals['_PROTO2REPEATEDIGNOREDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_PROTO2REPEATEDIGNOREDEFAULT'].fields_by_name['val']._serialized_options = b'\272H\010\222\001\002\010\003\330\001\002' _globals['_PROTO2REPEATEDIGNOREALWAYS'].fields_by_name['val']._loaded_options = None _globals['_PROTO2REPEATEDIGNOREALWAYS'].fields_by_name['val']._serialized_options = b'\272H\010\222\001\002\010\003\330\001\003' _globals['_PROTO2MAPIGNOREUNSPECIFIED_VALENTRY']._loaded_options = None @@ -127,10 +109,6 @@ _globals['_PROTO2MAPIGNOREEMPTY_VALENTRY']._serialized_options = b'8\001' _globals['_PROTO2MAPIGNOREEMPTY'].fields_by_name['val']._loaded_options = None _globals['_PROTO2MAPIGNOREEMPTY'].fields_by_name['val']._serialized_options = b'\272H\010\232\001\002\010\003\330\001\001' - _globals['_PROTO2MAPIGNOREDEFAULT_VALENTRY']._loaded_options = None - _globals['_PROTO2MAPIGNOREDEFAULT_VALENTRY']._serialized_options = b'8\001' - _globals['_PROTO2MAPIGNOREDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_PROTO2MAPIGNOREDEFAULT'].fields_by_name['val']._serialized_options = b'\272H\010\232\001\002\010\003\330\001\002' _globals['_PROTO2MAPIGNOREALWAYS_VALENTRY']._loaded_options = None _globals['_PROTO2MAPIGNOREALWAYS_VALENTRY']._serialized_options = b'8\001' _globals['_PROTO2MAPIGNOREALWAYS'].fields_by_name['val']._loaded_options = None @@ -139,8 +117,6 @@ _globals['_PROTO2REPEATEDITEMIGNOREUNSPECIFIED'].fields_by_name['val']._serialized_options = b'\272H\t\222\001\006\"\004\032\002 \000' _globals['_PROTO2REPEATEDITEMIGNOREEMPTY'].fields_by_name['val']._loaded_options = None _globals['_PROTO2REPEATEDITEMIGNOREEMPTY'].fields_by_name['val']._serialized_options = b'\272H\014\222\001\t\"\007\032\002 \000\330\001\001' - _globals['_PROTO2REPEATEDITEMIGNOREDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_PROTO2REPEATEDITEMIGNOREDEFAULT'].fields_by_name['val']._serialized_options = b'\272H\014\222\001\t\"\007\032\002 \000\330\001\002' _globals['_PROTO2REPEATEDITEMIGNOREALWAYS'].fields_by_name['val']._loaded_options = None _globals['_PROTO2REPEATEDITEMIGNOREALWAYS'].fields_by_name['val']._serialized_options = b'\272H\014\222\001\t\"\007\032\002 \000\330\001\003' _globals['_PROTO2MAPKEYIGNOREUNSPECIFIED_VALENTRY']._loaded_options = None @@ -151,10 +127,6 @@ _globals['_PROTO2MAPKEYIGNOREEMPTY_VALENTRY']._serialized_options = b'8\001' _globals['_PROTO2MAPKEYIGNOREEMPTY'].fields_by_name['val']._loaded_options = None _globals['_PROTO2MAPKEYIGNOREEMPTY'].fields_by_name['val']._serialized_options = b'\272H\014\232\001\t\"\007\032\002 \000\330\001\001' - _globals['_PROTO2MAPKEYIGNOREDEFAULT_VALENTRY']._loaded_options = None - _globals['_PROTO2MAPKEYIGNOREDEFAULT_VALENTRY']._serialized_options = b'8\001' - _globals['_PROTO2MAPKEYIGNOREDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_PROTO2MAPKEYIGNOREDEFAULT'].fields_by_name['val']._serialized_options = b'\272H\014\232\001\t\"\007\032\002 \000\330\001\002' _globals['_PROTO2MAPKEYIGNOREALWAYS_VALENTRY']._loaded_options = None _globals['_PROTO2MAPKEYIGNOREALWAYS_VALENTRY']._serialized_options = b'8\001' _globals['_PROTO2MAPKEYIGNOREALWAYS'].fields_by_name['val']._loaded_options = None @@ -167,10 +139,6 @@ _globals['_PROTO2MAPVALUEIGNOREEMPTY_VALENTRY']._serialized_options = b'8\001' _globals['_PROTO2MAPVALUEIGNOREEMPTY'].fields_by_name['val']._loaded_options = None _globals['_PROTO2MAPVALUEIGNOREEMPTY'].fields_by_name['val']._serialized_options = b'\272H\014\232\001\t*\007\032\002 \000\330\001\001' - _globals['_PROTO2MAPVALUEIGNOREDEFAULT_VALENTRY']._loaded_options = None - _globals['_PROTO2MAPVALUEIGNOREDEFAULT_VALENTRY']._serialized_options = b'8\001' - _globals['_PROTO2MAPVALUEIGNOREDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_PROTO2MAPVALUEIGNOREDEFAULT'].fields_by_name['val']._serialized_options = b'\272H\014\232\001\t*\007\032\002 \000\330\001\002' _globals['_PROTO2MAPVALUEIGNOREALWAYS_VALENTRY']._loaded_options = None _globals['_PROTO2MAPVALUEIGNOREALWAYS_VALENTRY']._serialized_options = b'8\001' _globals['_PROTO2MAPVALUEIGNOREALWAYS'].fields_by_name['val']._loaded_options = None @@ -183,140 +151,104 @@ _globals['_PROTO2SCALAROPTIONALIGNOREEMPTY']._serialized_end=330 _globals['_PROTO2SCALAROPTIONALIGNOREEMPTYWITHDEFAULT']._serialized_start=332 _globals['_PROTO2SCALAROPTIONALIGNOREEMPTYWITHDEFAULT']._serialized_end=411 - _globals['_PROTO2SCALAROPTIONALIGNOREDEFAULT']._serialized_start=413 - _globals['_PROTO2SCALAROPTIONALIGNOREDEFAULT']._serialized_end=478 - _globals['_PROTO2SCALAROPTIONALIGNOREDEFAULTWITHDEFAULT']._serialized_start=480 - _globals['_PROTO2SCALAROPTIONALIGNOREDEFAULTWITHDEFAULT']._serialized_end=561 - _globals['_PROTO2SCALAROPTIONALIGNOREALWAYS']._serialized_start=563 - _globals['_PROTO2SCALAROPTIONALIGNOREALWAYS']._serialized_end=627 - _globals['_PROTO2SCALAROPTIONALIGNOREALWAYSWITHDEFAULT']._serialized_start=629 - _globals['_PROTO2SCALAROPTIONALIGNOREALWAYSWITHDEFAULT']._serialized_end=709 - _globals['_PROTO2SCALARREQUIREDIGNOREUNSPECIFIED']._serialized_start=711 - _globals['_PROTO2SCALARREQUIREDIGNOREUNSPECIFIED']._serialized_end=777 - _globals['_PROTO2SCALARREQUIREDIGNOREUNSPECIFIEDWITHDEFAULT']._serialized_start=779 - _globals['_PROTO2SCALARREQUIREDIGNOREUNSPECIFIEDWITHDEFAULT']._serialized_end=861 - _globals['_PROTO2SCALARREQUIREDIGNOREEMPTY']._serialized_start=863 - _globals['_PROTO2SCALARREQUIREDIGNOREEMPTY']._serialized_end=926 - _globals['_PROTO2SCALARREQUIREDIGNOREEMPTYWITHDEFAULT']._serialized_start=928 - _globals['_PROTO2SCALARREQUIREDIGNOREEMPTYWITHDEFAULT']._serialized_end=1007 - _globals['_PROTO2SCALARREQUIREDIGNOREDEFAULT']._serialized_start=1009 - _globals['_PROTO2SCALARREQUIREDIGNOREDEFAULT']._serialized_end=1074 - _globals['_PROTO2SCALARREQUIREDIGNOREDEFAULTWITHDEFAULT']._serialized_start=1076 - _globals['_PROTO2SCALARREQUIREDIGNOREDEFAULTWITHDEFAULT']._serialized_end=1157 - _globals['_PROTO2SCALARREQUIREDIGNOREALWAYS']._serialized_start=1159 - _globals['_PROTO2SCALARREQUIREDIGNOREALWAYS']._serialized_end=1223 - _globals['_PROTO2SCALARREQUIREDIGNOREALWAYSWITHDEFAULT']._serialized_start=1225 - _globals['_PROTO2SCALARREQUIREDIGNOREALWAYSWITHDEFAULT']._serialized_end=1305 - _globals['_PROTO2MESSAGEOPTIONALIGNOREUNSPECIFIED']._serialized_start=1308 - _globals['_PROTO2MESSAGEOPTIONALIGNOREUNSPECIFIED']._serialized_end=1532 - _globals['_PROTO2MESSAGEOPTIONALIGNOREUNSPECIFIED_MSG']._serialized_start=1509 - _globals['_PROTO2MESSAGEOPTIONALIGNOREUNSPECIFIED_MSG']._serialized_end=1532 - _globals['_PROTO2MESSAGEOPTIONALIGNOREEMPTY']._serialized_start=1535 - _globals['_PROTO2MESSAGEOPTIONALIGNOREEMPTY']._serialized_end=1750 - _globals['_PROTO2MESSAGEOPTIONALIGNOREEMPTY_MSG']._serialized_start=1509 - _globals['_PROTO2MESSAGEOPTIONALIGNOREEMPTY_MSG']._serialized_end=1532 - _globals['_PROTO2MESSAGEOPTIONALIGNOREDEFAULT']._serialized_start=1753 - _globals['_PROTO2MESSAGEOPTIONALIGNOREDEFAULT']._serialized_end=1972 - _globals['_PROTO2MESSAGEOPTIONALIGNOREDEFAULT_MSG']._serialized_start=1509 - _globals['_PROTO2MESSAGEOPTIONALIGNOREDEFAULT_MSG']._serialized_end=1532 - _globals['_PROTO2MESSAGEOPTIONALIGNOREALWAYS']._serialized_start=1975 - _globals['_PROTO2MESSAGEOPTIONALIGNOREALWAYS']._serialized_end=2193 - _globals['_PROTO2MESSAGEOPTIONALIGNOREALWAYS_MSG']._serialized_start=1509 - _globals['_PROTO2MESSAGEOPTIONALIGNOREALWAYS_MSG']._serialized_end=1532 - _globals['_PROTO2MESSAGEREQUIREDIGNOREUNSPECIFIED']._serialized_start=2196 - _globals['_PROTO2MESSAGEREQUIREDIGNOREUNSPECIFIED']._serialized_end=2420 - _globals['_PROTO2MESSAGEREQUIREDIGNOREUNSPECIFIED_MSG']._serialized_start=1509 - _globals['_PROTO2MESSAGEREQUIREDIGNOREUNSPECIFIED_MSG']._serialized_end=1532 - _globals['_PROTO2MESSAGEREQUIREDIGNOREEMPTY']._serialized_start=2423 - _globals['_PROTO2MESSAGEREQUIREDIGNOREEMPTY']._serialized_end=2638 - _globals['_PROTO2MESSAGEREQUIREDIGNOREEMPTY_MSG']._serialized_start=1509 - _globals['_PROTO2MESSAGEREQUIREDIGNOREEMPTY_MSG']._serialized_end=1532 - _globals['_PROTO2MESSAGEREQUIREDIGNOREDEFAULT']._serialized_start=2641 - _globals['_PROTO2MESSAGEREQUIREDIGNOREDEFAULT']._serialized_end=2860 - _globals['_PROTO2MESSAGEREQUIREDIGNOREDEFAULT_MSG']._serialized_start=1509 - _globals['_PROTO2MESSAGEREQUIREDIGNOREDEFAULT_MSG']._serialized_end=1532 - _globals['_PROTO2MESSAGEREQUIREDIGNOREALWAYS']._serialized_start=2863 - _globals['_PROTO2MESSAGEREQUIREDIGNOREALWAYS']._serialized_end=3081 - _globals['_PROTO2MESSAGEREQUIREDIGNOREALWAYS_MSG']._serialized_start=1509 - _globals['_PROTO2MESSAGEREQUIREDIGNOREALWAYS_MSG']._serialized_end=1532 - _globals['_PROTO2ONEOFIGNOREUNSPECIFIED']._serialized_start=3083 - _globals['_PROTO2ONEOFIGNOREUNSPECIFIED']._serialized_end=3147 - _globals['_PROTO2ONEOFIGNOREUNSPECIFIEDWITHDEFAULT']._serialized_start=3149 - _globals['_PROTO2ONEOFIGNOREUNSPECIFIEDWITHDEFAULT']._serialized_end=3229 - _globals['_PROTO2ONEOFIGNOREEMPTY']._serialized_start=3231 - _globals['_PROTO2ONEOFIGNOREEMPTY']._serialized_end=3292 - _globals['_PROTO2ONEOFIGNOREEMPTYWITHDEFAULT']._serialized_start=3294 - _globals['_PROTO2ONEOFIGNOREEMPTYWITHDEFAULT']._serialized_end=3371 - _globals['_PROTO2ONEOFIGNOREDEFAULT']._serialized_start=3373 - _globals['_PROTO2ONEOFIGNOREDEFAULT']._serialized_end=3436 - _globals['_PROTO2ONEOFIGNOREDEFAULTWITHDEFAULT']._serialized_start=3438 - _globals['_PROTO2ONEOFIGNOREDEFAULTWITHDEFAULT']._serialized_end=3517 - _globals['_PROTO2ONEOFIGNOREALWAYS']._serialized_start=3519 - _globals['_PROTO2ONEOFIGNOREALWAYS']._serialized_end=3581 - _globals['_PROTO2ONEOFIGNOREALWAYSWITHDEFAULT']._serialized_start=3583 - _globals['_PROTO2ONEOFIGNOREALWAYSWITHDEFAULT']._serialized_end=3661 - _globals['_PROTO2REPEATEDIGNOREUNSPECIFIED']._serialized_start=3663 - _globals['_PROTO2REPEATEDIGNOREUNSPECIFIED']._serialized_end=3724 - _globals['_PROTO2REPEATEDIGNOREEMPTY']._serialized_start=3726 - _globals['_PROTO2REPEATEDIGNOREEMPTY']._serialized_end=3784 - _globals['_PROTO2REPEATEDIGNOREDEFAULT']._serialized_start=3786 - _globals['_PROTO2REPEATEDIGNOREDEFAULT']._serialized_end=3846 - _globals['_PROTO2REPEATEDIGNOREALWAYS']._serialized_start=3848 - _globals['_PROTO2REPEATEDIGNOREALWAYS']._serialized_end=3907 - _globals['_PROTO2MAPIGNOREUNSPECIFIED']._serialized_start=3910 - _globals['_PROTO2MAPIGNOREUNSPECIFIED']._serialized_end=4091 - _globals['_PROTO2MAPIGNOREUNSPECIFIED_VALENTRY']._serialized_start=4037 - _globals['_PROTO2MAPIGNOREUNSPECIFIED_VALENTRY']._serialized_end=4091 - _globals['_PROTO2MAPIGNOREEMPTY']._serialized_start=4094 - _globals['_PROTO2MAPIGNOREEMPTY']._serialized_end=4266 - _globals['_PROTO2MAPIGNOREEMPTY_VALENTRY']._serialized_start=4037 - _globals['_PROTO2MAPIGNOREEMPTY_VALENTRY']._serialized_end=4091 - _globals['_PROTO2MAPIGNOREDEFAULT']._serialized_start=4269 - _globals['_PROTO2MAPIGNOREDEFAULT']._serialized_end=4445 - _globals['_PROTO2MAPIGNOREDEFAULT_VALENTRY']._serialized_start=4037 - _globals['_PROTO2MAPIGNOREDEFAULT_VALENTRY']._serialized_end=4091 - _globals['_PROTO2MAPIGNOREALWAYS']._serialized_start=4448 - _globals['_PROTO2MAPIGNOREALWAYS']._serialized_end=4622 - _globals['_PROTO2MAPIGNOREALWAYS_VALENTRY']._serialized_start=4037 - _globals['_PROTO2MAPIGNOREALWAYS_VALENTRY']._serialized_end=4091 - _globals['_PROTO2REPEATEDITEMIGNOREUNSPECIFIED']._serialized_start=4624 - _globals['_PROTO2REPEATEDITEMIGNOREUNSPECIFIED']._serialized_end=4693 - _globals['_PROTO2REPEATEDITEMIGNOREEMPTY']._serialized_start=4695 - _globals['_PROTO2REPEATEDITEMIGNOREEMPTY']._serialized_end=4761 - _globals['_PROTO2REPEATEDITEMIGNOREDEFAULT']._serialized_start=4763 - _globals['_PROTO2REPEATEDITEMIGNOREDEFAULT']._serialized_end=4831 - _globals['_PROTO2REPEATEDITEMIGNOREALWAYS']._serialized_start=4833 - _globals['_PROTO2REPEATEDITEMIGNOREALWAYS']._serialized_end=4900 - _globals['_PROTO2MAPKEYIGNOREUNSPECIFIED']._serialized_start=4903 - _globals['_PROTO2MAPKEYIGNOREUNSPECIFIED']._serialized_end=5094 - _globals['_PROTO2MAPKEYIGNOREUNSPECIFIED_VALENTRY']._serialized_start=4037 - _globals['_PROTO2MAPKEYIGNOREUNSPECIFIED_VALENTRY']._serialized_end=4091 - _globals['_PROTO2MAPKEYIGNOREEMPTY']._serialized_start=5097 - _globals['_PROTO2MAPKEYIGNOREEMPTY']._serialized_end=5279 - _globals['_PROTO2MAPKEYIGNOREEMPTY_VALENTRY']._serialized_start=4037 - _globals['_PROTO2MAPKEYIGNOREEMPTY_VALENTRY']._serialized_end=4091 - _globals['_PROTO2MAPKEYIGNOREDEFAULT']._serialized_start=5282 - _globals['_PROTO2MAPKEYIGNOREDEFAULT']._serialized_end=5468 - _globals['_PROTO2MAPKEYIGNOREDEFAULT_VALENTRY']._serialized_start=4037 - _globals['_PROTO2MAPKEYIGNOREDEFAULT_VALENTRY']._serialized_end=4091 - _globals['_PROTO2MAPKEYIGNOREALWAYS']._serialized_start=5471 - _globals['_PROTO2MAPKEYIGNOREALWAYS']._serialized_end=5655 - _globals['_PROTO2MAPKEYIGNOREALWAYS_VALENTRY']._serialized_start=4037 - _globals['_PROTO2MAPKEYIGNOREALWAYS_VALENTRY']._serialized_end=4091 - _globals['_PROTO2MAPVALUEIGNOREUNSPECIFIED']._serialized_start=5658 - _globals['_PROTO2MAPVALUEIGNOREUNSPECIFIED']._serialized_end=5853 - _globals['_PROTO2MAPVALUEIGNOREUNSPECIFIED_VALENTRY']._serialized_start=4037 - _globals['_PROTO2MAPVALUEIGNOREUNSPECIFIED_VALENTRY']._serialized_end=4091 - _globals['_PROTO2MAPVALUEIGNOREEMPTY']._serialized_start=5856 - _globals['_PROTO2MAPVALUEIGNOREEMPTY']._serialized_end=6042 - _globals['_PROTO2MAPVALUEIGNOREEMPTY_VALENTRY']._serialized_start=4037 - _globals['_PROTO2MAPVALUEIGNOREEMPTY_VALENTRY']._serialized_end=4091 - _globals['_PROTO2MAPVALUEIGNOREDEFAULT']._serialized_start=6045 - _globals['_PROTO2MAPVALUEIGNOREDEFAULT']._serialized_end=6235 - _globals['_PROTO2MAPVALUEIGNOREDEFAULT_VALENTRY']._serialized_start=4037 - _globals['_PROTO2MAPVALUEIGNOREDEFAULT_VALENTRY']._serialized_end=4091 - _globals['_PROTO2MAPVALUEIGNOREALWAYS']._serialized_start=6238 - _globals['_PROTO2MAPVALUEIGNOREALWAYS']._serialized_end=6426 - _globals['_PROTO2MAPVALUEIGNOREALWAYS_VALENTRY']._serialized_start=4037 - _globals['_PROTO2MAPVALUEIGNOREALWAYS_VALENTRY']._serialized_end=4091 + _globals['_PROTO2SCALAROPTIONALIGNOREALWAYS']._serialized_start=413 + _globals['_PROTO2SCALAROPTIONALIGNOREALWAYS']._serialized_end=477 + _globals['_PROTO2SCALAROPTIONALIGNOREALWAYSWITHDEFAULT']._serialized_start=479 + _globals['_PROTO2SCALAROPTIONALIGNOREALWAYSWITHDEFAULT']._serialized_end=559 + _globals['_PROTO2SCALARREQUIREDIGNOREUNSPECIFIED']._serialized_start=561 + _globals['_PROTO2SCALARREQUIREDIGNOREUNSPECIFIED']._serialized_end=627 + _globals['_PROTO2SCALARREQUIREDIGNOREUNSPECIFIEDWITHDEFAULT']._serialized_start=629 + _globals['_PROTO2SCALARREQUIREDIGNOREUNSPECIFIEDWITHDEFAULT']._serialized_end=711 + _globals['_PROTO2SCALARREQUIREDIGNOREEMPTY']._serialized_start=713 + _globals['_PROTO2SCALARREQUIREDIGNOREEMPTY']._serialized_end=776 + _globals['_PROTO2SCALARREQUIREDIGNOREEMPTYWITHDEFAULT']._serialized_start=778 + _globals['_PROTO2SCALARREQUIREDIGNOREEMPTYWITHDEFAULT']._serialized_end=857 + _globals['_PROTO2SCALARREQUIREDIGNOREALWAYS']._serialized_start=859 + _globals['_PROTO2SCALARREQUIREDIGNOREALWAYS']._serialized_end=923 + _globals['_PROTO2SCALARREQUIREDIGNOREALWAYSWITHDEFAULT']._serialized_start=925 + _globals['_PROTO2SCALARREQUIREDIGNOREALWAYSWITHDEFAULT']._serialized_end=1005 + _globals['_PROTO2MESSAGEOPTIONALIGNOREUNSPECIFIED']._serialized_start=1008 + _globals['_PROTO2MESSAGEOPTIONALIGNOREUNSPECIFIED']._serialized_end=1232 + _globals['_PROTO2MESSAGEOPTIONALIGNOREUNSPECIFIED_MSG']._serialized_start=1209 + _globals['_PROTO2MESSAGEOPTIONALIGNOREUNSPECIFIED_MSG']._serialized_end=1232 + _globals['_PROTO2MESSAGEOPTIONALIGNOREEMPTY']._serialized_start=1235 + _globals['_PROTO2MESSAGEOPTIONALIGNOREEMPTY']._serialized_end=1450 + _globals['_PROTO2MESSAGEOPTIONALIGNOREEMPTY_MSG']._serialized_start=1209 + _globals['_PROTO2MESSAGEOPTIONALIGNOREEMPTY_MSG']._serialized_end=1232 + _globals['_PROTO2MESSAGEOPTIONALIGNOREALWAYS']._serialized_start=1453 + _globals['_PROTO2MESSAGEOPTIONALIGNOREALWAYS']._serialized_end=1671 + _globals['_PROTO2MESSAGEOPTIONALIGNOREALWAYS_MSG']._serialized_start=1209 + _globals['_PROTO2MESSAGEOPTIONALIGNOREALWAYS_MSG']._serialized_end=1232 + _globals['_PROTO2MESSAGEREQUIREDIGNOREUNSPECIFIED']._serialized_start=1674 + _globals['_PROTO2MESSAGEREQUIREDIGNOREUNSPECIFIED']._serialized_end=1898 + _globals['_PROTO2MESSAGEREQUIREDIGNOREUNSPECIFIED_MSG']._serialized_start=1209 + _globals['_PROTO2MESSAGEREQUIREDIGNOREUNSPECIFIED_MSG']._serialized_end=1232 + _globals['_PROTO2MESSAGEREQUIREDIGNOREEMPTY']._serialized_start=1901 + _globals['_PROTO2MESSAGEREQUIREDIGNOREEMPTY']._serialized_end=2116 + _globals['_PROTO2MESSAGEREQUIREDIGNOREEMPTY_MSG']._serialized_start=1209 + _globals['_PROTO2MESSAGEREQUIREDIGNOREEMPTY_MSG']._serialized_end=1232 + _globals['_PROTO2MESSAGEREQUIREDIGNOREALWAYS']._serialized_start=2119 + _globals['_PROTO2MESSAGEREQUIREDIGNOREALWAYS']._serialized_end=2337 + _globals['_PROTO2MESSAGEREQUIREDIGNOREALWAYS_MSG']._serialized_start=1209 + _globals['_PROTO2MESSAGEREQUIREDIGNOREALWAYS_MSG']._serialized_end=1232 + _globals['_PROTO2ONEOFIGNOREUNSPECIFIED']._serialized_start=2339 + _globals['_PROTO2ONEOFIGNOREUNSPECIFIED']._serialized_end=2403 + _globals['_PROTO2ONEOFIGNOREUNSPECIFIEDWITHDEFAULT']._serialized_start=2405 + _globals['_PROTO2ONEOFIGNOREUNSPECIFIEDWITHDEFAULT']._serialized_end=2485 + _globals['_PROTO2ONEOFIGNOREEMPTY']._serialized_start=2487 + _globals['_PROTO2ONEOFIGNOREEMPTY']._serialized_end=2548 + _globals['_PROTO2ONEOFIGNOREEMPTYWITHDEFAULT']._serialized_start=2550 + _globals['_PROTO2ONEOFIGNOREEMPTYWITHDEFAULT']._serialized_end=2627 + _globals['_PROTO2ONEOFIGNOREALWAYS']._serialized_start=2629 + _globals['_PROTO2ONEOFIGNOREALWAYS']._serialized_end=2691 + _globals['_PROTO2ONEOFIGNOREALWAYSWITHDEFAULT']._serialized_start=2693 + _globals['_PROTO2ONEOFIGNOREALWAYSWITHDEFAULT']._serialized_end=2771 + _globals['_PROTO2REPEATEDIGNOREUNSPECIFIED']._serialized_start=2773 + _globals['_PROTO2REPEATEDIGNOREUNSPECIFIED']._serialized_end=2834 + _globals['_PROTO2REPEATEDIGNOREEMPTY']._serialized_start=2836 + _globals['_PROTO2REPEATEDIGNOREEMPTY']._serialized_end=2894 + _globals['_PROTO2REPEATEDIGNOREALWAYS']._serialized_start=2896 + _globals['_PROTO2REPEATEDIGNOREALWAYS']._serialized_end=2955 + _globals['_PROTO2MAPIGNOREUNSPECIFIED']._serialized_start=2958 + _globals['_PROTO2MAPIGNOREUNSPECIFIED']._serialized_end=3139 + _globals['_PROTO2MAPIGNOREUNSPECIFIED_VALENTRY']._serialized_start=3085 + _globals['_PROTO2MAPIGNOREUNSPECIFIED_VALENTRY']._serialized_end=3139 + _globals['_PROTO2MAPIGNOREEMPTY']._serialized_start=3142 + _globals['_PROTO2MAPIGNOREEMPTY']._serialized_end=3314 + _globals['_PROTO2MAPIGNOREEMPTY_VALENTRY']._serialized_start=3085 + _globals['_PROTO2MAPIGNOREEMPTY_VALENTRY']._serialized_end=3139 + _globals['_PROTO2MAPIGNOREALWAYS']._serialized_start=3317 + _globals['_PROTO2MAPIGNOREALWAYS']._serialized_end=3491 + _globals['_PROTO2MAPIGNOREALWAYS_VALENTRY']._serialized_start=3085 + _globals['_PROTO2MAPIGNOREALWAYS_VALENTRY']._serialized_end=3139 + _globals['_PROTO2REPEATEDITEMIGNOREUNSPECIFIED']._serialized_start=3493 + _globals['_PROTO2REPEATEDITEMIGNOREUNSPECIFIED']._serialized_end=3562 + _globals['_PROTO2REPEATEDITEMIGNOREEMPTY']._serialized_start=3564 + _globals['_PROTO2REPEATEDITEMIGNOREEMPTY']._serialized_end=3630 + _globals['_PROTO2REPEATEDITEMIGNOREALWAYS']._serialized_start=3632 + _globals['_PROTO2REPEATEDITEMIGNOREALWAYS']._serialized_end=3699 + _globals['_PROTO2MAPKEYIGNOREUNSPECIFIED']._serialized_start=3702 + _globals['_PROTO2MAPKEYIGNOREUNSPECIFIED']._serialized_end=3893 + _globals['_PROTO2MAPKEYIGNOREUNSPECIFIED_VALENTRY']._serialized_start=3085 + _globals['_PROTO2MAPKEYIGNOREUNSPECIFIED_VALENTRY']._serialized_end=3139 + _globals['_PROTO2MAPKEYIGNOREEMPTY']._serialized_start=3896 + _globals['_PROTO2MAPKEYIGNOREEMPTY']._serialized_end=4078 + _globals['_PROTO2MAPKEYIGNOREEMPTY_VALENTRY']._serialized_start=3085 + _globals['_PROTO2MAPKEYIGNOREEMPTY_VALENTRY']._serialized_end=3139 + _globals['_PROTO2MAPKEYIGNOREALWAYS']._serialized_start=4081 + _globals['_PROTO2MAPKEYIGNOREALWAYS']._serialized_end=4265 + _globals['_PROTO2MAPKEYIGNOREALWAYS_VALENTRY']._serialized_start=3085 + _globals['_PROTO2MAPKEYIGNOREALWAYS_VALENTRY']._serialized_end=3139 + _globals['_PROTO2MAPVALUEIGNOREUNSPECIFIED']._serialized_start=4268 + _globals['_PROTO2MAPVALUEIGNOREUNSPECIFIED']._serialized_end=4463 + _globals['_PROTO2MAPVALUEIGNOREUNSPECIFIED_VALENTRY']._serialized_start=3085 + _globals['_PROTO2MAPVALUEIGNOREUNSPECIFIED_VALENTRY']._serialized_end=3139 + _globals['_PROTO2MAPVALUEIGNOREEMPTY']._serialized_start=4466 + _globals['_PROTO2MAPVALUEIGNOREEMPTY']._serialized_end=4652 + _globals['_PROTO2MAPVALUEIGNOREEMPTY_VALENTRY']._serialized_start=3085 + _globals['_PROTO2MAPVALUEIGNOREEMPTY_VALENTRY']._serialized_end=3139 + _globals['_PROTO2MAPVALUEIGNOREALWAYS']._serialized_start=4655 + _globals['_PROTO2MAPVALUEIGNOREALWAYS']._serialized_end=4843 + _globals['_PROTO2MAPVALUEIGNOREALWAYS_VALENTRY']._serialized_start=3085 + _globals['_PROTO2MAPVALUEIGNOREALWAYS_VALENTRY']._serialized_end=3139 # @@protoc_insertion_point(module_scope) diff --git a/gen/buf/validate/conformance/cases/ignore_proto2_pb2.pyi b/gen/buf/validate/conformance/cases/ignore_proto2_pb2.pyi index aaaf670..41ce1f0 100644 --- a/gen/buf/validate/conformance/cases/ignore_proto2_pb2.pyi +++ b/gen/buf/validate/conformance/cases/ignore_proto2_pb2.pyi @@ -45,18 +45,6 @@ class Proto2ScalarOptionalIgnoreEmptyWithDefault(_message.Message): val: int def __init__(self, val: _Optional[int] = ...) -> None: ... -class Proto2ScalarOptionalIgnoreDefault(_message.Message): - __slots__ = ("val",) - VAL_FIELD_NUMBER: _ClassVar[int] - val: int - def __init__(self, val: _Optional[int] = ...) -> None: ... - -class Proto2ScalarOptionalIgnoreDefaultWithDefault(_message.Message): - __slots__ = ("val",) - VAL_FIELD_NUMBER: _ClassVar[int] - val: int - def __init__(self, val: _Optional[int] = ...) -> None: ... - class Proto2ScalarOptionalIgnoreAlways(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] @@ -93,18 +81,6 @@ class Proto2ScalarRequiredIgnoreEmptyWithDefault(_message.Message): val: int def __init__(self, val: _Optional[int] = ...) -> None: ... -class Proto2ScalarRequiredIgnoreDefault(_message.Message): - __slots__ = ("val",) - VAL_FIELD_NUMBER: _ClassVar[int] - val: int - def __init__(self, val: _Optional[int] = ...) -> None: ... - -class Proto2ScalarRequiredIgnoreDefaultWithDefault(_message.Message): - __slots__ = ("val",) - VAL_FIELD_NUMBER: _ClassVar[int] - val: int - def __init__(self, val: _Optional[int] = ...) -> None: ... - class Proto2ScalarRequiredIgnoreAlways(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] @@ -139,17 +115,6 @@ class Proto2MessageOptionalIgnoreEmpty(_message.Message): val: Proto2MessageOptionalIgnoreEmpty.Msg def __init__(self, val: _Optional[_Union[Proto2MessageOptionalIgnoreEmpty.Msg, _Mapping]] = ...) -> None: ... -class Proto2MessageOptionalIgnoreDefault(_message.Message): - __slots__ = ("val",) - class Msg(_message.Message): - __slots__ = ("val",) - VAL_FIELD_NUMBER: _ClassVar[int] - val: str - def __init__(self, val: _Optional[str] = ...) -> None: ... - VAL_FIELD_NUMBER: _ClassVar[int] - val: Proto2MessageOptionalIgnoreDefault.Msg - def __init__(self, val: _Optional[_Union[Proto2MessageOptionalIgnoreDefault.Msg, _Mapping]] = ...) -> None: ... - class Proto2MessageOptionalIgnoreAlways(_message.Message): __slots__ = ("val",) class Msg(_message.Message): @@ -183,17 +148,6 @@ class Proto2MessageRequiredIgnoreEmpty(_message.Message): val: Proto2MessageRequiredIgnoreEmpty.Msg def __init__(self, val: _Optional[_Union[Proto2MessageRequiredIgnoreEmpty.Msg, _Mapping]] = ...) -> None: ... -class Proto2MessageRequiredIgnoreDefault(_message.Message): - __slots__ = ("val",) - class Msg(_message.Message): - __slots__ = ("val",) - VAL_FIELD_NUMBER: _ClassVar[int] - val: str - def __init__(self, val: _Optional[str] = ...) -> None: ... - VAL_FIELD_NUMBER: _ClassVar[int] - val: Proto2MessageRequiredIgnoreDefault.Msg - def __init__(self, val: _Optional[_Union[Proto2MessageRequiredIgnoreDefault.Msg, _Mapping]] = ...) -> None: ... - class Proto2MessageRequiredIgnoreAlways(_message.Message): __slots__ = ("val",) class Msg(_message.Message): @@ -229,18 +183,6 @@ class Proto2OneofIgnoreEmptyWithDefault(_message.Message): val: int def __init__(self, val: _Optional[int] = ...) -> None: ... -class Proto2OneofIgnoreDefault(_message.Message): - __slots__ = ("val",) - VAL_FIELD_NUMBER: _ClassVar[int] - val: int - def __init__(self, val: _Optional[int] = ...) -> None: ... - -class Proto2OneofIgnoreDefaultWithDefault(_message.Message): - __slots__ = ("val",) - VAL_FIELD_NUMBER: _ClassVar[int] - val: int - def __init__(self, val: _Optional[int] = ...) -> None: ... - class Proto2OneofIgnoreAlways(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] @@ -265,12 +207,6 @@ class Proto2RepeatedIgnoreEmpty(_message.Message): val: _containers.RepeatedScalarFieldContainer[int] def __init__(self, val: _Optional[_Iterable[int]] = ...) -> None: ... -class Proto2RepeatedIgnoreDefault(_message.Message): - __slots__ = ("val",) - VAL_FIELD_NUMBER: _ClassVar[int] - val: _containers.RepeatedScalarFieldContainer[int] - def __init__(self, val: _Optional[_Iterable[int]] = ...) -> None: ... - class Proto2RepeatedIgnoreAlways(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] @@ -303,19 +239,6 @@ class Proto2MapIgnoreEmpty(_message.Message): val: _containers.ScalarMap[int, int] def __init__(self, val: _Optional[_Mapping[int, int]] = ...) -> None: ... -class Proto2MapIgnoreDefault(_message.Message): - __slots__ = ("val",) - class ValEntry(_message.Message): - __slots__ = ("key", "value") - KEY_FIELD_NUMBER: _ClassVar[int] - VALUE_FIELD_NUMBER: _ClassVar[int] - key: int - value: int - def __init__(self, key: _Optional[int] = ..., value: _Optional[int] = ...) -> None: ... - VAL_FIELD_NUMBER: _ClassVar[int] - val: _containers.ScalarMap[int, int] - def __init__(self, val: _Optional[_Mapping[int, int]] = ...) -> None: ... - class Proto2MapIgnoreAlways(_message.Message): __slots__ = ("val",) class ValEntry(_message.Message): @@ -341,12 +264,6 @@ class Proto2RepeatedItemIgnoreEmpty(_message.Message): val: _containers.RepeatedScalarFieldContainer[int] def __init__(self, val: _Optional[_Iterable[int]] = ...) -> None: ... -class Proto2RepeatedItemIgnoreDefault(_message.Message): - __slots__ = ("val",) - VAL_FIELD_NUMBER: _ClassVar[int] - val: _containers.RepeatedScalarFieldContainer[int] - def __init__(self, val: _Optional[_Iterable[int]] = ...) -> None: ... - class Proto2RepeatedItemIgnoreAlways(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] @@ -379,19 +296,6 @@ class Proto2MapKeyIgnoreEmpty(_message.Message): val: _containers.ScalarMap[int, int] def __init__(self, val: _Optional[_Mapping[int, int]] = ...) -> None: ... -class Proto2MapKeyIgnoreDefault(_message.Message): - __slots__ = ("val",) - class ValEntry(_message.Message): - __slots__ = ("key", "value") - KEY_FIELD_NUMBER: _ClassVar[int] - VALUE_FIELD_NUMBER: _ClassVar[int] - key: int - value: int - def __init__(self, key: _Optional[int] = ..., value: _Optional[int] = ...) -> None: ... - VAL_FIELD_NUMBER: _ClassVar[int] - val: _containers.ScalarMap[int, int] - def __init__(self, val: _Optional[_Mapping[int, int]] = ...) -> None: ... - class Proto2MapKeyIgnoreAlways(_message.Message): __slots__ = ("val",) class ValEntry(_message.Message): @@ -431,19 +335,6 @@ class Proto2MapValueIgnoreEmpty(_message.Message): val: _containers.ScalarMap[int, int] def __init__(self, val: _Optional[_Mapping[int, int]] = ...) -> None: ... -class Proto2MapValueIgnoreDefault(_message.Message): - __slots__ = ("val",) - class ValEntry(_message.Message): - __slots__ = ("key", "value") - KEY_FIELD_NUMBER: _ClassVar[int] - VALUE_FIELD_NUMBER: _ClassVar[int] - key: int - value: int - def __init__(self, key: _Optional[int] = ..., value: _Optional[int] = ...) -> None: ... - VAL_FIELD_NUMBER: _ClassVar[int] - val: _containers.ScalarMap[int, int] - def __init__(self, val: _Optional[_Mapping[int, int]] = ...) -> None: ... - class Proto2MapValueIgnoreAlways(_message.Message): __slots__ = ("val",) class ValEntry(_message.Message): diff --git a/gen/buf/validate/conformance/cases/ignore_proto3_pb2.py b/gen/buf/validate/conformance/cases/ignore_proto3_pb2.py index e1ebdff..6be8132 100644 --- a/gen/buf/validate/conformance/cases/ignore_proto3_pb2.py +++ b/gen/buf/validate/conformance/cases/ignore_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'\n2buf/validate/conformance/cases/ignore_proto3.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x1b\x62uf/validate/validate.proto\"O\n%Proto3ScalarOptionalIgnoreUnspecified\x12\x1e\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02 \x00H\x00R\x03val\x88\x01\x01\x42\x06\n\x04_val\"L\n\x1fProto3ScalarOptionalIgnoreEmpty\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\"N\n!Proto3ScalarOptionalIgnoreDefault\x12!\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x02H\x00R\x03val\x88\x01\x01\x42\x06\n\x04_val\"M\n Proto3ScalarOptionalIgnoreAlways\x12!\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x03H\x00R\x03val\x88\x01\x01\x42\x06\n\x04_val\":\n\x1dProto3ScalarIgnoreUnspecified\x12\x19\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02 \x00R\x03val\"7\n\x17Proto3ScalarIgnoreEmpty\x12\x1c\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\"9\n\x19Proto3ScalarIgnoreDefault\x12\x1c\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x02R\x03val\"8\n\x18Proto3ScalarIgnoreAlways\x12\x1c\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x03R\x03val\"\xfa\x01\n&Proto3MessageOptionalIgnoreUnspecified\x12\xa1\x01\n\x03val\x18\x01 \x01(\x0b\x32J.buf.validate.conformance.cases.Proto3MessageOptionalIgnoreUnspecified.MsgB>\xbaH;\xba\x01\x38\n\x1bproto3.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'H\x00R\x03val\x88\x01\x01\x1a$\n\x03Msg\x12\x15\n\x03val\x18\x01 \x01(\tH\x00R\x03val\x88\x01\x01\x42\x06\n\x04_valB\x06\n\x04_val\"\xf1\x01\n Proto3MessageOptionalIgnoreEmpty\x12\x9e\x01\n\x03val\x18\x01 \x01(\x0b\x32\x44.buf.validate.conformance.cases.Proto3MessageOptionalIgnoreEmpty.MsgBA\xbaH>\xba\x01\x38\n\x1bproto3.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x01H\x00R\x03val\x88\x01\x01\x1a$\n\x03Msg\x12\x15\n\x03val\x18\x01 \x01(\tH\x00R\x03val\x88\x01\x01\x42\x06\n\x04_valB\x06\n\x04_val\"\xf5\x01\n\"Proto3MessageOptionalIgnoreDefault\x12\xa0\x01\n\x03val\x18\x01 \x01(\x0b\x32\x46.buf.validate.conformance.cases.Proto3MessageOptionalIgnoreDefault.MsgBA\xbaH>\xba\x01\x38\n\x1bproto3.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x02H\x00R\x03val\x88\x01\x01\x1a$\n\x03Msg\x12\x15\n\x03val\x18\x01 \x01(\tH\x00R\x03val\x88\x01\x01\x42\x06\n\x04_valB\x06\n\x04_val\"\xf4\x01\n!Proto3MessageOptionalIgnoreAlways\x12\xa0\x01\n\x03val\x18\x01 \x01(\x0b\x32\x45.buf.validate.conformance.cases.Proto3MessageOptionalIgnoreAlways.MsgBB\xbaH?\xba\x01\x39\n\x1cproto3.message.ignore.always\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x03H\x00R\x03val\x88\x01\x01\x1a$\n\x03Msg\x12\x15\n\x03val\x18\x01 \x01(\tH\x00R\x03val\x88\x01\x01\x42\x06\n\x04_valB\x06\n\x04_val\"\xdd\x01\n\x1eProto3MessageIgnoreUnspecified\x12\x94\x01\n\x03val\x18\x01 \x01(\x0b\x32\x42.buf.validate.conformance.cases.Proto3MessageIgnoreUnspecified.MsgB>\xbaH;\xba\x01\x38\n\x1bproto3.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'R\x03val\x1a$\n\x03Msg\x12\x15\n\x03val\x18\x01 \x01(\tH\x00R\x03val\x88\x01\x01\x42\x06\n\x04_val\"\xd4\x01\n\x18Proto3MessageIgnoreEmpty\x12\x91\x01\n\x03val\x18\x01 \x01(\x0b\x32<.buf.validate.conformance.cases.Proto3MessageIgnoreEmpty.MsgBA\xbaH>\xba\x01\x38\n\x1bproto3.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x01R\x03val\x1a$\n\x03Msg\x12\x15\n\x03val\x18\x01 \x01(\tH\x00R\x03val\x88\x01\x01\x42\x06\n\x04_val\"\xd8\x01\n\x1aProto3MessageIgnoreDefault\x12\x93\x01\n\x03val\x18\x01 \x01(\x0b\x32>.buf.validate.conformance.cases.Proto3MessageIgnoreDefault.MsgBA\xbaH>\xba\x01\x38\n\x1bproto3.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x02R\x03val\x1a$\n\x03Msg\x12\x15\n\x03val\x18\x01 \x01(\tH\x00R\x03val\x88\x01\x01\x42\x06\n\x04_val\"\xd6\x01\n\x19Proto3MessageIgnoreAlways\x12\x92\x01\n\x03val\x18\x01 \x01(\x0b\x32=.buf.validate.conformance.cases.Proto3MessageIgnoreAlways.MsgBA\xbaH>\xba\x01\x38\n\x1bproto3.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x02R\x03val\x1a$\n\x03Msg\x12\x15\n\x03val\x18\x01 \x01(\tH\x00R\x03val\x88\x01\x01\x42\x06\n\x04_val\"@\n\x1cProto3OneofIgnoreUnspecified\x12\x1b\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02 \x00H\x00R\x03valB\x03\n\x01o\"=\n\x16Proto3OneofIgnoreEmpty\x12\x1e\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x01H\x00R\x03valB\x03\n\x01o\"?\n\x18Proto3OneofIgnoreDefault\x12\x1e\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x02H\x00R\x03valB\x03\n\x01o\">\n\x17Proto3OneofIgnoreAlways\x12\x1e\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x03H\x00R\x03valB\x03\n\x01o\"=\n\x1fProto3RepeatedIgnoreUnspecified\x12\x1a\n\x03val\x18\x01 \x03(\x05\x42\x08\xbaH\x05\x92\x01\x02\x08\x03R\x03val\":\n\x19Proto3RepeatedIgnoreEmpty\x12\x1d\n\x03val\x18\x01 \x03(\x05\x42\x0b\xbaH\x08\x92\x01\x02\x08\x03\xd8\x01\x01R\x03val\"<\n\x1bProto3RepeatedIgnoreDefault\x12\x1d\n\x03val\x18\x01 \x03(\x05\x42\x0b\xbaH\x08\x92\x01\x02\x08\x03\xd8\x01\x02R\x03val\";\n\x1aProto3RepeatedIgnoreAlways\x12\x1d\n\x03val\x18\x01 \x03(\x05\x42\x0b\xbaH\x08\x92\x01\x02\x08\x03\xd8\x01\x03R\x03val\"\xb5\x01\n\x1aProto3MapIgnoreUnspecified\x12_\n\x03val\x18\x01 \x03(\x0b\x32\x43.buf.validate.conformance.cases.Proto3MapIgnoreUnspecified.ValEntryB\x08\xbaH\x05\x9a\x01\x02\x08\x03R\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\"\xac\x01\n\x14Proto3MapIgnoreEmpty\x12\\\n\x03val\x18\x01 \x03(\x0b\x32=.buf.validate.conformance.cases.Proto3MapIgnoreEmpty.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\"\xb0\x01\n\x16Proto3MapIgnoreDefault\x12^\n\x03val\x18\x01 \x03(\x0b\x32?.buf.validate.conformance.cases.Proto3MapIgnoreDefault.ValEntryB\x0b\xbaH\x08\x9a\x01\x02\x08\x03\xd8\x01\x02R\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\"\xae\x01\n\x15Proto3MapIgnoreAlways\x12]\n\x03val\x18\x01 \x03(\x0b\x32>.buf.validate.conformance.cases.Proto3MapIgnoreAlways.ValEntryB\x0b\xbaH\x08\x9a\x01\x02\x08\x03\xd8\x01\x03R\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\"E\n#Proto3RepeatedItemIgnoreUnspecified\x12\x1e\n\x03val\x18\x01 \x03(\x05\x42\x0c\xbaH\t\x92\x01\x06\"\x04\x1a\x02 \x00R\x03val\"B\n\x1dProto3RepeatedItemIgnoreEmpty\x12!\n\x03val\x18\x01 \x03(\x05\x42\x0f\xbaH\x0c\x92\x01\t\"\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\"D\n\x1fProto3RepeatedItemIgnoreDefault\x12!\n\x03val\x18\x01 \x03(\x05\x42\x0f\xbaH\x0c\x92\x01\t\"\x07\x1a\x02 \x00\xd8\x01\x02R\x03val\"C\n\x1eProto3RepeatedItemIgnoreAlways\x12!\n\x03val\x18\x01 \x03(\x05\x42\x0f\xbaH\x0c\x92\x01\t\"\x07\x1a\x02 \x00\xd8\x01\x03R\x03val\"\xbf\x01\n\x1dProto3MapKeyIgnoreUnspecified\x12\x66\n\x03val\x18\x01 \x03(\x0b\x32\x46.buf.validate.conformance.cases.Proto3MapKeyIgnoreUnspecified.ValEntryB\x0c\xbaH\t\x9a\x01\x06\"\x04\x1a\x02 \x00R\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\"\xb6\x01\n\x17Proto3MapKeyIgnoreEmpty\x12\x63\n\x03val\x18\x01 \x03(\x0b\x32@.buf.validate.conformance.cases.Proto3MapKeyIgnoreEmpty.ValEntryB\x0f\xbaH\x0c\x9a\x01\t\"\x07\x1a\x02 \x00\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\"\xba\x01\n\x19Proto3MapKeyIgnoreDefault\x12\x65\n\x03val\x18\x01 \x03(\x0b\x32\x42.buf.validate.conformance.cases.Proto3MapKeyIgnoreDefault.ValEntryB\x0f\xbaH\x0c\x9a\x01\t\"\x07\x1a\x02 \x00\xd8\x01\x02R\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\"\xb8\x01\n\x18Proto3MapKeyIgnoreAlways\x12\x64\n\x03val\x18\x01 \x03(\x0b\x32\x41.buf.validate.conformance.cases.Proto3MapKeyIgnoreAlways.ValEntryB\x0f\xbaH\x0c\x9a\x01\t\"\x07\x1a\x02 \x00\xd8\x01\x03R\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\"\xc3\x01\n\x1fProto3MapValueIgnoreUnspecified\x12h\n\x03val\x18\x01 \x03(\x0b\x32H.buf.validate.conformance.cases.Proto3MapValueIgnoreUnspecified.ValEntryB\x0c\xbaH\t\x9a\x01\x06*\x04\x1a\x02 \x00R\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\"\xba\x01\n\x19Proto3MapValueIgnoreEmpty\x12\x65\n\x03val\x18\x01 \x03(\x0b\x32\x42.buf.validate.conformance.cases.Proto3MapValueIgnoreEmpty.ValEntryB\x0f\xbaH\x0c\x9a\x01\t*\x07\x1a\x02 \x00\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\"\xbe\x01\n\x1bProto3MapValueIgnoreDefault\x12g\n\x03val\x18\x01 \x03(\x0b\x32\x44.buf.validate.conformance.cases.Proto3MapValueIgnoreDefault.ValEntryB\x0f\xbaH\x0c\x9a\x01\t*\x07\x1a\x02 \x00\xd8\x01\x02R\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\"\xbc\x01\n\x1aProto3MapValueIgnoreAlways\x12\x66\n\x03val\x18\x01 \x03(\x0b\x32\x43.buf.validate.conformance.cases.Proto3MapValueIgnoreAlways.ValEntryB\x0f\xbaH\x0c\x9a\x01\t*\x07\x1a\x02 \x00\xd8\x01\x03R\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\xd3\x01\n\"com.buf.validate.conformance.casesB\x11IgnoreProto3ProtoP\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'\n2buf/validate/conformance/cases/ignore_proto3.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x1b\x62uf/validate/validate.proto\"O\n%Proto3ScalarOptionalIgnoreUnspecified\x12\x1e\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02 \x00H\x00R\x03val\x88\x01\x01\x42\x06\n\x04_val\"L\n\x1fProto3ScalarOptionalIgnoreEmpty\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\"M\n Proto3ScalarOptionalIgnoreAlways\x12!\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x03H\x00R\x03val\x88\x01\x01\x42\x06\n\x04_val\":\n\x1dProto3ScalarIgnoreUnspecified\x12\x19\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02 \x00R\x03val\"7\n\x17Proto3ScalarIgnoreEmpty\x12\x1c\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\"8\n\x18Proto3ScalarIgnoreAlways\x12\x1c\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x03R\x03val\"\xfa\x01\n&Proto3MessageOptionalIgnoreUnspecified\x12\xa1\x01\n\x03val\x18\x01 \x01(\x0b\x32J.buf.validate.conformance.cases.Proto3MessageOptionalIgnoreUnspecified.MsgB>\xbaH;\xba\x01\x38\n\x1bproto3.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'H\x00R\x03val\x88\x01\x01\x1a$\n\x03Msg\x12\x15\n\x03val\x18\x01 \x01(\tH\x00R\x03val\x88\x01\x01\x42\x06\n\x04_valB\x06\n\x04_val\"\xf1\x01\n Proto3MessageOptionalIgnoreEmpty\x12\x9e\x01\n\x03val\x18\x01 \x01(\x0b\x32\x44.buf.validate.conformance.cases.Proto3MessageOptionalIgnoreEmpty.MsgBA\xbaH>\xba\x01\x38\n\x1bproto3.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x01H\x00R\x03val\x88\x01\x01\x1a$\n\x03Msg\x12\x15\n\x03val\x18\x01 \x01(\tH\x00R\x03val\x88\x01\x01\x42\x06\n\x04_valB\x06\n\x04_val\"\xf4\x01\n!Proto3MessageOptionalIgnoreAlways\x12\xa0\x01\n\x03val\x18\x01 \x01(\x0b\x32\x45.buf.validate.conformance.cases.Proto3MessageOptionalIgnoreAlways.MsgBB\xbaH?\xba\x01\x39\n\x1cproto3.message.ignore.always\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x03H\x00R\x03val\x88\x01\x01\x1a$\n\x03Msg\x12\x15\n\x03val\x18\x01 \x01(\tH\x00R\x03val\x88\x01\x01\x42\x06\n\x04_valB\x06\n\x04_val\"\xdd\x01\n\x1eProto3MessageIgnoreUnspecified\x12\x94\x01\n\x03val\x18\x01 \x01(\x0b\x32\x42.buf.validate.conformance.cases.Proto3MessageIgnoreUnspecified.MsgB>\xbaH;\xba\x01\x38\n\x1bproto3.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'R\x03val\x1a$\n\x03Msg\x12\x15\n\x03val\x18\x01 \x01(\tH\x00R\x03val\x88\x01\x01\x42\x06\n\x04_val\"\xd4\x01\n\x18Proto3MessageIgnoreEmpty\x12\x91\x01\n\x03val\x18\x01 \x01(\x0b\x32<.buf.validate.conformance.cases.Proto3MessageIgnoreEmpty.MsgBA\xbaH>\xba\x01\x38\n\x1bproto3.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x01R\x03val\x1a$\n\x03Msg\x12\x15\n\x03val\x18\x01 \x01(\tH\x00R\x03val\x88\x01\x01\x42\x06\n\x04_val\"@\n\x1cProto3OneofIgnoreUnspecified\x12\x1b\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02 \x00H\x00R\x03valB\x03\n\x01o\"=\n\x16Proto3OneofIgnoreEmpty\x12\x1e\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x01H\x00R\x03valB\x03\n\x01o\">\n\x17Proto3OneofIgnoreAlways\x12\x1e\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x03H\x00R\x03valB\x03\n\x01o\"=\n\x1fProto3RepeatedIgnoreUnspecified\x12\x1a\n\x03val\x18\x01 \x03(\x05\x42\x08\xbaH\x05\x92\x01\x02\x08\x03R\x03val\":\n\x19Proto3RepeatedIgnoreEmpty\x12\x1d\n\x03val\x18\x01 \x03(\x05\x42\x0b\xbaH\x08\x92\x01\x02\x08\x03\xd8\x01\x01R\x03val\";\n\x1aProto3RepeatedIgnoreAlways\x12\x1d\n\x03val\x18\x01 \x03(\x05\x42\x0b\xbaH\x08\x92\x01\x02\x08\x03\xd8\x01\x03R\x03val\"\xb5\x01\n\x1aProto3MapIgnoreUnspecified\x12_\n\x03val\x18\x01 \x03(\x0b\x32\x43.buf.validate.conformance.cases.Proto3MapIgnoreUnspecified.ValEntryB\x08\xbaH\x05\x9a\x01\x02\x08\x03R\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\"\xac\x01\n\x14Proto3MapIgnoreEmpty\x12\\\n\x03val\x18\x01 \x03(\x0b\x32=.buf.validate.conformance.cases.Proto3MapIgnoreEmpty.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\"\xae\x01\n\x15Proto3MapIgnoreAlways\x12]\n\x03val\x18\x01 \x03(\x0b\x32>.buf.validate.conformance.cases.Proto3MapIgnoreAlways.ValEntryB\x0b\xbaH\x08\x9a\x01\x02\x08\x03\xd8\x01\x03R\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\"E\n#Proto3RepeatedItemIgnoreUnspecified\x12\x1e\n\x03val\x18\x01 \x03(\x05\x42\x0c\xbaH\t\x92\x01\x06\"\x04\x1a\x02 \x00R\x03val\"B\n\x1dProto3RepeatedItemIgnoreEmpty\x12!\n\x03val\x18\x01 \x03(\x05\x42\x0f\xbaH\x0c\x92\x01\t\"\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\"C\n\x1eProto3RepeatedItemIgnoreAlways\x12!\n\x03val\x18\x01 \x03(\x05\x42\x0f\xbaH\x0c\x92\x01\t\"\x07\x1a\x02 \x00\xd8\x01\x03R\x03val\"\xbf\x01\n\x1dProto3MapKeyIgnoreUnspecified\x12\x66\n\x03val\x18\x01 \x03(\x0b\x32\x46.buf.validate.conformance.cases.Proto3MapKeyIgnoreUnspecified.ValEntryB\x0c\xbaH\t\x9a\x01\x06\"\x04\x1a\x02 \x00R\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\"\xb6\x01\n\x17Proto3MapKeyIgnoreEmpty\x12\x63\n\x03val\x18\x01 \x03(\x0b\x32@.buf.validate.conformance.cases.Proto3MapKeyIgnoreEmpty.ValEntryB\x0f\xbaH\x0c\x9a\x01\t\"\x07\x1a\x02 \x00\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\"\xb8\x01\n\x18Proto3MapKeyIgnoreAlways\x12\x64\n\x03val\x18\x01 \x03(\x0b\x32\x41.buf.validate.conformance.cases.Proto3MapKeyIgnoreAlways.ValEntryB\x0f\xbaH\x0c\x9a\x01\t\"\x07\x1a\x02 \x00\xd8\x01\x03R\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\"\xc3\x01\n\x1fProto3MapValueIgnoreUnspecified\x12h\n\x03val\x18\x01 \x03(\x0b\x32H.buf.validate.conformance.cases.Proto3MapValueIgnoreUnspecified.ValEntryB\x0c\xbaH\t\x9a\x01\x06*\x04\x1a\x02 \x00R\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\"\xba\x01\n\x19Proto3MapValueIgnoreEmpty\x12\x65\n\x03val\x18\x01 \x03(\x0b\x32\x42.buf.validate.conformance.cases.Proto3MapValueIgnoreEmpty.ValEntryB\x0f\xbaH\x0c\x9a\x01\t*\x07\x1a\x02 \x00\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\"\xbc\x01\n\x1aProto3MapValueIgnoreAlways\x12\x66\n\x03val\x18\x01 \x03(\x0b\x32\x43.buf.validate.conformance.cases.Proto3MapValueIgnoreAlways.ValEntryB\x0f\xbaH\x0c\x9a\x01\t*\x07\x1a\x02 \x00\xd8\x01\x03R\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\xd3\x01\n\"com.buf.validate.conformance.casesB\x11IgnoreProto3ProtoP\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) @@ -51,48 +51,34 @@ _globals['_PROTO3SCALAROPTIONALIGNOREUNSPECIFIED'].fields_by_name['val']._serialized_options = b'\272H\004\032\002 \000' _globals['_PROTO3SCALAROPTIONALIGNOREEMPTY'].fields_by_name['val']._loaded_options = None _globals['_PROTO3SCALAROPTIONALIGNOREEMPTY'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\001' - _globals['_PROTO3SCALAROPTIONALIGNOREDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_PROTO3SCALAROPTIONALIGNOREDEFAULT'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\002' _globals['_PROTO3SCALAROPTIONALIGNOREALWAYS'].fields_by_name['val']._loaded_options = None _globals['_PROTO3SCALAROPTIONALIGNOREALWAYS'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\003' _globals['_PROTO3SCALARIGNOREUNSPECIFIED'].fields_by_name['val']._loaded_options = None _globals['_PROTO3SCALARIGNOREUNSPECIFIED'].fields_by_name['val']._serialized_options = b'\272H\004\032\002 \000' _globals['_PROTO3SCALARIGNOREEMPTY'].fields_by_name['val']._loaded_options = None _globals['_PROTO3SCALARIGNOREEMPTY'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\001' - _globals['_PROTO3SCALARIGNOREDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_PROTO3SCALARIGNOREDEFAULT'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\002' _globals['_PROTO3SCALARIGNOREALWAYS'].fields_by_name['val']._loaded_options = None _globals['_PROTO3SCALARIGNOREALWAYS'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\003' _globals['_PROTO3MESSAGEOPTIONALIGNOREUNSPECIFIED'].fields_by_name['val']._loaded_options = None _globals['_PROTO3MESSAGEOPTIONALIGNOREUNSPECIFIED'].fields_by_name['val']._serialized_options = b'\272H;\272\0018\n\033proto3.message.ignore.empty\022\006foobar\032\021this.val == \'foo\'' _globals['_PROTO3MESSAGEOPTIONALIGNOREEMPTY'].fields_by_name['val']._loaded_options = None _globals['_PROTO3MESSAGEOPTIONALIGNOREEMPTY'].fields_by_name['val']._serialized_options = b'\272H>\272\0018\n\033proto3.message.ignore.empty\022\006foobar\032\021this.val == \'foo\'\330\001\001' - _globals['_PROTO3MESSAGEOPTIONALIGNOREDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_PROTO3MESSAGEOPTIONALIGNOREDEFAULT'].fields_by_name['val']._serialized_options = b'\272H>\272\0018\n\033proto3.message.ignore.empty\022\006foobar\032\021this.val == \'foo\'\330\001\002' _globals['_PROTO3MESSAGEOPTIONALIGNOREALWAYS'].fields_by_name['val']._loaded_options = None _globals['_PROTO3MESSAGEOPTIONALIGNOREALWAYS'].fields_by_name['val']._serialized_options = b'\272H?\272\0019\n\034proto3.message.ignore.always\022\006foobar\032\021this.val == \'foo\'\330\001\003' _globals['_PROTO3MESSAGEIGNOREUNSPECIFIED'].fields_by_name['val']._loaded_options = None _globals['_PROTO3MESSAGEIGNOREUNSPECIFIED'].fields_by_name['val']._serialized_options = b'\272H;\272\0018\n\033proto3.message.ignore.empty\022\006foobar\032\021this.val == \'foo\'' _globals['_PROTO3MESSAGEIGNOREEMPTY'].fields_by_name['val']._loaded_options = None _globals['_PROTO3MESSAGEIGNOREEMPTY'].fields_by_name['val']._serialized_options = b'\272H>\272\0018\n\033proto3.message.ignore.empty\022\006foobar\032\021this.val == \'foo\'\330\001\001' - _globals['_PROTO3MESSAGEIGNOREDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_PROTO3MESSAGEIGNOREDEFAULT'].fields_by_name['val']._serialized_options = b'\272H>\272\0018\n\033proto3.message.ignore.empty\022\006foobar\032\021this.val == \'foo\'\330\001\002' - _globals['_PROTO3MESSAGEIGNOREALWAYS'].fields_by_name['val']._loaded_options = None - _globals['_PROTO3MESSAGEIGNOREALWAYS'].fields_by_name['val']._serialized_options = b'\272H>\272\0018\n\033proto3.message.ignore.empty\022\006foobar\032\021this.val == \'foo\'\330\001\002' _globals['_PROTO3ONEOFIGNOREUNSPECIFIED'].fields_by_name['val']._loaded_options = None _globals['_PROTO3ONEOFIGNOREUNSPECIFIED'].fields_by_name['val']._serialized_options = b'\272H\004\032\002 \000' _globals['_PROTO3ONEOFIGNOREEMPTY'].fields_by_name['val']._loaded_options = None _globals['_PROTO3ONEOFIGNOREEMPTY'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\001' - _globals['_PROTO3ONEOFIGNOREDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_PROTO3ONEOFIGNOREDEFAULT'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\002' _globals['_PROTO3ONEOFIGNOREALWAYS'].fields_by_name['val']._loaded_options = None _globals['_PROTO3ONEOFIGNOREALWAYS'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\003' _globals['_PROTO3REPEATEDIGNOREUNSPECIFIED'].fields_by_name['val']._loaded_options = None _globals['_PROTO3REPEATEDIGNOREUNSPECIFIED'].fields_by_name['val']._serialized_options = b'\272H\005\222\001\002\010\003' _globals['_PROTO3REPEATEDIGNOREEMPTY'].fields_by_name['val']._loaded_options = None _globals['_PROTO3REPEATEDIGNOREEMPTY'].fields_by_name['val']._serialized_options = b'\272H\010\222\001\002\010\003\330\001\001' - _globals['_PROTO3REPEATEDIGNOREDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_PROTO3REPEATEDIGNOREDEFAULT'].fields_by_name['val']._serialized_options = b'\272H\010\222\001\002\010\003\330\001\002' _globals['_PROTO3REPEATEDIGNOREALWAYS'].fields_by_name['val']._loaded_options = None _globals['_PROTO3REPEATEDIGNOREALWAYS'].fields_by_name['val']._serialized_options = b'\272H\010\222\001\002\010\003\330\001\003' _globals['_PROTO3MAPIGNOREUNSPECIFIED_VALENTRY']._loaded_options = None @@ -103,10 +89,6 @@ _globals['_PROTO3MAPIGNOREEMPTY_VALENTRY']._serialized_options = b'8\001' _globals['_PROTO3MAPIGNOREEMPTY'].fields_by_name['val']._loaded_options = None _globals['_PROTO3MAPIGNOREEMPTY'].fields_by_name['val']._serialized_options = b'\272H\010\232\001\002\010\003\330\001\001' - _globals['_PROTO3MAPIGNOREDEFAULT_VALENTRY']._loaded_options = None - _globals['_PROTO3MAPIGNOREDEFAULT_VALENTRY']._serialized_options = b'8\001' - _globals['_PROTO3MAPIGNOREDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_PROTO3MAPIGNOREDEFAULT'].fields_by_name['val']._serialized_options = b'\272H\010\232\001\002\010\003\330\001\002' _globals['_PROTO3MAPIGNOREALWAYS_VALENTRY']._loaded_options = None _globals['_PROTO3MAPIGNOREALWAYS_VALENTRY']._serialized_options = b'8\001' _globals['_PROTO3MAPIGNOREALWAYS'].fields_by_name['val']._loaded_options = None @@ -115,8 +97,6 @@ _globals['_PROTO3REPEATEDITEMIGNOREUNSPECIFIED'].fields_by_name['val']._serialized_options = b'\272H\t\222\001\006\"\004\032\002 \000' _globals['_PROTO3REPEATEDITEMIGNOREEMPTY'].fields_by_name['val']._loaded_options = None _globals['_PROTO3REPEATEDITEMIGNOREEMPTY'].fields_by_name['val']._serialized_options = b'\272H\014\222\001\t\"\007\032\002 \000\330\001\001' - _globals['_PROTO3REPEATEDITEMIGNOREDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_PROTO3REPEATEDITEMIGNOREDEFAULT'].fields_by_name['val']._serialized_options = b'\272H\014\222\001\t\"\007\032\002 \000\330\001\002' _globals['_PROTO3REPEATEDITEMIGNOREALWAYS'].fields_by_name['val']._loaded_options = None _globals['_PROTO3REPEATEDITEMIGNOREALWAYS'].fields_by_name['val']._serialized_options = b'\272H\014\222\001\t\"\007\032\002 \000\330\001\003' _globals['_PROTO3MAPKEYIGNOREUNSPECIFIED_VALENTRY']._loaded_options = None @@ -127,10 +107,6 @@ _globals['_PROTO3MAPKEYIGNOREEMPTY_VALENTRY']._serialized_options = b'8\001' _globals['_PROTO3MAPKEYIGNOREEMPTY'].fields_by_name['val']._loaded_options = None _globals['_PROTO3MAPKEYIGNOREEMPTY'].fields_by_name['val']._serialized_options = b'\272H\014\232\001\t\"\007\032\002 \000\330\001\001' - _globals['_PROTO3MAPKEYIGNOREDEFAULT_VALENTRY']._loaded_options = None - _globals['_PROTO3MAPKEYIGNOREDEFAULT_VALENTRY']._serialized_options = b'8\001' - _globals['_PROTO3MAPKEYIGNOREDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_PROTO3MAPKEYIGNOREDEFAULT'].fields_by_name['val']._serialized_options = b'\272H\014\232\001\t\"\007\032\002 \000\330\001\002' _globals['_PROTO3MAPKEYIGNOREALWAYS_VALENTRY']._loaded_options = None _globals['_PROTO3MAPKEYIGNOREALWAYS_VALENTRY']._serialized_options = b'8\001' _globals['_PROTO3MAPKEYIGNOREALWAYS'].fields_by_name['val']._loaded_options = None @@ -143,10 +119,6 @@ _globals['_PROTO3MAPVALUEIGNOREEMPTY_VALENTRY']._serialized_options = b'8\001' _globals['_PROTO3MAPVALUEIGNOREEMPTY'].fields_by_name['val']._loaded_options = None _globals['_PROTO3MAPVALUEIGNOREEMPTY'].fields_by_name['val']._serialized_options = b'\272H\014\232\001\t*\007\032\002 \000\330\001\001' - _globals['_PROTO3MAPVALUEIGNOREDEFAULT_VALENTRY']._loaded_options = None - _globals['_PROTO3MAPVALUEIGNOREDEFAULT_VALENTRY']._serialized_options = b'8\001' - _globals['_PROTO3MAPVALUEIGNOREDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_PROTO3MAPVALUEIGNOREDEFAULT'].fields_by_name['val']._serialized_options = b'\272H\014\232\001\t*\007\032\002 \000\330\001\002' _globals['_PROTO3MAPVALUEIGNOREALWAYS_VALENTRY']._loaded_options = None _globals['_PROTO3MAPVALUEIGNOREALWAYS_VALENTRY']._serialized_options = b'8\001' _globals['_PROTO3MAPVALUEIGNOREALWAYS'].fields_by_name['val']._loaded_options = None @@ -155,120 +127,86 @@ _globals['_PROTO3SCALAROPTIONALIGNOREUNSPECIFIED']._serialized_end=194 _globals['_PROTO3SCALAROPTIONALIGNOREEMPTY']._serialized_start=196 _globals['_PROTO3SCALAROPTIONALIGNOREEMPTY']._serialized_end=272 - _globals['_PROTO3SCALAROPTIONALIGNOREDEFAULT']._serialized_start=274 - _globals['_PROTO3SCALAROPTIONALIGNOREDEFAULT']._serialized_end=352 - _globals['_PROTO3SCALAROPTIONALIGNOREALWAYS']._serialized_start=354 - _globals['_PROTO3SCALAROPTIONALIGNOREALWAYS']._serialized_end=431 - _globals['_PROTO3SCALARIGNOREUNSPECIFIED']._serialized_start=433 - _globals['_PROTO3SCALARIGNOREUNSPECIFIED']._serialized_end=491 - _globals['_PROTO3SCALARIGNOREEMPTY']._serialized_start=493 - _globals['_PROTO3SCALARIGNOREEMPTY']._serialized_end=548 - _globals['_PROTO3SCALARIGNOREDEFAULT']._serialized_start=550 - _globals['_PROTO3SCALARIGNOREDEFAULT']._serialized_end=607 - _globals['_PROTO3SCALARIGNOREALWAYS']._serialized_start=609 - _globals['_PROTO3SCALARIGNOREALWAYS']._serialized_end=665 - _globals['_PROTO3MESSAGEOPTIONALIGNOREUNSPECIFIED']._serialized_start=668 - _globals['_PROTO3MESSAGEOPTIONALIGNOREUNSPECIFIED']._serialized_end=918 - _globals['_PROTO3MESSAGEOPTIONALIGNOREUNSPECIFIED_MSG']._serialized_start=874 - _globals['_PROTO3MESSAGEOPTIONALIGNOREUNSPECIFIED_MSG']._serialized_end=910 - _globals['_PROTO3MESSAGEOPTIONALIGNOREEMPTY']._serialized_start=921 - _globals['_PROTO3MESSAGEOPTIONALIGNOREEMPTY']._serialized_end=1162 - _globals['_PROTO3MESSAGEOPTIONALIGNOREEMPTY_MSG']._serialized_start=874 - _globals['_PROTO3MESSAGEOPTIONALIGNOREEMPTY_MSG']._serialized_end=910 - _globals['_PROTO3MESSAGEOPTIONALIGNOREDEFAULT']._serialized_start=1165 - _globals['_PROTO3MESSAGEOPTIONALIGNOREDEFAULT']._serialized_end=1410 - _globals['_PROTO3MESSAGEOPTIONALIGNOREDEFAULT_MSG']._serialized_start=874 - _globals['_PROTO3MESSAGEOPTIONALIGNOREDEFAULT_MSG']._serialized_end=910 - _globals['_PROTO3MESSAGEOPTIONALIGNOREALWAYS']._serialized_start=1413 - _globals['_PROTO3MESSAGEOPTIONALIGNOREALWAYS']._serialized_end=1657 - _globals['_PROTO3MESSAGEOPTIONALIGNOREALWAYS_MSG']._serialized_start=874 - _globals['_PROTO3MESSAGEOPTIONALIGNOREALWAYS_MSG']._serialized_end=910 - _globals['_PROTO3MESSAGEIGNOREUNSPECIFIED']._serialized_start=1660 - _globals['_PROTO3MESSAGEIGNOREUNSPECIFIED']._serialized_end=1881 - _globals['_PROTO3MESSAGEIGNOREUNSPECIFIED_MSG']._serialized_start=874 - _globals['_PROTO3MESSAGEIGNOREUNSPECIFIED_MSG']._serialized_end=910 - _globals['_PROTO3MESSAGEIGNOREEMPTY']._serialized_start=1884 - _globals['_PROTO3MESSAGEIGNOREEMPTY']._serialized_end=2096 - _globals['_PROTO3MESSAGEIGNOREEMPTY_MSG']._serialized_start=874 - _globals['_PROTO3MESSAGEIGNOREEMPTY_MSG']._serialized_end=910 - _globals['_PROTO3MESSAGEIGNOREDEFAULT']._serialized_start=2099 - _globals['_PROTO3MESSAGEIGNOREDEFAULT']._serialized_end=2315 - _globals['_PROTO3MESSAGEIGNOREDEFAULT_MSG']._serialized_start=874 - _globals['_PROTO3MESSAGEIGNOREDEFAULT_MSG']._serialized_end=910 - _globals['_PROTO3MESSAGEIGNOREALWAYS']._serialized_start=2318 - _globals['_PROTO3MESSAGEIGNOREALWAYS']._serialized_end=2532 - _globals['_PROTO3MESSAGEIGNOREALWAYS_MSG']._serialized_start=874 - _globals['_PROTO3MESSAGEIGNOREALWAYS_MSG']._serialized_end=910 - _globals['_PROTO3ONEOFIGNOREUNSPECIFIED']._serialized_start=2534 - _globals['_PROTO3ONEOFIGNOREUNSPECIFIED']._serialized_end=2598 - _globals['_PROTO3ONEOFIGNOREEMPTY']._serialized_start=2600 - _globals['_PROTO3ONEOFIGNOREEMPTY']._serialized_end=2661 - _globals['_PROTO3ONEOFIGNOREDEFAULT']._serialized_start=2663 - _globals['_PROTO3ONEOFIGNOREDEFAULT']._serialized_end=2726 - _globals['_PROTO3ONEOFIGNOREALWAYS']._serialized_start=2728 - _globals['_PROTO3ONEOFIGNOREALWAYS']._serialized_end=2790 - _globals['_PROTO3REPEATEDIGNOREUNSPECIFIED']._serialized_start=2792 - _globals['_PROTO3REPEATEDIGNOREUNSPECIFIED']._serialized_end=2853 - _globals['_PROTO3REPEATEDIGNOREEMPTY']._serialized_start=2855 - _globals['_PROTO3REPEATEDIGNOREEMPTY']._serialized_end=2913 - _globals['_PROTO3REPEATEDIGNOREDEFAULT']._serialized_start=2915 - _globals['_PROTO3REPEATEDIGNOREDEFAULT']._serialized_end=2975 - _globals['_PROTO3REPEATEDIGNOREALWAYS']._serialized_start=2977 - _globals['_PROTO3REPEATEDIGNOREALWAYS']._serialized_end=3036 - _globals['_PROTO3MAPIGNOREUNSPECIFIED']._serialized_start=3039 - _globals['_PROTO3MAPIGNOREUNSPECIFIED']._serialized_end=3220 - _globals['_PROTO3MAPIGNOREUNSPECIFIED_VALENTRY']._serialized_start=3166 - _globals['_PROTO3MAPIGNOREUNSPECIFIED_VALENTRY']._serialized_end=3220 - _globals['_PROTO3MAPIGNOREEMPTY']._serialized_start=3223 - _globals['_PROTO3MAPIGNOREEMPTY']._serialized_end=3395 - _globals['_PROTO3MAPIGNOREEMPTY_VALENTRY']._serialized_start=3166 - _globals['_PROTO3MAPIGNOREEMPTY_VALENTRY']._serialized_end=3220 - _globals['_PROTO3MAPIGNOREDEFAULT']._serialized_start=3398 - _globals['_PROTO3MAPIGNOREDEFAULT']._serialized_end=3574 - _globals['_PROTO3MAPIGNOREDEFAULT_VALENTRY']._serialized_start=3166 - _globals['_PROTO3MAPIGNOREDEFAULT_VALENTRY']._serialized_end=3220 - _globals['_PROTO3MAPIGNOREALWAYS']._serialized_start=3577 - _globals['_PROTO3MAPIGNOREALWAYS']._serialized_end=3751 - _globals['_PROTO3MAPIGNOREALWAYS_VALENTRY']._serialized_start=3166 - _globals['_PROTO3MAPIGNOREALWAYS_VALENTRY']._serialized_end=3220 - _globals['_PROTO3REPEATEDITEMIGNOREUNSPECIFIED']._serialized_start=3753 - _globals['_PROTO3REPEATEDITEMIGNOREUNSPECIFIED']._serialized_end=3822 - _globals['_PROTO3REPEATEDITEMIGNOREEMPTY']._serialized_start=3824 - _globals['_PROTO3REPEATEDITEMIGNOREEMPTY']._serialized_end=3890 - _globals['_PROTO3REPEATEDITEMIGNOREDEFAULT']._serialized_start=3892 - _globals['_PROTO3REPEATEDITEMIGNOREDEFAULT']._serialized_end=3960 - _globals['_PROTO3REPEATEDITEMIGNOREALWAYS']._serialized_start=3962 - _globals['_PROTO3REPEATEDITEMIGNOREALWAYS']._serialized_end=4029 - _globals['_PROTO3MAPKEYIGNOREUNSPECIFIED']._serialized_start=4032 - _globals['_PROTO3MAPKEYIGNOREUNSPECIFIED']._serialized_end=4223 - _globals['_PROTO3MAPKEYIGNOREUNSPECIFIED_VALENTRY']._serialized_start=3166 - _globals['_PROTO3MAPKEYIGNOREUNSPECIFIED_VALENTRY']._serialized_end=3220 - _globals['_PROTO3MAPKEYIGNOREEMPTY']._serialized_start=4226 - _globals['_PROTO3MAPKEYIGNOREEMPTY']._serialized_end=4408 - _globals['_PROTO3MAPKEYIGNOREEMPTY_VALENTRY']._serialized_start=3166 - _globals['_PROTO3MAPKEYIGNOREEMPTY_VALENTRY']._serialized_end=3220 - _globals['_PROTO3MAPKEYIGNOREDEFAULT']._serialized_start=4411 - _globals['_PROTO3MAPKEYIGNOREDEFAULT']._serialized_end=4597 - _globals['_PROTO3MAPKEYIGNOREDEFAULT_VALENTRY']._serialized_start=3166 - _globals['_PROTO3MAPKEYIGNOREDEFAULT_VALENTRY']._serialized_end=3220 - _globals['_PROTO3MAPKEYIGNOREALWAYS']._serialized_start=4600 - _globals['_PROTO3MAPKEYIGNOREALWAYS']._serialized_end=4784 - _globals['_PROTO3MAPKEYIGNOREALWAYS_VALENTRY']._serialized_start=3166 - _globals['_PROTO3MAPKEYIGNOREALWAYS_VALENTRY']._serialized_end=3220 - _globals['_PROTO3MAPVALUEIGNOREUNSPECIFIED']._serialized_start=4787 - _globals['_PROTO3MAPVALUEIGNOREUNSPECIFIED']._serialized_end=4982 - _globals['_PROTO3MAPVALUEIGNOREUNSPECIFIED_VALENTRY']._serialized_start=3166 - _globals['_PROTO3MAPVALUEIGNOREUNSPECIFIED_VALENTRY']._serialized_end=3220 - _globals['_PROTO3MAPVALUEIGNOREEMPTY']._serialized_start=4985 - _globals['_PROTO3MAPVALUEIGNOREEMPTY']._serialized_end=5171 - _globals['_PROTO3MAPVALUEIGNOREEMPTY_VALENTRY']._serialized_start=3166 - _globals['_PROTO3MAPVALUEIGNOREEMPTY_VALENTRY']._serialized_end=3220 - _globals['_PROTO3MAPVALUEIGNOREDEFAULT']._serialized_start=5174 - _globals['_PROTO3MAPVALUEIGNOREDEFAULT']._serialized_end=5364 - _globals['_PROTO3MAPVALUEIGNOREDEFAULT_VALENTRY']._serialized_start=3166 - _globals['_PROTO3MAPVALUEIGNOREDEFAULT_VALENTRY']._serialized_end=3220 - _globals['_PROTO3MAPVALUEIGNOREALWAYS']._serialized_start=5367 - _globals['_PROTO3MAPVALUEIGNOREALWAYS']._serialized_end=5555 - _globals['_PROTO3MAPVALUEIGNOREALWAYS_VALENTRY']._serialized_start=3166 - _globals['_PROTO3MAPVALUEIGNOREALWAYS_VALENTRY']._serialized_end=3220 + _globals['_PROTO3SCALAROPTIONALIGNOREALWAYS']._serialized_start=274 + _globals['_PROTO3SCALAROPTIONALIGNOREALWAYS']._serialized_end=351 + _globals['_PROTO3SCALARIGNOREUNSPECIFIED']._serialized_start=353 + _globals['_PROTO3SCALARIGNOREUNSPECIFIED']._serialized_end=411 + _globals['_PROTO3SCALARIGNOREEMPTY']._serialized_start=413 + _globals['_PROTO3SCALARIGNOREEMPTY']._serialized_end=468 + _globals['_PROTO3SCALARIGNOREALWAYS']._serialized_start=470 + _globals['_PROTO3SCALARIGNOREALWAYS']._serialized_end=526 + _globals['_PROTO3MESSAGEOPTIONALIGNOREUNSPECIFIED']._serialized_start=529 + _globals['_PROTO3MESSAGEOPTIONALIGNOREUNSPECIFIED']._serialized_end=779 + _globals['_PROTO3MESSAGEOPTIONALIGNOREUNSPECIFIED_MSG']._serialized_start=735 + _globals['_PROTO3MESSAGEOPTIONALIGNOREUNSPECIFIED_MSG']._serialized_end=771 + _globals['_PROTO3MESSAGEOPTIONALIGNOREEMPTY']._serialized_start=782 + _globals['_PROTO3MESSAGEOPTIONALIGNOREEMPTY']._serialized_end=1023 + _globals['_PROTO3MESSAGEOPTIONALIGNOREEMPTY_MSG']._serialized_start=735 + _globals['_PROTO3MESSAGEOPTIONALIGNOREEMPTY_MSG']._serialized_end=771 + _globals['_PROTO3MESSAGEOPTIONALIGNOREALWAYS']._serialized_start=1026 + _globals['_PROTO3MESSAGEOPTIONALIGNOREALWAYS']._serialized_end=1270 + _globals['_PROTO3MESSAGEOPTIONALIGNOREALWAYS_MSG']._serialized_start=735 + _globals['_PROTO3MESSAGEOPTIONALIGNOREALWAYS_MSG']._serialized_end=771 + _globals['_PROTO3MESSAGEIGNOREUNSPECIFIED']._serialized_start=1273 + _globals['_PROTO3MESSAGEIGNOREUNSPECIFIED']._serialized_end=1494 + _globals['_PROTO3MESSAGEIGNOREUNSPECIFIED_MSG']._serialized_start=735 + _globals['_PROTO3MESSAGEIGNOREUNSPECIFIED_MSG']._serialized_end=771 + _globals['_PROTO3MESSAGEIGNOREEMPTY']._serialized_start=1497 + _globals['_PROTO3MESSAGEIGNOREEMPTY']._serialized_end=1709 + _globals['_PROTO3MESSAGEIGNOREEMPTY_MSG']._serialized_start=735 + _globals['_PROTO3MESSAGEIGNOREEMPTY_MSG']._serialized_end=771 + _globals['_PROTO3ONEOFIGNOREUNSPECIFIED']._serialized_start=1711 + _globals['_PROTO3ONEOFIGNOREUNSPECIFIED']._serialized_end=1775 + _globals['_PROTO3ONEOFIGNOREEMPTY']._serialized_start=1777 + _globals['_PROTO3ONEOFIGNOREEMPTY']._serialized_end=1838 + _globals['_PROTO3ONEOFIGNOREALWAYS']._serialized_start=1840 + _globals['_PROTO3ONEOFIGNOREALWAYS']._serialized_end=1902 + _globals['_PROTO3REPEATEDIGNOREUNSPECIFIED']._serialized_start=1904 + _globals['_PROTO3REPEATEDIGNOREUNSPECIFIED']._serialized_end=1965 + _globals['_PROTO3REPEATEDIGNOREEMPTY']._serialized_start=1967 + _globals['_PROTO3REPEATEDIGNOREEMPTY']._serialized_end=2025 + _globals['_PROTO3REPEATEDIGNOREALWAYS']._serialized_start=2027 + _globals['_PROTO3REPEATEDIGNOREALWAYS']._serialized_end=2086 + _globals['_PROTO3MAPIGNOREUNSPECIFIED']._serialized_start=2089 + _globals['_PROTO3MAPIGNOREUNSPECIFIED']._serialized_end=2270 + _globals['_PROTO3MAPIGNOREUNSPECIFIED_VALENTRY']._serialized_start=2216 + _globals['_PROTO3MAPIGNOREUNSPECIFIED_VALENTRY']._serialized_end=2270 + _globals['_PROTO3MAPIGNOREEMPTY']._serialized_start=2273 + _globals['_PROTO3MAPIGNOREEMPTY']._serialized_end=2445 + _globals['_PROTO3MAPIGNOREEMPTY_VALENTRY']._serialized_start=2216 + _globals['_PROTO3MAPIGNOREEMPTY_VALENTRY']._serialized_end=2270 + _globals['_PROTO3MAPIGNOREALWAYS']._serialized_start=2448 + _globals['_PROTO3MAPIGNOREALWAYS']._serialized_end=2622 + _globals['_PROTO3MAPIGNOREALWAYS_VALENTRY']._serialized_start=2216 + _globals['_PROTO3MAPIGNOREALWAYS_VALENTRY']._serialized_end=2270 + _globals['_PROTO3REPEATEDITEMIGNOREUNSPECIFIED']._serialized_start=2624 + _globals['_PROTO3REPEATEDITEMIGNOREUNSPECIFIED']._serialized_end=2693 + _globals['_PROTO3REPEATEDITEMIGNOREEMPTY']._serialized_start=2695 + _globals['_PROTO3REPEATEDITEMIGNOREEMPTY']._serialized_end=2761 + _globals['_PROTO3REPEATEDITEMIGNOREALWAYS']._serialized_start=2763 + _globals['_PROTO3REPEATEDITEMIGNOREALWAYS']._serialized_end=2830 + _globals['_PROTO3MAPKEYIGNOREUNSPECIFIED']._serialized_start=2833 + _globals['_PROTO3MAPKEYIGNOREUNSPECIFIED']._serialized_end=3024 + _globals['_PROTO3MAPKEYIGNOREUNSPECIFIED_VALENTRY']._serialized_start=2216 + _globals['_PROTO3MAPKEYIGNOREUNSPECIFIED_VALENTRY']._serialized_end=2270 + _globals['_PROTO3MAPKEYIGNOREEMPTY']._serialized_start=3027 + _globals['_PROTO3MAPKEYIGNOREEMPTY']._serialized_end=3209 + _globals['_PROTO3MAPKEYIGNOREEMPTY_VALENTRY']._serialized_start=2216 + _globals['_PROTO3MAPKEYIGNOREEMPTY_VALENTRY']._serialized_end=2270 + _globals['_PROTO3MAPKEYIGNOREALWAYS']._serialized_start=3212 + _globals['_PROTO3MAPKEYIGNOREALWAYS']._serialized_end=3396 + _globals['_PROTO3MAPKEYIGNOREALWAYS_VALENTRY']._serialized_start=2216 + _globals['_PROTO3MAPKEYIGNOREALWAYS_VALENTRY']._serialized_end=2270 + _globals['_PROTO3MAPVALUEIGNOREUNSPECIFIED']._serialized_start=3399 + _globals['_PROTO3MAPVALUEIGNOREUNSPECIFIED']._serialized_end=3594 + _globals['_PROTO3MAPVALUEIGNOREUNSPECIFIED_VALENTRY']._serialized_start=2216 + _globals['_PROTO3MAPVALUEIGNOREUNSPECIFIED_VALENTRY']._serialized_end=2270 + _globals['_PROTO3MAPVALUEIGNOREEMPTY']._serialized_start=3597 + _globals['_PROTO3MAPVALUEIGNOREEMPTY']._serialized_end=3783 + _globals['_PROTO3MAPVALUEIGNOREEMPTY_VALENTRY']._serialized_start=2216 + _globals['_PROTO3MAPVALUEIGNOREEMPTY_VALENTRY']._serialized_end=2270 + _globals['_PROTO3MAPVALUEIGNOREALWAYS']._serialized_start=3786 + _globals['_PROTO3MAPVALUEIGNOREALWAYS']._serialized_end=3974 + _globals['_PROTO3MAPVALUEIGNOREALWAYS_VALENTRY']._serialized_start=2216 + _globals['_PROTO3MAPVALUEIGNOREALWAYS_VALENTRY']._serialized_end=2270 # @@protoc_insertion_point(module_scope) diff --git a/gen/buf/validate/conformance/cases/ignore_proto3_pb2.pyi b/gen/buf/validate/conformance/cases/ignore_proto3_pb2.pyi index 96179e7..956559c 100644 --- a/gen/buf/validate/conformance/cases/ignore_proto3_pb2.pyi +++ b/gen/buf/validate/conformance/cases/ignore_proto3_pb2.pyi @@ -33,12 +33,6 @@ class Proto3ScalarOptionalIgnoreEmpty(_message.Message): val: int def __init__(self, val: _Optional[int] = ...) -> None: ... -class Proto3ScalarOptionalIgnoreDefault(_message.Message): - __slots__ = ("val",) - VAL_FIELD_NUMBER: _ClassVar[int] - val: int - def __init__(self, val: _Optional[int] = ...) -> None: ... - class Proto3ScalarOptionalIgnoreAlways(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] @@ -57,12 +51,6 @@ class Proto3ScalarIgnoreEmpty(_message.Message): val: int def __init__(self, val: _Optional[int] = ...) -> None: ... -class Proto3ScalarIgnoreDefault(_message.Message): - __slots__ = ("val",) - VAL_FIELD_NUMBER: _ClassVar[int] - val: int - def __init__(self, val: _Optional[int] = ...) -> None: ... - class Proto3ScalarIgnoreAlways(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] @@ -91,17 +79,6 @@ class Proto3MessageOptionalIgnoreEmpty(_message.Message): val: Proto3MessageOptionalIgnoreEmpty.Msg def __init__(self, val: _Optional[_Union[Proto3MessageOptionalIgnoreEmpty.Msg, _Mapping]] = ...) -> None: ... -class Proto3MessageOptionalIgnoreDefault(_message.Message): - __slots__ = ("val",) - class Msg(_message.Message): - __slots__ = ("val",) - VAL_FIELD_NUMBER: _ClassVar[int] - val: str - def __init__(self, val: _Optional[str] = ...) -> None: ... - VAL_FIELD_NUMBER: _ClassVar[int] - val: Proto3MessageOptionalIgnoreDefault.Msg - def __init__(self, val: _Optional[_Union[Proto3MessageOptionalIgnoreDefault.Msg, _Mapping]] = ...) -> None: ... - class Proto3MessageOptionalIgnoreAlways(_message.Message): __slots__ = ("val",) class Msg(_message.Message): @@ -135,28 +112,6 @@ class Proto3MessageIgnoreEmpty(_message.Message): val: Proto3MessageIgnoreEmpty.Msg def __init__(self, val: _Optional[_Union[Proto3MessageIgnoreEmpty.Msg, _Mapping]] = ...) -> None: ... -class Proto3MessageIgnoreDefault(_message.Message): - __slots__ = ("val",) - class Msg(_message.Message): - __slots__ = ("val",) - VAL_FIELD_NUMBER: _ClassVar[int] - val: str - def __init__(self, val: _Optional[str] = ...) -> None: ... - VAL_FIELD_NUMBER: _ClassVar[int] - val: Proto3MessageIgnoreDefault.Msg - def __init__(self, val: _Optional[_Union[Proto3MessageIgnoreDefault.Msg, _Mapping]] = ...) -> None: ... - -class Proto3MessageIgnoreAlways(_message.Message): - __slots__ = ("val",) - class Msg(_message.Message): - __slots__ = ("val",) - VAL_FIELD_NUMBER: _ClassVar[int] - val: str - def __init__(self, val: _Optional[str] = ...) -> None: ... - VAL_FIELD_NUMBER: _ClassVar[int] - val: Proto3MessageIgnoreAlways.Msg - def __init__(self, val: _Optional[_Union[Proto3MessageIgnoreAlways.Msg, _Mapping]] = ...) -> None: ... - class Proto3OneofIgnoreUnspecified(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] @@ -169,12 +124,6 @@ class Proto3OneofIgnoreEmpty(_message.Message): val: int def __init__(self, val: _Optional[int] = ...) -> None: ... -class Proto3OneofIgnoreDefault(_message.Message): - __slots__ = ("val",) - VAL_FIELD_NUMBER: _ClassVar[int] - val: int - def __init__(self, val: _Optional[int] = ...) -> None: ... - class Proto3OneofIgnoreAlways(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] @@ -193,12 +142,6 @@ class Proto3RepeatedIgnoreEmpty(_message.Message): val: _containers.RepeatedScalarFieldContainer[int] def __init__(self, val: _Optional[_Iterable[int]] = ...) -> None: ... -class Proto3RepeatedIgnoreDefault(_message.Message): - __slots__ = ("val",) - VAL_FIELD_NUMBER: _ClassVar[int] - val: _containers.RepeatedScalarFieldContainer[int] - def __init__(self, val: _Optional[_Iterable[int]] = ...) -> None: ... - class Proto3RepeatedIgnoreAlways(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] @@ -231,19 +174,6 @@ class Proto3MapIgnoreEmpty(_message.Message): val: _containers.ScalarMap[int, int] def __init__(self, val: _Optional[_Mapping[int, int]] = ...) -> None: ... -class Proto3MapIgnoreDefault(_message.Message): - __slots__ = ("val",) - class ValEntry(_message.Message): - __slots__ = ("key", "value") - KEY_FIELD_NUMBER: _ClassVar[int] - VALUE_FIELD_NUMBER: _ClassVar[int] - key: int - value: int - def __init__(self, key: _Optional[int] = ..., value: _Optional[int] = ...) -> None: ... - VAL_FIELD_NUMBER: _ClassVar[int] - val: _containers.ScalarMap[int, int] - def __init__(self, val: _Optional[_Mapping[int, int]] = ...) -> None: ... - class Proto3MapIgnoreAlways(_message.Message): __slots__ = ("val",) class ValEntry(_message.Message): @@ -269,12 +199,6 @@ class Proto3RepeatedItemIgnoreEmpty(_message.Message): val: _containers.RepeatedScalarFieldContainer[int] def __init__(self, val: _Optional[_Iterable[int]] = ...) -> None: ... -class Proto3RepeatedItemIgnoreDefault(_message.Message): - __slots__ = ("val",) - VAL_FIELD_NUMBER: _ClassVar[int] - val: _containers.RepeatedScalarFieldContainer[int] - def __init__(self, val: _Optional[_Iterable[int]] = ...) -> None: ... - class Proto3RepeatedItemIgnoreAlways(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] @@ -307,19 +231,6 @@ class Proto3MapKeyIgnoreEmpty(_message.Message): val: _containers.ScalarMap[int, int] def __init__(self, val: _Optional[_Mapping[int, int]] = ...) -> None: ... -class Proto3MapKeyIgnoreDefault(_message.Message): - __slots__ = ("val",) - class ValEntry(_message.Message): - __slots__ = ("key", "value") - KEY_FIELD_NUMBER: _ClassVar[int] - VALUE_FIELD_NUMBER: _ClassVar[int] - key: int - value: int - def __init__(self, key: _Optional[int] = ..., value: _Optional[int] = ...) -> None: ... - VAL_FIELD_NUMBER: _ClassVar[int] - val: _containers.ScalarMap[int, int] - def __init__(self, val: _Optional[_Mapping[int, int]] = ...) -> None: ... - class Proto3MapKeyIgnoreAlways(_message.Message): __slots__ = ("val",) class ValEntry(_message.Message): @@ -359,19 +270,6 @@ class Proto3MapValueIgnoreEmpty(_message.Message): val: _containers.ScalarMap[int, int] def __init__(self, val: _Optional[_Mapping[int, int]] = ...) -> None: ... -class Proto3MapValueIgnoreDefault(_message.Message): - __slots__ = ("val",) - class ValEntry(_message.Message): - __slots__ = ("key", "value") - KEY_FIELD_NUMBER: _ClassVar[int] - VALUE_FIELD_NUMBER: _ClassVar[int] - key: int - value: int - def __init__(self, key: _Optional[int] = ..., value: _Optional[int] = ...) -> None: ... - VAL_FIELD_NUMBER: _ClassVar[int] - val: _containers.ScalarMap[int, int] - def __init__(self, val: _Optional[_Mapping[int, int]] = ...) -> None: ... - class Proto3MapValueIgnoreAlways(_message.Message): __slots__ = ("val",) class ValEntry(_message.Message): diff --git a/gen/buf/validate/conformance/cases/ignore_proto_editions_pb2.py b/gen/buf/validate/conformance/cases/ignore_proto_editions_pb2.py index b4e0a1a..fe99ba5 100644 --- a/gen/buf/validate/conformance/cases/ignore_proto_editions_pb2.py +++ b/gen/buf/validate/conformance/cases/ignore_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_proto_editions.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x1b\x62uf/validate/validate.proto\"L\n/EditionsScalarExplicitPresenceIgnoreUnspecified\x12\x19\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02 \x00R\x03val\"\\\n:EditionsScalarExplicitPresenceIgnoreUnspecifiedWithDefault\x12\x1e\n\x03val\x18\x01 \x01(\x05:\x03-42B\x07\xbaH\x04\x1a\x02 \x00R\x03val\"I\n)EditionsScalarExplicitPresenceIgnoreEmpty\x12\x1c\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\"Y\n4EditionsScalarExplicitPresenceIgnoreEmptyWithDefault\x12!\n\x03val\x18\x01 \x01(\x05:\x03-42B\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\"K\n+EditionsScalarExplicitPresenceIgnoreDefault\x12\x1c\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x02R\x03val\"[\n6EditionsScalarExplicitPresenceIgnoreDefaultWithDefault\x12!\n\x03val\x18\x01 \x01(\x05:\x03-42B\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x02R\x03val\"J\n*EditionsScalarExplicitPresenceIgnoreAlways\x12\x1c\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x03R\x03val\"Z\n5EditionsScalarExplicitPresenceIgnoreAlwaysWithDefault\x12!\n\x03val\x18\x01 \x01(\x05:\x03-42B\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x03R\x03val\"Q\n/EditionsScalarImplicitPresenceIgnoreUnspecified\x12\x1e\n\x03val\x18\x01 \x01(\x05\x42\x0c\xaa\x01\x02\x08\x02\xbaH\x04\x1a\x02 \x00R\x03val\"N\n)EditionsScalarImplicitPresenceIgnoreEmpty\x12!\n\x03val\x18\x01 \x01(\x05\x42\x0f\xaa\x01\x02\x08\x02\xbaH\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\"P\n+EditionsScalarImplicitPresenceIgnoreDefault\x12!\n\x03val\x18\x01 \x01(\x05\x42\x0f\xaa\x01\x02\x08\x02\xbaH\x07\x1a\x02 \x00\xd8\x01\x02R\x03val\"O\n*EditionsScalarImplicitPresenceIgnoreAlways\x12!\n\x03val\x18\x01 \x01(\x05\x42\x0f\xaa\x01\x02\x08\x02\xbaH\x07\x1a\x02 \x00\xd8\x01\x03R\x03val\"O\n-EditionsScalarLegacyRequiredIgnoreUnspecified\x12\x1e\n\x03val\x18\x01 \x01(\x05\x42\x0c\xaa\x01\x02\x08\x03\xbaH\x04\x1a\x02 \x00R\x03val\"_\n8EditionsScalarLegacyRequiredIgnoreUnspecifiedWithDefault\x12#\n\x03val\x18\x01 \x01(\x05:\x03-42B\x0c\xaa\x01\x02\x08\x03\xbaH\x04\x1a\x02 \x00R\x03val\"L\n\'EditionsScalarLegacyRequiredIgnoreEmpty\x12!\n\x03val\x18\x01 \x01(\x05\x42\x0f\xaa\x01\x02\x08\x03\xbaH\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\"\\\n2EditionsScalarLegacyRequiredIgnoreEmptyWithDefault\x12&\n\x03val\x18\x01 \x01(\x05:\x03-42B\x0f\xaa\x01\x02\x08\x03\xbaH\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\"N\n)EditionsScalarLegacyRequiredIgnoreDefault\x12!\n\x03val\x18\x01 \x01(\x05\x42\x0f\xaa\x01\x02\x08\x03\xbaH\x07\x1a\x02 \x00\xd8\x01\x02R\x03val\"^\n4EditionsScalarLegacyRequiredIgnoreDefaultWithDefault\x12&\n\x03val\x18\x01 \x01(\x05:\x03-42B\x0f\xaa\x01\x02\x08\x03\xbaH\x07\x1a\x02 \x00\xd8\x01\x02R\x03val\"M\n(EditionsScalarLegacyRequiredIgnoreAlways\x12!\n\x03val\x18\x01 \x01(\x05\x42\x0f\xaa\x01\x02\x08\x03\xbaH\x07\x1a\x02 \x00\xd8\x01\x03R\x03val\"]\n3EditionsScalarLegacyRequiredIgnoreAlwaysWithDefault\x12&\n\x03val\x18\x01 \x01(\x05:\x03-42B\x0f\xaa\x01\x02\x08\x03\xbaH\x07\x1a\x02 \x00\xd8\x01\x03R\x03val\"\xfc\x01\n0EditionsMessageExplicitPresenceIgnoreUnspecified\x12\xae\x01\n\x03val\x18\x01 \x01(\x0b\x32T.buf.validate.conformance.cases.EditionsMessageExplicitPresenceIgnoreUnspecified.MsgBF\xbaHC\xba\x01@\n#proto.editions.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\x93\x02\n9EditionsMessageExplicitPresenceDelimitedIgnoreUnspecified\x12\xbc\x01\n\x03val\x18\x01 \x01(\x0b\x32].buf.validate.conformance.cases.EditionsMessageExplicitPresenceDelimitedIgnoreUnspecified.MsgBK\xaa\x01\x02(\x02\xbaHC\xba\x01@\n#proto.editions.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\xf3\x01\n*EditionsMessageExplicitPresenceIgnoreEmpty\x12\xab\x01\n\x03val\x18\x01 \x01(\x0b\x32N.buf.validate.conformance.cases.EditionsMessageExplicitPresenceIgnoreEmpty.MsgBI\xbaHF\xba\x01@\n#proto.editions.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x01R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\x8a\x02\n3EditionsMessageExplicitPresenceDelimitedIgnoreEmpty\x12\xb9\x01\n\x03val\x18\x01 \x01(\x0b\x32W.buf.validate.conformance.cases.EditionsMessageExplicitPresenceDelimitedIgnoreEmpty.MsgBN\xaa\x01\x02(\x02\xbaHF\xba\x01@\n#proto.editions.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x01R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\xf7\x01\n,EditionsMessageExplicitPresenceIgnoreDefault\x12\xad\x01\n\x03val\x18\x01 \x01(\x0b\x32P.buf.validate.conformance.cases.EditionsMessageExplicitPresenceIgnoreDefault.MsgBI\xbaHF\xba\x01@\n#proto.editions.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x02R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\x8e\x02\n5EditionsMessageExplicitPresenceDelimitedIgnoreDefault\x12\xbb\x01\n\x03val\x18\x01 \x01(\x0b\x32Y.buf.validate.conformance.cases.EditionsMessageExplicitPresenceDelimitedIgnoreDefault.MsgBN\xaa\x01\x02(\x02\xbaHF\xba\x01@\n#proto.editions.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x02R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\xf6\x01\n+EditionsMessageExplicitPresenceIgnoreAlways\x12\xad\x01\n\x03val\x18\x01 \x01(\x0b\x32O.buf.validate.conformance.cases.EditionsMessageExplicitPresenceIgnoreAlways.MsgBJ\xbaHG\xba\x01\x41\n$proto.editions.message.ignore.always\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x03R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\x8d\x02\n4EditionsMessageExplicitPresenceDelimitedIgnoreAlways\x12\xbb\x01\n\x03val\x18\x01 \x01(\x0b\x32X.buf.validate.conformance.cases.EditionsMessageExplicitPresenceDelimitedIgnoreAlways.MsgBO\xaa\x01\x02(\x02\xbaHG\xba\x01\x41\n$proto.editions.message.ignore.always\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x03R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\xfd\x01\n.EditionsMessageLegacyRequiredIgnoreUnspecified\x12\xb1\x01\n\x03val\x18\x01 \x01(\x0b\x32R.buf.validate.conformance.cases.EditionsMessageLegacyRequiredIgnoreUnspecified.MsgBK\xaa\x01\x02\x08\x03\xbaHC\xba\x01@\n#proto.editions.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\x91\x02\n7EditionsMessageLegacyRequiredDelimitedIgnoreUnspecified\x12\xbc\x01\n\x03val\x18\x01 \x01(\x0b\x32[.buf.validate.conformance.cases.EditionsMessageLegacyRequiredDelimitedIgnoreUnspecified.MsgBM\xaa\x01\x04\x08\x03(\x02\xbaHC\xba\x01@\n#proto.editions.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\xf4\x01\n(EditionsMessageLegacyRequiredIgnoreEmpty\x12\xae\x01\n\x03val\x18\x01 \x01(\x0b\x32L.buf.validate.conformance.cases.EditionsMessageLegacyRequiredIgnoreEmpty.MsgBN\xaa\x01\x02\x08\x03\xbaHF\xba\x01@\n#proto.editions.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x01R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\x88\x02\n1EditionsMessageLegacyRequiredDelimitedIgnoreEmpty\x12\xb9\x01\n\x03val\x18\x01 \x01(\x0b\x32U.buf.validate.conformance.cases.EditionsMessageLegacyRequiredDelimitedIgnoreEmpty.MsgBP\xaa\x01\x04\x08\x03(\x02\xbaHF\xba\x01@\n#proto.editions.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x01R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\xf8\x01\n*EditionsMessageLegacyRequiredIgnoreDefault\x12\xb0\x01\n\x03val\x18\x01 \x01(\x0b\x32N.buf.validate.conformance.cases.EditionsMessageLegacyRequiredIgnoreDefault.MsgBN\xaa\x01\x02\x08\x03\xbaHF\xba\x01@\n#proto.editions.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x02R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\x8c\x02\n3EditionsMessageLegacyRequiredDelimitedIgnoreDefault\x12\xbb\x01\n\x03val\x18\x01 \x01(\x0b\x32W.buf.validate.conformance.cases.EditionsMessageLegacyRequiredDelimitedIgnoreDefault.MsgBP\xaa\x01\x04\x08\x03(\x02\xbaHF\xba\x01@\n#proto.editions.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x02R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\xf6\x01\n)EditionsMessageLegacyRequiredIgnoreAlways\x12\xaf\x01\n\x03val\x18\x01 \x01(\x0b\x32M.buf.validate.conformance.cases.EditionsMessageLegacyRequiredIgnoreAlways.MsgBN\xaa\x01\x02\x08\x03\xbaHF\xba\x01@\n#proto.editions.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x03R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\x8a\x02\n2EditionsMessageLegacyRequiredDelimitedIgnoreAlways\x12\xba\x01\n\x03val\x18\x01 \x01(\x0b\x32V.buf.validate.conformance.cases.EditionsMessageLegacyRequiredDelimitedIgnoreAlways.MsgBP\xaa\x01\x04\x08\x03(\x02\xbaHF\xba\x01@\n#proto.editions.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x03R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"B\n\x1e\x45\x64itionsOneofIgnoreUnspecified\x12\x1b\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02 \x00H\x00R\x03valB\x03\n\x01o\"R\n)EditionsOneofIgnoreUnspecifiedWithDefault\x12 \n\x03val\x18\x01 \x01(\x05:\x03-42B\x07\xbaH\x04\x1a\x02 \x00H\x00R\x03valB\x03\n\x01o\"?\n\x18\x45\x64itionsOneofIgnoreEmpty\x12\x1e\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x01H\x00R\x03valB\x03\n\x01o\"O\n#EditionsOneofIgnoreEmptyWithDefault\x12#\n\x03val\x18\x01 \x01(\x05:\x03-42B\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x01H\x00R\x03valB\x03\n\x01o\"A\n\x1a\x45\x64itionsOneofIgnoreDefault\x12\x1e\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x02H\x00R\x03valB\x03\n\x01o\"Q\n%EditionsOneofIgnoreDefaultWithDefault\x12#\n\x03val\x18\x01 \x01(\x05:\x03-42B\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x02H\x00R\x03valB\x03\n\x01o\"@\n\x19\x45\x64itionsOneofIgnoreAlways\x12\x1e\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x03H\x00R\x03valB\x03\n\x01o\"P\n$EditionsOneofIgnoreAlwaysWithDefault\x12#\n\x03val\x18\x01 \x01(\x05:\x03-42B\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x03H\x00R\x03valB\x03\n\x01o\"?\n!EditionsRepeatedIgnoreUnspecified\x12\x1a\n\x03val\x18\x01 \x03(\x05\x42\x08\xbaH\x05\x92\x01\x02\x08\x03R\x03val\"L\n)EditionsRepeatedExpandedIgnoreUnspecified\x12\x1f\n\x03val\x18\x01 \x03(\x05\x42\r\xaa\x01\x02\x18\x02\xbaH\x05\x92\x01\x02\x08\x03R\x03val\"<\n\x1b\x45\x64itionsRepeatedIgnoreEmpty\x12\x1d\n\x03val\x18\x01 \x03(\x05\x42\x0b\xbaH\x08\x92\x01\x02\x08\x03\xd8\x01\x01R\x03val\"I\n#EditionsRepeatedExpandedIgnoreEmpty\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\">\n\x1d\x45\x64itionsRepeatedIgnoreDefault\x12\x1d\n\x03val\x18\x01 \x03(\x05\x42\x0b\xbaH\x08\x92\x01\x02\x08\x03\xd8\x01\x02R\x03val\"K\n%EditionsRepeatedExpandedIgnoreDefault\x12\"\n\x03val\x18\x01 \x03(\x05\x42\x10\xaa\x01\x02\x18\x02\xbaH\x08\x92\x01\x02\x08\x03\xd8\x01\x02R\x03val\"=\n\x1c\x45\x64itionsRepeatedIgnoreAlways\x12\x1d\n\x03val\x18\x01 \x03(\x05\x42\x0b\xbaH\x08\x92\x01\x02\x08\x03\xd8\x01\x03R\x03val\"J\n$EditionsRepeatedExpandedIgnoreAlways\x12\"\n\x03val\x18\x01 \x03(\x05\x42\x10\xaa\x01\x02\x18\x02\xbaH\x08\x92\x01\x02\x08\x03\xd8\x01\x03R\x03val\"\xb9\x01\n\x1c\x45\x64itionsMapIgnoreUnspecified\x12\x61\n\x03val\x18\x01 \x03(\x0b\x32\x45.buf.validate.conformance.cases.EditionsMapIgnoreUnspecified.ValEntryB\x08\xbaH\x05\x9a\x01\x02\x08\x03R\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\"\xb0\x01\n\x16\x45\x64itionsMapIgnoreEmpty\x12^\n\x03val\x18\x01 \x03(\x0b\x32?.buf.validate.conformance.cases.EditionsMapIgnoreEmpty.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\"\xb4\x01\n\x18\x45\x64itionsMapIgnoreDefault\x12`\n\x03val\x18\x01 \x03(\x0b\x32\x41.buf.validate.conformance.cases.EditionsMapIgnoreDefault.ValEntryB\x0b\xbaH\x08\x9a\x01\x02\x08\x03\xd8\x01\x02R\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\"\xb2\x01\n\x17\x45\x64itionsMapIgnoreAlways\x12_\n\x03val\x18\x01 \x03(\x0b\x32@.buf.validate.conformance.cases.EditionsMapIgnoreAlways.ValEntryB\x0b\xbaH\x08\x9a\x01\x02\x08\x03\xd8\x01\x03R\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\"G\n%EditionsRepeatedItemIgnoreUnspecified\x12\x1e\n\x03val\x18\x01 \x03(\x05\x42\x0c\xbaH\t\x92\x01\x06\"\x04\x1a\x02 \x00R\x03val\"T\n-EditionsRepeatedExpandedItemIgnoreUnspecified\x12#\n\x03val\x18\x01 \x03(\x05\x42\x11\xaa\x01\x02\x18\x02\xbaH\t\x92\x01\x06\"\x04\x1a\x02 \x00R\x03val\"D\n\x1f\x45\x64itionsRepeatedItemIgnoreEmpty\x12!\n\x03val\x18\x01 \x03(\x05\x42\x0f\xbaH\x0c\x92\x01\t\"\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\"Q\n\'EditionsRepeatedExpandedItemIgnoreEmpty\x12&\n\x03val\x18\x01 \x03(\x05\x42\x14\xaa\x01\x02\x18\x02\xbaH\x0c\x92\x01\t\"\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\"F\n!EditionsRepeatedItemIgnoreDefault\x12!\n\x03val\x18\x01 \x03(\x05\x42\x0f\xbaH\x0c\x92\x01\t\"\x07\x1a\x02 \x00\xd8\x01\x02R\x03val\"S\n)EditionsRepeatedExpandedItemIgnoreDefault\x12&\n\x03val\x18\x01 \x03(\x05\x42\x14\xaa\x01\x02\x18\x02\xbaH\x0c\x92\x01\t\"\x07\x1a\x02 \x00\xd8\x01\x02R\x03val\"E\n EditionsRepeatedItemIgnoreAlways\x12!\n\x03val\x18\x01 \x03(\x05\x42\x0f\xbaH\x0c\x92\x01\t\"\x07\x1a\x02 \x00\xd8\x01\x03R\x03val\"R\n(EditionsRepeatedExpandedItemIgnoreAlways\x12&\n\x03val\x18\x01 \x03(\x05\x42\x14\xaa\x01\x02\x18\x02\xbaH\x0c\x92\x01\t\"\x07\x1a\x02 \x00\xd8\x01\x03R\x03val\"\xc3\x01\n\x1f\x45\x64itionsMapKeyIgnoreUnspecified\x12h\n\x03val\x18\x01 \x03(\x0b\x32H.buf.validate.conformance.cases.EditionsMapKeyIgnoreUnspecified.ValEntryB\x0c\xbaH\t\x9a\x01\x06\"\x04\x1a\x02 \x00R\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\"\xba\x01\n\x19\x45\x64itionsMapKeyIgnoreEmpty\x12\x65\n\x03val\x18\x01 \x03(\x0b\x32\x42.buf.validate.conformance.cases.EditionsMapKeyIgnoreEmpty.ValEntryB\x0f\xbaH\x0c\x9a\x01\t\"\x07\x1a\x02 \x00\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\"\xbe\x01\n\x1b\x45\x64itionsMapKeyIgnoreDefault\x12g\n\x03val\x18\x01 \x03(\x0b\x32\x44.buf.validate.conformance.cases.EditionsMapKeyIgnoreDefault.ValEntryB\x0f\xbaH\x0c\x9a\x01\t\"\x07\x1a\x02 \x00\xd8\x01\x02R\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\"\xbc\x01\n\x1a\x45\x64itionsMapKeyIgnoreAlways\x12\x66\n\x03val\x18\x01 \x03(\x0b\x32\x43.buf.validate.conformance.cases.EditionsMapKeyIgnoreAlways.ValEntryB\x0f\xbaH\x0c\x9a\x01\t\"\x07\x1a\x02 \x00\xd8\x01\x03R\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\"\xc7\x01\n!EditionsMapValueIgnoreUnspecified\x12j\n\x03val\x18\x01 \x03(\x0b\x32J.buf.validate.conformance.cases.EditionsMapValueIgnoreUnspecified.ValEntryB\x0c\xbaH\t\x9a\x01\x06*\x04\x1a\x02 \x00R\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\"\xbe\x01\n\x1b\x45\x64itionsMapValueIgnoreEmpty\x12g\n\x03val\x18\x01 \x03(\x0b\x32\x44.buf.validate.conformance.cases.EditionsMapValueIgnoreEmpty.ValEntryB\x0f\xbaH\x0c\x9a\x01\t*\x07\x1a\x02 \x00\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\"\xc2\x01\n\x1d\x45\x64itionsMapValueIgnoreDefault\x12i\n\x03val\x18\x01 \x03(\x0b\x32\x46.buf.validate.conformance.cases.EditionsMapValueIgnoreDefault.ValEntryB\x0f\xbaH\x0c\x9a\x01\t*\x07\x1a\x02 \x00\xd8\x01\x02R\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\"\xc0\x01\n\x1c\x45\x64itionsMapValueIgnoreAlways\x12h\n\x03val\x18\x01 \x03(\x0b\x32\x45.buf.validate.conformance.cases.EditionsMapValueIgnoreAlways.ValEntryB\x0f\xbaH\x0c\x9a\x01\t*\x07\x1a\x02 \x00\xd8\x01\x03R\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\xda\x01\n\"com.buf.validate.conformance.casesB\x18IgnoreProtoEditionsProtoP\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_proto_editions.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x1b\x62uf/validate/validate.proto\"L\n/EditionsScalarExplicitPresenceIgnoreUnspecified\x12\x19\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02 \x00R\x03val\"\\\n:EditionsScalarExplicitPresenceIgnoreUnspecifiedWithDefault\x12\x1e\n\x03val\x18\x01 \x01(\x05:\x03-42B\x07\xbaH\x04\x1a\x02 \x00R\x03val\"I\n)EditionsScalarExplicitPresenceIgnoreEmpty\x12\x1c\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\"Y\n4EditionsScalarExplicitPresenceIgnoreEmptyWithDefault\x12!\n\x03val\x18\x01 \x01(\x05:\x03-42B\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\"J\n*EditionsScalarExplicitPresenceIgnoreAlways\x12\x1c\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x03R\x03val\"Z\n5EditionsScalarExplicitPresenceIgnoreAlwaysWithDefault\x12!\n\x03val\x18\x01 \x01(\x05:\x03-42B\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x03R\x03val\"Q\n/EditionsScalarImplicitPresenceIgnoreUnspecified\x12\x1e\n\x03val\x18\x01 \x01(\x05\x42\x0c\xaa\x01\x02\x08\x02\xbaH\x04\x1a\x02 \x00R\x03val\"N\n)EditionsScalarImplicitPresenceIgnoreEmpty\x12!\n\x03val\x18\x01 \x01(\x05\x42\x0f\xaa\x01\x02\x08\x02\xbaH\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\"O\n*EditionsScalarImplicitPresenceIgnoreAlways\x12!\n\x03val\x18\x01 \x01(\x05\x42\x0f\xaa\x01\x02\x08\x02\xbaH\x07\x1a\x02 \x00\xd8\x01\x03R\x03val\"O\n-EditionsScalarLegacyRequiredIgnoreUnspecified\x12\x1e\n\x03val\x18\x01 \x01(\x05\x42\x0c\xaa\x01\x02\x08\x03\xbaH\x04\x1a\x02 \x00R\x03val\"_\n8EditionsScalarLegacyRequiredIgnoreUnspecifiedWithDefault\x12#\n\x03val\x18\x01 \x01(\x05:\x03-42B\x0c\xaa\x01\x02\x08\x03\xbaH\x04\x1a\x02 \x00R\x03val\"L\n\'EditionsScalarLegacyRequiredIgnoreEmpty\x12!\n\x03val\x18\x01 \x01(\x05\x42\x0f\xaa\x01\x02\x08\x03\xbaH\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\"\\\n2EditionsScalarLegacyRequiredIgnoreEmptyWithDefault\x12&\n\x03val\x18\x01 \x01(\x05:\x03-42B\x0f\xaa\x01\x02\x08\x03\xbaH\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\"M\n(EditionsScalarLegacyRequiredIgnoreAlways\x12!\n\x03val\x18\x01 \x01(\x05\x42\x0f\xaa\x01\x02\x08\x03\xbaH\x07\x1a\x02 \x00\xd8\x01\x03R\x03val\"]\n3EditionsScalarLegacyRequiredIgnoreAlwaysWithDefault\x12&\n\x03val\x18\x01 \x01(\x05:\x03-42B\x0f\xaa\x01\x02\x08\x03\xbaH\x07\x1a\x02 \x00\xd8\x01\x03R\x03val\"\xfc\x01\n0EditionsMessageExplicitPresenceIgnoreUnspecified\x12\xae\x01\n\x03val\x18\x01 \x01(\x0b\x32T.buf.validate.conformance.cases.EditionsMessageExplicitPresenceIgnoreUnspecified.MsgBF\xbaHC\xba\x01@\n#proto.editions.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\x93\x02\n9EditionsMessageExplicitPresenceDelimitedIgnoreUnspecified\x12\xbc\x01\n\x03val\x18\x01 \x01(\x0b\x32].buf.validate.conformance.cases.EditionsMessageExplicitPresenceDelimitedIgnoreUnspecified.MsgBK\xaa\x01\x02(\x02\xbaHC\xba\x01@\n#proto.editions.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\xf3\x01\n*EditionsMessageExplicitPresenceIgnoreEmpty\x12\xab\x01\n\x03val\x18\x01 \x01(\x0b\x32N.buf.validate.conformance.cases.EditionsMessageExplicitPresenceIgnoreEmpty.MsgBI\xbaHF\xba\x01@\n#proto.editions.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x01R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\x8a\x02\n3EditionsMessageExplicitPresenceDelimitedIgnoreEmpty\x12\xb9\x01\n\x03val\x18\x01 \x01(\x0b\x32W.buf.validate.conformance.cases.EditionsMessageExplicitPresenceDelimitedIgnoreEmpty.MsgBN\xaa\x01\x02(\x02\xbaHF\xba\x01@\n#proto.editions.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x01R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\xf6\x01\n+EditionsMessageExplicitPresenceIgnoreAlways\x12\xad\x01\n\x03val\x18\x01 \x01(\x0b\x32O.buf.validate.conformance.cases.EditionsMessageExplicitPresenceIgnoreAlways.MsgBJ\xbaHG\xba\x01\x41\n$proto.editions.message.ignore.always\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x03R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\x8d\x02\n4EditionsMessageExplicitPresenceDelimitedIgnoreAlways\x12\xbb\x01\n\x03val\x18\x01 \x01(\x0b\x32X.buf.validate.conformance.cases.EditionsMessageExplicitPresenceDelimitedIgnoreAlways.MsgBO\xaa\x01\x02(\x02\xbaHG\xba\x01\x41\n$proto.editions.message.ignore.always\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x03R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\xfd\x01\n.EditionsMessageLegacyRequiredIgnoreUnspecified\x12\xb1\x01\n\x03val\x18\x01 \x01(\x0b\x32R.buf.validate.conformance.cases.EditionsMessageLegacyRequiredIgnoreUnspecified.MsgBK\xaa\x01\x02\x08\x03\xbaHC\xba\x01@\n#proto.editions.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\x91\x02\n7EditionsMessageLegacyRequiredDelimitedIgnoreUnspecified\x12\xbc\x01\n\x03val\x18\x01 \x01(\x0b\x32[.buf.validate.conformance.cases.EditionsMessageLegacyRequiredDelimitedIgnoreUnspecified.MsgBM\xaa\x01\x04\x08\x03(\x02\xbaHC\xba\x01@\n#proto.editions.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\xf4\x01\n(EditionsMessageLegacyRequiredIgnoreEmpty\x12\xae\x01\n\x03val\x18\x01 \x01(\x0b\x32L.buf.validate.conformance.cases.EditionsMessageLegacyRequiredIgnoreEmpty.MsgBN\xaa\x01\x02\x08\x03\xbaHF\xba\x01@\n#proto.editions.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x01R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\x88\x02\n1EditionsMessageLegacyRequiredDelimitedIgnoreEmpty\x12\xb9\x01\n\x03val\x18\x01 \x01(\x0b\x32U.buf.validate.conformance.cases.EditionsMessageLegacyRequiredDelimitedIgnoreEmpty.MsgBP\xaa\x01\x04\x08\x03(\x02\xbaHF\xba\x01@\n#proto.editions.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x01R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\xf6\x01\n)EditionsMessageLegacyRequiredIgnoreAlways\x12\xaf\x01\n\x03val\x18\x01 \x01(\x0b\x32M.buf.validate.conformance.cases.EditionsMessageLegacyRequiredIgnoreAlways.MsgBN\xaa\x01\x02\x08\x03\xbaHF\xba\x01@\n#proto.editions.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x03R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"\x8a\x02\n2EditionsMessageLegacyRequiredDelimitedIgnoreAlways\x12\xba\x01\n\x03val\x18\x01 \x01(\x0b\x32V.buf.validate.conformance.cases.EditionsMessageLegacyRequiredDelimitedIgnoreAlways.MsgBP\xaa\x01\x04\x08\x03(\x02\xbaHF\xba\x01@\n#proto.editions.message.ignore.empty\x12\x06\x66oobar\x1a\x11this.val == \'foo\'\xd8\x01\x03R\x03val\x1a\x17\n\x03Msg\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"B\n\x1e\x45\x64itionsOneofIgnoreUnspecified\x12\x1b\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02 \x00H\x00R\x03valB\x03\n\x01o\"R\n)EditionsOneofIgnoreUnspecifiedWithDefault\x12 \n\x03val\x18\x01 \x01(\x05:\x03-42B\x07\xbaH\x04\x1a\x02 \x00H\x00R\x03valB\x03\n\x01o\"?\n\x18\x45\x64itionsOneofIgnoreEmpty\x12\x1e\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x01H\x00R\x03valB\x03\n\x01o\"O\n#EditionsOneofIgnoreEmptyWithDefault\x12#\n\x03val\x18\x01 \x01(\x05:\x03-42B\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x01H\x00R\x03valB\x03\n\x01o\"@\n\x19\x45\x64itionsOneofIgnoreAlways\x12\x1e\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x03H\x00R\x03valB\x03\n\x01o\"P\n$EditionsOneofIgnoreAlwaysWithDefault\x12#\n\x03val\x18\x01 \x01(\x05:\x03-42B\n\xbaH\x07\x1a\x02 \x00\xd8\x01\x03H\x00R\x03valB\x03\n\x01o\"?\n!EditionsRepeatedIgnoreUnspecified\x12\x1a\n\x03val\x18\x01 \x03(\x05\x42\x08\xbaH\x05\x92\x01\x02\x08\x03R\x03val\"L\n)EditionsRepeatedExpandedIgnoreUnspecified\x12\x1f\n\x03val\x18\x01 \x03(\x05\x42\r\xaa\x01\x02\x18\x02\xbaH\x05\x92\x01\x02\x08\x03R\x03val\"<\n\x1b\x45\x64itionsRepeatedIgnoreEmpty\x12\x1d\n\x03val\x18\x01 \x03(\x05\x42\x0b\xbaH\x08\x92\x01\x02\x08\x03\xd8\x01\x01R\x03val\"I\n#EditionsRepeatedExpandedIgnoreEmpty\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\"=\n\x1c\x45\x64itionsRepeatedIgnoreAlways\x12\x1d\n\x03val\x18\x01 \x03(\x05\x42\x0b\xbaH\x08\x92\x01\x02\x08\x03\xd8\x01\x03R\x03val\"J\n$EditionsRepeatedExpandedIgnoreAlways\x12\"\n\x03val\x18\x01 \x03(\x05\x42\x10\xaa\x01\x02\x18\x02\xbaH\x08\x92\x01\x02\x08\x03\xd8\x01\x03R\x03val\"\xb9\x01\n\x1c\x45\x64itionsMapIgnoreUnspecified\x12\x61\n\x03val\x18\x01 \x03(\x0b\x32\x45.buf.validate.conformance.cases.EditionsMapIgnoreUnspecified.ValEntryB\x08\xbaH\x05\x9a\x01\x02\x08\x03R\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\"\xb0\x01\n\x16\x45\x64itionsMapIgnoreEmpty\x12^\n\x03val\x18\x01 \x03(\x0b\x32?.buf.validate.conformance.cases.EditionsMapIgnoreEmpty.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\"\xb2\x01\n\x17\x45\x64itionsMapIgnoreAlways\x12_\n\x03val\x18\x01 \x03(\x0b\x32@.buf.validate.conformance.cases.EditionsMapIgnoreAlways.ValEntryB\x0b\xbaH\x08\x9a\x01\x02\x08\x03\xd8\x01\x03R\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\"G\n%EditionsRepeatedItemIgnoreUnspecified\x12\x1e\n\x03val\x18\x01 \x03(\x05\x42\x0c\xbaH\t\x92\x01\x06\"\x04\x1a\x02 \x00R\x03val\"T\n-EditionsRepeatedExpandedItemIgnoreUnspecified\x12#\n\x03val\x18\x01 \x03(\x05\x42\x11\xaa\x01\x02\x18\x02\xbaH\t\x92\x01\x06\"\x04\x1a\x02 \x00R\x03val\"D\n\x1f\x45\x64itionsRepeatedItemIgnoreEmpty\x12!\n\x03val\x18\x01 \x03(\x05\x42\x0f\xbaH\x0c\x92\x01\t\"\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\"Q\n\'EditionsRepeatedExpandedItemIgnoreEmpty\x12&\n\x03val\x18\x01 \x03(\x05\x42\x14\xaa\x01\x02\x18\x02\xbaH\x0c\x92\x01\t\"\x07\x1a\x02 \x00\xd8\x01\x01R\x03val\"E\n EditionsRepeatedItemIgnoreAlways\x12!\n\x03val\x18\x01 \x03(\x05\x42\x0f\xbaH\x0c\x92\x01\t\"\x07\x1a\x02 \x00\xd8\x01\x03R\x03val\"R\n(EditionsRepeatedExpandedItemIgnoreAlways\x12&\n\x03val\x18\x01 \x03(\x05\x42\x14\xaa\x01\x02\x18\x02\xbaH\x0c\x92\x01\t\"\x07\x1a\x02 \x00\xd8\x01\x03R\x03val\"\xc3\x01\n\x1f\x45\x64itionsMapKeyIgnoreUnspecified\x12h\n\x03val\x18\x01 \x03(\x0b\x32H.buf.validate.conformance.cases.EditionsMapKeyIgnoreUnspecified.ValEntryB\x0c\xbaH\t\x9a\x01\x06\"\x04\x1a\x02 \x00R\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\"\xba\x01\n\x19\x45\x64itionsMapKeyIgnoreEmpty\x12\x65\n\x03val\x18\x01 \x03(\x0b\x32\x42.buf.validate.conformance.cases.EditionsMapKeyIgnoreEmpty.ValEntryB\x0f\xbaH\x0c\x9a\x01\t\"\x07\x1a\x02 \x00\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\"\xbc\x01\n\x1a\x45\x64itionsMapKeyIgnoreAlways\x12\x66\n\x03val\x18\x01 \x03(\x0b\x32\x43.buf.validate.conformance.cases.EditionsMapKeyIgnoreAlways.ValEntryB\x0f\xbaH\x0c\x9a\x01\t\"\x07\x1a\x02 \x00\xd8\x01\x03R\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\"\xc7\x01\n!EditionsMapValueIgnoreUnspecified\x12j\n\x03val\x18\x01 \x03(\x0b\x32J.buf.validate.conformance.cases.EditionsMapValueIgnoreUnspecified.ValEntryB\x0c\xbaH\t\x9a\x01\x06*\x04\x1a\x02 \x00R\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\"\xbe\x01\n\x1b\x45\x64itionsMapValueIgnoreEmpty\x12g\n\x03val\x18\x01 \x03(\x0b\x32\x44.buf.validate.conformance.cases.EditionsMapValueIgnoreEmpty.ValEntryB\x0f\xbaH\x0c\x9a\x01\t*\x07\x1a\x02 \x00\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\"\xc0\x01\n\x1c\x45\x64itionsMapValueIgnoreAlways\x12h\n\x03val\x18\x01 \x03(\x0b\x32\x45.buf.validate.conformance.cases.EditionsMapValueIgnoreAlways.ValEntryB\x0f\xbaH\x0c\x9a\x01\t*\x07\x1a\x02 \x00\xd8\x01\x03R\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\xda\x01\n\"com.buf.validate.conformance.casesB\x18IgnoreProtoEditionsProtoP\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) @@ -55,10 +55,6 @@ _globals['_EDITIONSSCALAREXPLICITPRESENCEIGNOREEMPTY'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\001' _globals['_EDITIONSSCALAREXPLICITPRESENCEIGNOREEMPTYWITHDEFAULT'].fields_by_name['val']._loaded_options = None _globals['_EDITIONSSCALAREXPLICITPRESENCEIGNOREEMPTYWITHDEFAULT'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\001' - _globals['_EDITIONSSCALAREXPLICITPRESENCEIGNOREDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_EDITIONSSCALAREXPLICITPRESENCEIGNOREDEFAULT'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\002' - _globals['_EDITIONSSCALAREXPLICITPRESENCEIGNOREDEFAULTWITHDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_EDITIONSSCALAREXPLICITPRESENCEIGNOREDEFAULTWITHDEFAULT'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\002' _globals['_EDITIONSSCALAREXPLICITPRESENCEIGNOREALWAYS'].fields_by_name['val']._loaded_options = None _globals['_EDITIONSSCALAREXPLICITPRESENCEIGNOREALWAYS'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\003' _globals['_EDITIONSSCALAREXPLICITPRESENCEIGNOREALWAYSWITHDEFAULT'].fields_by_name['val']._loaded_options = None @@ -67,8 +63,6 @@ _globals['_EDITIONSSCALARIMPLICITPRESENCEIGNOREUNSPECIFIED'].fields_by_name['val']._serialized_options = b'\252\001\002\010\002\272H\004\032\002 \000' _globals['_EDITIONSSCALARIMPLICITPRESENCEIGNOREEMPTY'].fields_by_name['val']._loaded_options = None _globals['_EDITIONSSCALARIMPLICITPRESENCEIGNOREEMPTY'].fields_by_name['val']._serialized_options = b'\252\001\002\010\002\272H\007\032\002 \000\330\001\001' - _globals['_EDITIONSSCALARIMPLICITPRESENCEIGNOREDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_EDITIONSSCALARIMPLICITPRESENCEIGNOREDEFAULT'].fields_by_name['val']._serialized_options = b'\252\001\002\010\002\272H\007\032\002 \000\330\001\002' _globals['_EDITIONSSCALARIMPLICITPRESENCEIGNOREALWAYS'].fields_by_name['val']._loaded_options = None _globals['_EDITIONSSCALARIMPLICITPRESENCEIGNOREALWAYS'].fields_by_name['val']._serialized_options = b'\252\001\002\010\002\272H\007\032\002 \000\330\001\003' _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREUNSPECIFIED'].fields_by_name['val']._loaded_options = None @@ -79,10 +73,6 @@ _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREEMPTY'].fields_by_name['val']._serialized_options = b'\252\001\002\010\003\272H\007\032\002 \000\330\001\001' _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREEMPTYWITHDEFAULT'].fields_by_name['val']._loaded_options = None _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREEMPTYWITHDEFAULT'].fields_by_name['val']._serialized_options = b'\252\001\002\010\003\272H\007\032\002 \000\330\001\001' - _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREDEFAULT'].fields_by_name['val']._serialized_options = b'\252\001\002\010\003\272H\007\032\002 \000\330\001\002' - _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREDEFAULTWITHDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREDEFAULTWITHDEFAULT'].fields_by_name['val']._serialized_options = b'\252\001\002\010\003\272H\007\032\002 \000\330\001\002' _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREALWAYS'].fields_by_name['val']._loaded_options = None _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREALWAYS'].fields_by_name['val']._serialized_options = b'\252\001\002\010\003\272H\007\032\002 \000\330\001\003' _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREALWAYSWITHDEFAULT'].fields_by_name['val']._loaded_options = None @@ -95,10 +85,6 @@ _globals['_EDITIONSMESSAGEEXPLICITPRESENCEIGNOREEMPTY'].fields_by_name['val']._serialized_options = b'\272HF\272\001@\n#proto.editions.message.ignore.empty\022\006foobar\032\021this.val == \'foo\'\330\001\001' _globals['_EDITIONSMESSAGEEXPLICITPRESENCEDELIMITEDIGNOREEMPTY'].fields_by_name['val']._loaded_options = None _globals['_EDITIONSMESSAGEEXPLICITPRESENCEDELIMITEDIGNOREEMPTY'].fields_by_name['val']._serialized_options = b'\252\001\002(\002\272HF\272\001@\n#proto.editions.message.ignore.empty\022\006foobar\032\021this.val == \'foo\'\330\001\001' - _globals['_EDITIONSMESSAGEEXPLICITPRESENCEIGNOREDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_EDITIONSMESSAGEEXPLICITPRESENCEIGNOREDEFAULT'].fields_by_name['val']._serialized_options = b'\272HF\272\001@\n#proto.editions.message.ignore.empty\022\006foobar\032\021this.val == \'foo\'\330\001\002' - _globals['_EDITIONSMESSAGEEXPLICITPRESENCEDELIMITEDIGNOREDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_EDITIONSMESSAGEEXPLICITPRESENCEDELIMITEDIGNOREDEFAULT'].fields_by_name['val']._serialized_options = b'\252\001\002(\002\272HF\272\001@\n#proto.editions.message.ignore.empty\022\006foobar\032\021this.val == \'foo\'\330\001\002' _globals['_EDITIONSMESSAGEEXPLICITPRESENCEIGNOREALWAYS'].fields_by_name['val']._loaded_options = None _globals['_EDITIONSMESSAGEEXPLICITPRESENCEIGNOREALWAYS'].fields_by_name['val']._serialized_options = b'\272HG\272\001A\n$proto.editions.message.ignore.always\022\006foobar\032\021this.val == \'foo\'\330\001\003' _globals['_EDITIONSMESSAGEEXPLICITPRESENCEDELIMITEDIGNOREALWAYS'].fields_by_name['val']._loaded_options = None @@ -111,10 +97,6 @@ _globals['_EDITIONSMESSAGELEGACYREQUIREDIGNOREEMPTY'].fields_by_name['val']._serialized_options = b'\252\001\002\010\003\272HF\272\001@\n#proto.editions.message.ignore.empty\022\006foobar\032\021this.val == \'foo\'\330\001\001' _globals['_EDITIONSMESSAGELEGACYREQUIREDDELIMITEDIGNOREEMPTY'].fields_by_name['val']._loaded_options = None _globals['_EDITIONSMESSAGELEGACYREQUIREDDELIMITEDIGNOREEMPTY'].fields_by_name['val']._serialized_options = b'\252\001\004\010\003(\002\272HF\272\001@\n#proto.editions.message.ignore.empty\022\006foobar\032\021this.val == \'foo\'\330\001\001' - _globals['_EDITIONSMESSAGELEGACYREQUIREDIGNOREDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_EDITIONSMESSAGELEGACYREQUIREDIGNOREDEFAULT'].fields_by_name['val']._serialized_options = b'\252\001\002\010\003\272HF\272\001@\n#proto.editions.message.ignore.empty\022\006foobar\032\021this.val == \'foo\'\330\001\002' - _globals['_EDITIONSMESSAGELEGACYREQUIREDDELIMITEDIGNOREDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_EDITIONSMESSAGELEGACYREQUIREDDELIMITEDIGNOREDEFAULT'].fields_by_name['val']._serialized_options = b'\252\001\004\010\003(\002\272HF\272\001@\n#proto.editions.message.ignore.empty\022\006foobar\032\021this.val == \'foo\'\330\001\002' _globals['_EDITIONSMESSAGELEGACYREQUIREDIGNOREALWAYS'].fields_by_name['val']._loaded_options = None _globals['_EDITIONSMESSAGELEGACYREQUIREDIGNOREALWAYS'].fields_by_name['val']._serialized_options = b'\252\001\002\010\003\272HF\272\001@\n#proto.editions.message.ignore.empty\022\006foobar\032\021this.val == \'foo\'\330\001\003' _globals['_EDITIONSMESSAGELEGACYREQUIREDDELIMITEDIGNOREALWAYS'].fields_by_name['val']._loaded_options = None @@ -127,10 +109,6 @@ _globals['_EDITIONSONEOFIGNOREEMPTY'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\001' _globals['_EDITIONSONEOFIGNOREEMPTYWITHDEFAULT'].fields_by_name['val']._loaded_options = None _globals['_EDITIONSONEOFIGNOREEMPTYWITHDEFAULT'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\001' - _globals['_EDITIONSONEOFIGNOREDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_EDITIONSONEOFIGNOREDEFAULT'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\002' - _globals['_EDITIONSONEOFIGNOREDEFAULTWITHDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_EDITIONSONEOFIGNOREDEFAULTWITHDEFAULT'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\002' _globals['_EDITIONSONEOFIGNOREALWAYS'].fields_by_name['val']._loaded_options = None _globals['_EDITIONSONEOFIGNOREALWAYS'].fields_by_name['val']._serialized_options = b'\272H\007\032\002 \000\330\001\003' _globals['_EDITIONSONEOFIGNOREALWAYSWITHDEFAULT'].fields_by_name['val']._loaded_options = None @@ -143,10 +121,6 @@ _globals['_EDITIONSREPEATEDIGNOREEMPTY'].fields_by_name['val']._serialized_options = b'\272H\010\222\001\002\010\003\330\001\001' _globals['_EDITIONSREPEATEDEXPANDEDIGNOREEMPTY'].fields_by_name['val']._loaded_options = None _globals['_EDITIONSREPEATEDEXPANDEDIGNOREEMPTY'].fields_by_name['val']._serialized_options = b'\252\001\002\030\002\272H\010\222\001\002\010\003\330\001\001' - _globals['_EDITIONSREPEATEDIGNOREDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_EDITIONSREPEATEDIGNOREDEFAULT'].fields_by_name['val']._serialized_options = b'\272H\010\222\001\002\010\003\330\001\002' - _globals['_EDITIONSREPEATEDEXPANDEDIGNOREDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_EDITIONSREPEATEDEXPANDEDIGNOREDEFAULT'].fields_by_name['val']._serialized_options = b'\252\001\002\030\002\272H\010\222\001\002\010\003\330\001\002' _globals['_EDITIONSREPEATEDIGNOREALWAYS'].fields_by_name['val']._loaded_options = None _globals['_EDITIONSREPEATEDIGNOREALWAYS'].fields_by_name['val']._serialized_options = b'\272H\010\222\001\002\010\003\330\001\003' _globals['_EDITIONSREPEATEDEXPANDEDIGNOREALWAYS'].fields_by_name['val']._loaded_options = None @@ -159,10 +133,6 @@ _globals['_EDITIONSMAPIGNOREEMPTY_VALENTRY']._serialized_options = b'8\001' _globals['_EDITIONSMAPIGNOREEMPTY'].fields_by_name['val']._loaded_options = None _globals['_EDITIONSMAPIGNOREEMPTY'].fields_by_name['val']._serialized_options = b'\272H\010\232\001\002\010\003\330\001\001' - _globals['_EDITIONSMAPIGNOREDEFAULT_VALENTRY']._loaded_options = None - _globals['_EDITIONSMAPIGNOREDEFAULT_VALENTRY']._serialized_options = b'8\001' - _globals['_EDITIONSMAPIGNOREDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_EDITIONSMAPIGNOREDEFAULT'].fields_by_name['val']._serialized_options = b'\272H\010\232\001\002\010\003\330\001\002' _globals['_EDITIONSMAPIGNOREALWAYS_VALENTRY']._loaded_options = None _globals['_EDITIONSMAPIGNOREALWAYS_VALENTRY']._serialized_options = b'8\001' _globals['_EDITIONSMAPIGNOREALWAYS'].fields_by_name['val']._loaded_options = None @@ -175,10 +145,6 @@ _globals['_EDITIONSREPEATEDITEMIGNOREEMPTY'].fields_by_name['val']._serialized_options = b'\272H\014\222\001\t\"\007\032\002 \000\330\001\001' _globals['_EDITIONSREPEATEDEXPANDEDITEMIGNOREEMPTY'].fields_by_name['val']._loaded_options = None _globals['_EDITIONSREPEATEDEXPANDEDITEMIGNOREEMPTY'].fields_by_name['val']._serialized_options = b'\252\001\002\030\002\272H\014\222\001\t\"\007\032\002 \000\330\001\001' - _globals['_EDITIONSREPEATEDITEMIGNOREDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_EDITIONSREPEATEDITEMIGNOREDEFAULT'].fields_by_name['val']._serialized_options = b'\272H\014\222\001\t\"\007\032\002 \000\330\001\002' - _globals['_EDITIONSREPEATEDEXPANDEDITEMIGNOREDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_EDITIONSREPEATEDEXPANDEDITEMIGNOREDEFAULT'].fields_by_name['val']._serialized_options = b'\252\001\002\030\002\272H\014\222\001\t\"\007\032\002 \000\330\001\002' _globals['_EDITIONSREPEATEDITEMIGNOREALWAYS'].fields_by_name['val']._loaded_options = None _globals['_EDITIONSREPEATEDITEMIGNOREALWAYS'].fields_by_name['val']._serialized_options = b'\272H\014\222\001\t\"\007\032\002 \000\330\001\003' _globals['_EDITIONSREPEATEDEXPANDEDITEMIGNOREALWAYS'].fields_by_name['val']._loaded_options = None @@ -191,10 +157,6 @@ _globals['_EDITIONSMAPKEYIGNOREEMPTY_VALENTRY']._serialized_options = b'8\001' _globals['_EDITIONSMAPKEYIGNOREEMPTY'].fields_by_name['val']._loaded_options = None _globals['_EDITIONSMAPKEYIGNOREEMPTY'].fields_by_name['val']._serialized_options = b'\272H\014\232\001\t\"\007\032\002 \000\330\001\001' - _globals['_EDITIONSMAPKEYIGNOREDEFAULT_VALENTRY']._loaded_options = None - _globals['_EDITIONSMAPKEYIGNOREDEFAULT_VALENTRY']._serialized_options = b'8\001' - _globals['_EDITIONSMAPKEYIGNOREDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_EDITIONSMAPKEYIGNOREDEFAULT'].fields_by_name['val']._serialized_options = b'\272H\014\232\001\t\"\007\032\002 \000\330\001\002' _globals['_EDITIONSMAPKEYIGNOREALWAYS_VALENTRY']._loaded_options = None _globals['_EDITIONSMAPKEYIGNOREALWAYS_VALENTRY']._serialized_options = b'8\001' _globals['_EDITIONSMAPKEYIGNOREALWAYS'].fields_by_name['val']._loaded_options = None @@ -207,10 +169,6 @@ _globals['_EDITIONSMAPVALUEIGNOREEMPTY_VALENTRY']._serialized_options = b'8\001' _globals['_EDITIONSMAPVALUEIGNOREEMPTY'].fields_by_name['val']._loaded_options = None _globals['_EDITIONSMAPVALUEIGNOREEMPTY'].fields_by_name['val']._serialized_options = b'\272H\014\232\001\t*\007\032\002 \000\330\001\001' - _globals['_EDITIONSMAPVALUEIGNOREDEFAULT_VALENTRY']._loaded_options = None - _globals['_EDITIONSMAPVALUEIGNOREDEFAULT_VALENTRY']._serialized_options = b'8\001' - _globals['_EDITIONSMAPVALUEIGNOREDEFAULT'].fields_by_name['val']._loaded_options = None - _globals['_EDITIONSMAPVALUEIGNOREDEFAULT'].fields_by_name['val']._serialized_options = b'\272H\014\232\001\t*\007\032\002 \000\330\001\002' _globals['_EDITIONSMAPVALUEIGNOREALWAYS_VALENTRY']._loaded_options = None _globals['_EDITIONSMAPVALUEIGNOREALWAYS_VALENTRY']._serialized_options = b'8\001' _globals['_EDITIONSMAPVALUEIGNOREALWAYS'].fields_by_name['val']._loaded_options = None @@ -223,196 +181,146 @@ _globals['_EDITIONSSCALAREXPLICITPRESENCEIGNOREEMPTY']._serialized_end=368 _globals['_EDITIONSSCALAREXPLICITPRESENCEIGNOREEMPTYWITHDEFAULT']._serialized_start=370 _globals['_EDITIONSSCALAREXPLICITPRESENCEIGNOREEMPTYWITHDEFAULT']._serialized_end=459 - _globals['_EDITIONSSCALAREXPLICITPRESENCEIGNOREDEFAULT']._serialized_start=461 - _globals['_EDITIONSSCALAREXPLICITPRESENCEIGNOREDEFAULT']._serialized_end=536 - _globals['_EDITIONSSCALAREXPLICITPRESENCEIGNOREDEFAULTWITHDEFAULT']._serialized_start=538 - _globals['_EDITIONSSCALAREXPLICITPRESENCEIGNOREDEFAULTWITHDEFAULT']._serialized_end=629 - _globals['_EDITIONSSCALAREXPLICITPRESENCEIGNOREALWAYS']._serialized_start=631 - _globals['_EDITIONSSCALAREXPLICITPRESENCEIGNOREALWAYS']._serialized_end=705 - _globals['_EDITIONSSCALAREXPLICITPRESENCEIGNOREALWAYSWITHDEFAULT']._serialized_start=707 - _globals['_EDITIONSSCALAREXPLICITPRESENCEIGNOREALWAYSWITHDEFAULT']._serialized_end=797 - _globals['_EDITIONSSCALARIMPLICITPRESENCEIGNOREUNSPECIFIED']._serialized_start=799 - _globals['_EDITIONSSCALARIMPLICITPRESENCEIGNOREUNSPECIFIED']._serialized_end=880 - _globals['_EDITIONSSCALARIMPLICITPRESENCEIGNOREEMPTY']._serialized_start=882 - _globals['_EDITIONSSCALARIMPLICITPRESENCEIGNOREEMPTY']._serialized_end=960 - _globals['_EDITIONSSCALARIMPLICITPRESENCEIGNOREDEFAULT']._serialized_start=962 - _globals['_EDITIONSSCALARIMPLICITPRESENCEIGNOREDEFAULT']._serialized_end=1042 - _globals['_EDITIONSSCALARIMPLICITPRESENCEIGNOREALWAYS']._serialized_start=1044 - _globals['_EDITIONSSCALARIMPLICITPRESENCEIGNOREALWAYS']._serialized_end=1123 - _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREUNSPECIFIED']._serialized_start=1125 - _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREUNSPECIFIED']._serialized_end=1204 - _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREUNSPECIFIEDWITHDEFAULT']._serialized_start=1206 - _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREUNSPECIFIEDWITHDEFAULT']._serialized_end=1301 - _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREEMPTY']._serialized_start=1303 - _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREEMPTY']._serialized_end=1379 - _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREEMPTYWITHDEFAULT']._serialized_start=1381 - _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREEMPTYWITHDEFAULT']._serialized_end=1473 - _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREDEFAULT']._serialized_start=1475 - _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREDEFAULT']._serialized_end=1553 - _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREDEFAULTWITHDEFAULT']._serialized_start=1555 - _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREDEFAULTWITHDEFAULT']._serialized_end=1649 - _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREALWAYS']._serialized_start=1651 - _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREALWAYS']._serialized_end=1728 - _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREALWAYSWITHDEFAULT']._serialized_start=1730 - _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREALWAYSWITHDEFAULT']._serialized_end=1823 - _globals['_EDITIONSMESSAGEEXPLICITPRESENCEIGNOREUNSPECIFIED']._serialized_start=1826 - _globals['_EDITIONSMESSAGEEXPLICITPRESENCEIGNOREUNSPECIFIED']._serialized_end=2078 - _globals['_EDITIONSMESSAGEEXPLICITPRESENCEIGNOREUNSPECIFIED_MSG']._serialized_start=2055 - _globals['_EDITIONSMESSAGEEXPLICITPRESENCEIGNOREUNSPECIFIED_MSG']._serialized_end=2078 - _globals['_EDITIONSMESSAGEEXPLICITPRESENCEDELIMITEDIGNOREUNSPECIFIED']._serialized_start=2081 - _globals['_EDITIONSMESSAGEEXPLICITPRESENCEDELIMITEDIGNOREUNSPECIFIED']._serialized_end=2356 - _globals['_EDITIONSMESSAGEEXPLICITPRESENCEDELIMITEDIGNOREUNSPECIFIED_MSG']._serialized_start=2055 - _globals['_EDITIONSMESSAGEEXPLICITPRESENCEDELIMITEDIGNOREUNSPECIFIED_MSG']._serialized_end=2078 - _globals['_EDITIONSMESSAGEEXPLICITPRESENCEIGNOREEMPTY']._serialized_start=2359 - _globals['_EDITIONSMESSAGEEXPLICITPRESENCEIGNOREEMPTY']._serialized_end=2602 - _globals['_EDITIONSMESSAGEEXPLICITPRESENCEIGNOREEMPTY_MSG']._serialized_start=2055 - _globals['_EDITIONSMESSAGEEXPLICITPRESENCEIGNOREEMPTY_MSG']._serialized_end=2078 - _globals['_EDITIONSMESSAGEEXPLICITPRESENCEDELIMITEDIGNOREEMPTY']._serialized_start=2605 - _globals['_EDITIONSMESSAGEEXPLICITPRESENCEDELIMITEDIGNOREEMPTY']._serialized_end=2871 - _globals['_EDITIONSMESSAGEEXPLICITPRESENCEDELIMITEDIGNOREEMPTY_MSG']._serialized_start=2055 - _globals['_EDITIONSMESSAGEEXPLICITPRESENCEDELIMITEDIGNOREEMPTY_MSG']._serialized_end=2078 - _globals['_EDITIONSMESSAGEEXPLICITPRESENCEIGNOREDEFAULT']._serialized_start=2874 - _globals['_EDITIONSMESSAGEEXPLICITPRESENCEIGNOREDEFAULT']._serialized_end=3121 - _globals['_EDITIONSMESSAGEEXPLICITPRESENCEIGNOREDEFAULT_MSG']._serialized_start=2055 - _globals['_EDITIONSMESSAGEEXPLICITPRESENCEIGNOREDEFAULT_MSG']._serialized_end=2078 - _globals['_EDITIONSMESSAGEEXPLICITPRESENCEDELIMITEDIGNOREDEFAULT']._serialized_start=3124 - _globals['_EDITIONSMESSAGEEXPLICITPRESENCEDELIMITEDIGNOREDEFAULT']._serialized_end=3394 - _globals['_EDITIONSMESSAGEEXPLICITPRESENCEDELIMITEDIGNOREDEFAULT_MSG']._serialized_start=2055 - _globals['_EDITIONSMESSAGEEXPLICITPRESENCEDELIMITEDIGNOREDEFAULT_MSG']._serialized_end=2078 - _globals['_EDITIONSMESSAGEEXPLICITPRESENCEIGNOREALWAYS']._serialized_start=3397 - _globals['_EDITIONSMESSAGEEXPLICITPRESENCEIGNOREALWAYS']._serialized_end=3643 - _globals['_EDITIONSMESSAGEEXPLICITPRESENCEIGNOREALWAYS_MSG']._serialized_start=2055 - _globals['_EDITIONSMESSAGEEXPLICITPRESENCEIGNOREALWAYS_MSG']._serialized_end=2078 - _globals['_EDITIONSMESSAGEEXPLICITPRESENCEDELIMITEDIGNOREALWAYS']._serialized_start=3646 - _globals['_EDITIONSMESSAGEEXPLICITPRESENCEDELIMITEDIGNOREALWAYS']._serialized_end=3915 - _globals['_EDITIONSMESSAGEEXPLICITPRESENCEDELIMITEDIGNOREALWAYS_MSG']._serialized_start=2055 - _globals['_EDITIONSMESSAGEEXPLICITPRESENCEDELIMITEDIGNOREALWAYS_MSG']._serialized_end=2078 - _globals['_EDITIONSMESSAGELEGACYREQUIREDIGNOREUNSPECIFIED']._serialized_start=3918 - _globals['_EDITIONSMESSAGELEGACYREQUIREDIGNOREUNSPECIFIED']._serialized_end=4171 - _globals['_EDITIONSMESSAGELEGACYREQUIREDIGNOREUNSPECIFIED_MSG']._serialized_start=2055 - _globals['_EDITIONSMESSAGELEGACYREQUIREDIGNOREUNSPECIFIED_MSG']._serialized_end=2078 - _globals['_EDITIONSMESSAGELEGACYREQUIREDDELIMITEDIGNOREUNSPECIFIED']._serialized_start=4174 - _globals['_EDITIONSMESSAGELEGACYREQUIREDDELIMITEDIGNOREUNSPECIFIED']._serialized_end=4447 - _globals['_EDITIONSMESSAGELEGACYREQUIREDDELIMITEDIGNOREUNSPECIFIED_MSG']._serialized_start=2055 - _globals['_EDITIONSMESSAGELEGACYREQUIREDDELIMITEDIGNOREUNSPECIFIED_MSG']._serialized_end=2078 - _globals['_EDITIONSMESSAGELEGACYREQUIREDIGNOREEMPTY']._serialized_start=4450 - _globals['_EDITIONSMESSAGELEGACYREQUIREDIGNOREEMPTY']._serialized_end=4694 - _globals['_EDITIONSMESSAGELEGACYREQUIREDIGNOREEMPTY_MSG']._serialized_start=2055 - _globals['_EDITIONSMESSAGELEGACYREQUIREDIGNOREEMPTY_MSG']._serialized_end=2078 - _globals['_EDITIONSMESSAGELEGACYREQUIREDDELIMITEDIGNOREEMPTY']._serialized_start=4697 - _globals['_EDITIONSMESSAGELEGACYREQUIREDDELIMITEDIGNOREEMPTY']._serialized_end=4961 - _globals['_EDITIONSMESSAGELEGACYREQUIREDDELIMITEDIGNOREEMPTY_MSG']._serialized_start=2055 - _globals['_EDITIONSMESSAGELEGACYREQUIREDDELIMITEDIGNOREEMPTY_MSG']._serialized_end=2078 - _globals['_EDITIONSMESSAGELEGACYREQUIREDIGNOREDEFAULT']._serialized_start=4964 - _globals['_EDITIONSMESSAGELEGACYREQUIREDIGNOREDEFAULT']._serialized_end=5212 - _globals['_EDITIONSMESSAGELEGACYREQUIREDIGNOREDEFAULT_MSG']._serialized_start=2055 - _globals['_EDITIONSMESSAGELEGACYREQUIREDIGNOREDEFAULT_MSG']._serialized_end=2078 - _globals['_EDITIONSMESSAGELEGACYREQUIREDDELIMITEDIGNOREDEFAULT']._serialized_start=5215 - _globals['_EDITIONSMESSAGELEGACYREQUIREDDELIMITEDIGNOREDEFAULT']._serialized_end=5483 - _globals['_EDITIONSMESSAGELEGACYREQUIREDDELIMITEDIGNOREDEFAULT_MSG']._serialized_start=2055 - _globals['_EDITIONSMESSAGELEGACYREQUIREDDELIMITEDIGNOREDEFAULT_MSG']._serialized_end=2078 - _globals['_EDITIONSMESSAGELEGACYREQUIREDIGNOREALWAYS']._serialized_start=5486 - _globals['_EDITIONSMESSAGELEGACYREQUIREDIGNOREALWAYS']._serialized_end=5732 - _globals['_EDITIONSMESSAGELEGACYREQUIREDIGNOREALWAYS_MSG']._serialized_start=2055 - _globals['_EDITIONSMESSAGELEGACYREQUIREDIGNOREALWAYS_MSG']._serialized_end=2078 - _globals['_EDITIONSMESSAGELEGACYREQUIREDDELIMITEDIGNOREALWAYS']._serialized_start=5735 - _globals['_EDITIONSMESSAGELEGACYREQUIREDDELIMITEDIGNOREALWAYS']._serialized_end=6001 - _globals['_EDITIONSMESSAGELEGACYREQUIREDDELIMITEDIGNOREALWAYS_MSG']._serialized_start=2055 - _globals['_EDITIONSMESSAGELEGACYREQUIREDDELIMITEDIGNOREALWAYS_MSG']._serialized_end=2078 - _globals['_EDITIONSONEOFIGNOREUNSPECIFIED']._serialized_start=6003 - _globals['_EDITIONSONEOFIGNOREUNSPECIFIED']._serialized_end=6069 - _globals['_EDITIONSONEOFIGNOREUNSPECIFIEDWITHDEFAULT']._serialized_start=6071 - _globals['_EDITIONSONEOFIGNOREUNSPECIFIEDWITHDEFAULT']._serialized_end=6153 - _globals['_EDITIONSONEOFIGNOREEMPTY']._serialized_start=6155 - _globals['_EDITIONSONEOFIGNOREEMPTY']._serialized_end=6218 - _globals['_EDITIONSONEOFIGNOREEMPTYWITHDEFAULT']._serialized_start=6220 - _globals['_EDITIONSONEOFIGNOREEMPTYWITHDEFAULT']._serialized_end=6299 - _globals['_EDITIONSONEOFIGNOREDEFAULT']._serialized_start=6301 - _globals['_EDITIONSONEOFIGNOREDEFAULT']._serialized_end=6366 - _globals['_EDITIONSONEOFIGNOREDEFAULTWITHDEFAULT']._serialized_start=6368 - _globals['_EDITIONSONEOFIGNOREDEFAULTWITHDEFAULT']._serialized_end=6449 - _globals['_EDITIONSONEOFIGNOREALWAYS']._serialized_start=6451 - _globals['_EDITIONSONEOFIGNOREALWAYS']._serialized_end=6515 - _globals['_EDITIONSONEOFIGNOREALWAYSWITHDEFAULT']._serialized_start=6517 - _globals['_EDITIONSONEOFIGNOREALWAYSWITHDEFAULT']._serialized_end=6597 - _globals['_EDITIONSREPEATEDIGNOREUNSPECIFIED']._serialized_start=6599 - _globals['_EDITIONSREPEATEDIGNOREUNSPECIFIED']._serialized_end=6662 - _globals['_EDITIONSREPEATEDEXPANDEDIGNOREUNSPECIFIED']._serialized_start=6664 - _globals['_EDITIONSREPEATEDEXPANDEDIGNOREUNSPECIFIED']._serialized_end=6740 - _globals['_EDITIONSREPEATEDIGNOREEMPTY']._serialized_start=6742 - _globals['_EDITIONSREPEATEDIGNOREEMPTY']._serialized_end=6802 - _globals['_EDITIONSREPEATEDEXPANDEDIGNOREEMPTY']._serialized_start=6804 - _globals['_EDITIONSREPEATEDEXPANDEDIGNOREEMPTY']._serialized_end=6877 - _globals['_EDITIONSREPEATEDIGNOREDEFAULT']._serialized_start=6879 - _globals['_EDITIONSREPEATEDIGNOREDEFAULT']._serialized_end=6941 - _globals['_EDITIONSREPEATEDEXPANDEDIGNOREDEFAULT']._serialized_start=6943 - _globals['_EDITIONSREPEATEDEXPANDEDIGNOREDEFAULT']._serialized_end=7018 - _globals['_EDITIONSREPEATEDIGNOREALWAYS']._serialized_start=7020 - _globals['_EDITIONSREPEATEDIGNOREALWAYS']._serialized_end=7081 - _globals['_EDITIONSREPEATEDEXPANDEDIGNOREALWAYS']._serialized_start=7083 - _globals['_EDITIONSREPEATEDEXPANDEDIGNOREALWAYS']._serialized_end=7157 - _globals['_EDITIONSMAPIGNOREUNSPECIFIED']._serialized_start=7160 - _globals['_EDITIONSMAPIGNOREUNSPECIFIED']._serialized_end=7345 - _globals['_EDITIONSMAPIGNOREUNSPECIFIED_VALENTRY']._serialized_start=7291 - _globals['_EDITIONSMAPIGNOREUNSPECIFIED_VALENTRY']._serialized_end=7345 - _globals['_EDITIONSMAPIGNOREEMPTY']._serialized_start=7348 - _globals['_EDITIONSMAPIGNOREEMPTY']._serialized_end=7524 - _globals['_EDITIONSMAPIGNOREEMPTY_VALENTRY']._serialized_start=7291 - _globals['_EDITIONSMAPIGNOREEMPTY_VALENTRY']._serialized_end=7345 - _globals['_EDITIONSMAPIGNOREDEFAULT']._serialized_start=7527 - _globals['_EDITIONSMAPIGNOREDEFAULT']._serialized_end=7707 - _globals['_EDITIONSMAPIGNOREDEFAULT_VALENTRY']._serialized_start=7291 - _globals['_EDITIONSMAPIGNOREDEFAULT_VALENTRY']._serialized_end=7345 - _globals['_EDITIONSMAPIGNOREALWAYS']._serialized_start=7710 - _globals['_EDITIONSMAPIGNOREALWAYS']._serialized_end=7888 - _globals['_EDITIONSMAPIGNOREALWAYS_VALENTRY']._serialized_start=7291 - _globals['_EDITIONSMAPIGNOREALWAYS_VALENTRY']._serialized_end=7345 - _globals['_EDITIONSREPEATEDITEMIGNOREUNSPECIFIED']._serialized_start=7890 - _globals['_EDITIONSREPEATEDITEMIGNOREUNSPECIFIED']._serialized_end=7961 - _globals['_EDITIONSREPEATEDEXPANDEDITEMIGNOREUNSPECIFIED']._serialized_start=7963 - _globals['_EDITIONSREPEATEDEXPANDEDITEMIGNOREUNSPECIFIED']._serialized_end=8047 - _globals['_EDITIONSREPEATEDITEMIGNOREEMPTY']._serialized_start=8049 - _globals['_EDITIONSREPEATEDITEMIGNOREEMPTY']._serialized_end=8117 - _globals['_EDITIONSREPEATEDEXPANDEDITEMIGNOREEMPTY']._serialized_start=8119 - _globals['_EDITIONSREPEATEDEXPANDEDITEMIGNOREEMPTY']._serialized_end=8200 - _globals['_EDITIONSREPEATEDITEMIGNOREDEFAULT']._serialized_start=8202 - _globals['_EDITIONSREPEATEDITEMIGNOREDEFAULT']._serialized_end=8272 - _globals['_EDITIONSREPEATEDEXPANDEDITEMIGNOREDEFAULT']._serialized_start=8274 - _globals['_EDITIONSREPEATEDEXPANDEDITEMIGNOREDEFAULT']._serialized_end=8357 - _globals['_EDITIONSREPEATEDITEMIGNOREALWAYS']._serialized_start=8359 - _globals['_EDITIONSREPEATEDITEMIGNOREALWAYS']._serialized_end=8428 - _globals['_EDITIONSREPEATEDEXPANDEDITEMIGNOREALWAYS']._serialized_start=8430 - _globals['_EDITIONSREPEATEDEXPANDEDITEMIGNOREALWAYS']._serialized_end=8512 - _globals['_EDITIONSMAPKEYIGNOREUNSPECIFIED']._serialized_start=8515 - _globals['_EDITIONSMAPKEYIGNOREUNSPECIFIED']._serialized_end=8710 - _globals['_EDITIONSMAPKEYIGNOREUNSPECIFIED_VALENTRY']._serialized_start=7291 - _globals['_EDITIONSMAPKEYIGNOREUNSPECIFIED_VALENTRY']._serialized_end=7345 - _globals['_EDITIONSMAPKEYIGNOREEMPTY']._serialized_start=8713 - _globals['_EDITIONSMAPKEYIGNOREEMPTY']._serialized_end=8899 - _globals['_EDITIONSMAPKEYIGNOREEMPTY_VALENTRY']._serialized_start=7291 - _globals['_EDITIONSMAPKEYIGNOREEMPTY_VALENTRY']._serialized_end=7345 - _globals['_EDITIONSMAPKEYIGNOREDEFAULT']._serialized_start=8902 - _globals['_EDITIONSMAPKEYIGNOREDEFAULT']._serialized_end=9092 - _globals['_EDITIONSMAPKEYIGNOREDEFAULT_VALENTRY']._serialized_start=7291 - _globals['_EDITIONSMAPKEYIGNOREDEFAULT_VALENTRY']._serialized_end=7345 - _globals['_EDITIONSMAPKEYIGNOREALWAYS']._serialized_start=9095 - _globals['_EDITIONSMAPKEYIGNOREALWAYS']._serialized_end=9283 - _globals['_EDITIONSMAPKEYIGNOREALWAYS_VALENTRY']._serialized_start=7291 - _globals['_EDITIONSMAPKEYIGNOREALWAYS_VALENTRY']._serialized_end=7345 - _globals['_EDITIONSMAPVALUEIGNOREUNSPECIFIED']._serialized_start=9286 - _globals['_EDITIONSMAPVALUEIGNOREUNSPECIFIED']._serialized_end=9485 - _globals['_EDITIONSMAPVALUEIGNOREUNSPECIFIED_VALENTRY']._serialized_start=7291 - _globals['_EDITIONSMAPVALUEIGNOREUNSPECIFIED_VALENTRY']._serialized_end=7345 - _globals['_EDITIONSMAPVALUEIGNOREEMPTY']._serialized_start=9488 - _globals['_EDITIONSMAPVALUEIGNOREEMPTY']._serialized_end=9678 - _globals['_EDITIONSMAPVALUEIGNOREEMPTY_VALENTRY']._serialized_start=7291 - _globals['_EDITIONSMAPVALUEIGNOREEMPTY_VALENTRY']._serialized_end=7345 - _globals['_EDITIONSMAPVALUEIGNOREDEFAULT']._serialized_start=9681 - _globals['_EDITIONSMAPVALUEIGNOREDEFAULT']._serialized_end=9875 - _globals['_EDITIONSMAPVALUEIGNOREDEFAULT_VALENTRY']._serialized_start=7291 - _globals['_EDITIONSMAPVALUEIGNOREDEFAULT_VALENTRY']._serialized_end=7345 - _globals['_EDITIONSMAPVALUEIGNOREALWAYS']._serialized_start=9878 - _globals['_EDITIONSMAPVALUEIGNOREALWAYS']._serialized_end=10070 - _globals['_EDITIONSMAPVALUEIGNOREALWAYS_VALENTRY']._serialized_start=7291 - _globals['_EDITIONSMAPVALUEIGNOREALWAYS_VALENTRY']._serialized_end=7345 + _globals['_EDITIONSSCALAREXPLICITPRESENCEIGNOREALWAYS']._serialized_start=461 + _globals['_EDITIONSSCALAREXPLICITPRESENCEIGNOREALWAYS']._serialized_end=535 + _globals['_EDITIONSSCALAREXPLICITPRESENCEIGNOREALWAYSWITHDEFAULT']._serialized_start=537 + _globals['_EDITIONSSCALAREXPLICITPRESENCEIGNOREALWAYSWITHDEFAULT']._serialized_end=627 + _globals['_EDITIONSSCALARIMPLICITPRESENCEIGNOREUNSPECIFIED']._serialized_start=629 + _globals['_EDITIONSSCALARIMPLICITPRESENCEIGNOREUNSPECIFIED']._serialized_end=710 + _globals['_EDITIONSSCALARIMPLICITPRESENCEIGNOREEMPTY']._serialized_start=712 + _globals['_EDITIONSSCALARIMPLICITPRESENCEIGNOREEMPTY']._serialized_end=790 + _globals['_EDITIONSSCALARIMPLICITPRESENCEIGNOREALWAYS']._serialized_start=792 + _globals['_EDITIONSSCALARIMPLICITPRESENCEIGNOREALWAYS']._serialized_end=871 + _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREUNSPECIFIED']._serialized_start=873 + _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREUNSPECIFIED']._serialized_end=952 + _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREUNSPECIFIEDWITHDEFAULT']._serialized_start=954 + _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREUNSPECIFIEDWITHDEFAULT']._serialized_end=1049 + _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREEMPTY']._serialized_start=1051 + _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREEMPTY']._serialized_end=1127 + _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREEMPTYWITHDEFAULT']._serialized_start=1129 + _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREEMPTYWITHDEFAULT']._serialized_end=1221 + _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREALWAYS']._serialized_start=1223 + _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREALWAYS']._serialized_end=1300 + _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREALWAYSWITHDEFAULT']._serialized_start=1302 + _globals['_EDITIONSSCALARLEGACYREQUIREDIGNOREALWAYSWITHDEFAULT']._serialized_end=1395 + _globals['_EDITIONSMESSAGEEXPLICITPRESENCEIGNOREUNSPECIFIED']._serialized_start=1398 + _globals['_EDITIONSMESSAGEEXPLICITPRESENCEIGNOREUNSPECIFIED']._serialized_end=1650 + _globals['_EDITIONSMESSAGEEXPLICITPRESENCEIGNOREUNSPECIFIED_MSG']._serialized_start=1627 + _globals['_EDITIONSMESSAGEEXPLICITPRESENCEIGNOREUNSPECIFIED_MSG']._serialized_end=1650 + _globals['_EDITIONSMESSAGEEXPLICITPRESENCEDELIMITEDIGNOREUNSPECIFIED']._serialized_start=1653 + _globals['_EDITIONSMESSAGEEXPLICITPRESENCEDELIMITEDIGNOREUNSPECIFIED']._serialized_end=1928 + _globals['_EDITIONSMESSAGEEXPLICITPRESENCEDELIMITEDIGNOREUNSPECIFIED_MSG']._serialized_start=1627 + _globals['_EDITIONSMESSAGEEXPLICITPRESENCEDELIMITEDIGNOREUNSPECIFIED_MSG']._serialized_end=1650 + _globals['_EDITIONSMESSAGEEXPLICITPRESENCEIGNOREEMPTY']._serialized_start=1931 + _globals['_EDITIONSMESSAGEEXPLICITPRESENCEIGNOREEMPTY']._serialized_end=2174 + _globals['_EDITIONSMESSAGEEXPLICITPRESENCEIGNOREEMPTY_MSG']._serialized_start=1627 + _globals['_EDITIONSMESSAGEEXPLICITPRESENCEIGNOREEMPTY_MSG']._serialized_end=1650 + _globals['_EDITIONSMESSAGEEXPLICITPRESENCEDELIMITEDIGNOREEMPTY']._serialized_start=2177 + _globals['_EDITIONSMESSAGEEXPLICITPRESENCEDELIMITEDIGNOREEMPTY']._serialized_end=2443 + _globals['_EDITIONSMESSAGEEXPLICITPRESENCEDELIMITEDIGNOREEMPTY_MSG']._serialized_start=1627 + _globals['_EDITIONSMESSAGEEXPLICITPRESENCEDELIMITEDIGNOREEMPTY_MSG']._serialized_end=1650 + _globals['_EDITIONSMESSAGEEXPLICITPRESENCEIGNOREALWAYS']._serialized_start=2446 + _globals['_EDITIONSMESSAGEEXPLICITPRESENCEIGNOREALWAYS']._serialized_end=2692 + _globals['_EDITIONSMESSAGEEXPLICITPRESENCEIGNOREALWAYS_MSG']._serialized_start=1627 + _globals['_EDITIONSMESSAGEEXPLICITPRESENCEIGNOREALWAYS_MSG']._serialized_end=1650 + _globals['_EDITIONSMESSAGEEXPLICITPRESENCEDELIMITEDIGNOREALWAYS']._serialized_start=2695 + _globals['_EDITIONSMESSAGEEXPLICITPRESENCEDELIMITEDIGNOREALWAYS']._serialized_end=2964 + _globals['_EDITIONSMESSAGEEXPLICITPRESENCEDELIMITEDIGNOREALWAYS_MSG']._serialized_start=1627 + _globals['_EDITIONSMESSAGEEXPLICITPRESENCEDELIMITEDIGNOREALWAYS_MSG']._serialized_end=1650 + _globals['_EDITIONSMESSAGELEGACYREQUIREDIGNOREUNSPECIFIED']._serialized_start=2967 + _globals['_EDITIONSMESSAGELEGACYREQUIREDIGNOREUNSPECIFIED']._serialized_end=3220 + _globals['_EDITIONSMESSAGELEGACYREQUIREDIGNOREUNSPECIFIED_MSG']._serialized_start=1627 + _globals['_EDITIONSMESSAGELEGACYREQUIREDIGNOREUNSPECIFIED_MSG']._serialized_end=1650 + _globals['_EDITIONSMESSAGELEGACYREQUIREDDELIMITEDIGNOREUNSPECIFIED']._serialized_start=3223 + _globals['_EDITIONSMESSAGELEGACYREQUIREDDELIMITEDIGNOREUNSPECIFIED']._serialized_end=3496 + _globals['_EDITIONSMESSAGELEGACYREQUIREDDELIMITEDIGNOREUNSPECIFIED_MSG']._serialized_start=1627 + _globals['_EDITIONSMESSAGELEGACYREQUIREDDELIMITEDIGNOREUNSPECIFIED_MSG']._serialized_end=1650 + _globals['_EDITIONSMESSAGELEGACYREQUIREDIGNOREEMPTY']._serialized_start=3499 + _globals['_EDITIONSMESSAGELEGACYREQUIREDIGNOREEMPTY']._serialized_end=3743 + _globals['_EDITIONSMESSAGELEGACYREQUIREDIGNOREEMPTY_MSG']._serialized_start=1627 + _globals['_EDITIONSMESSAGELEGACYREQUIREDIGNOREEMPTY_MSG']._serialized_end=1650 + _globals['_EDITIONSMESSAGELEGACYREQUIREDDELIMITEDIGNOREEMPTY']._serialized_start=3746 + _globals['_EDITIONSMESSAGELEGACYREQUIREDDELIMITEDIGNOREEMPTY']._serialized_end=4010 + _globals['_EDITIONSMESSAGELEGACYREQUIREDDELIMITEDIGNOREEMPTY_MSG']._serialized_start=1627 + _globals['_EDITIONSMESSAGELEGACYREQUIREDDELIMITEDIGNOREEMPTY_MSG']._serialized_end=1650 + _globals['_EDITIONSMESSAGELEGACYREQUIREDIGNOREALWAYS']._serialized_start=4013 + _globals['_EDITIONSMESSAGELEGACYREQUIREDIGNOREALWAYS']._serialized_end=4259 + _globals['_EDITIONSMESSAGELEGACYREQUIREDIGNOREALWAYS_MSG']._serialized_start=1627 + _globals['_EDITIONSMESSAGELEGACYREQUIREDIGNOREALWAYS_MSG']._serialized_end=1650 + _globals['_EDITIONSMESSAGELEGACYREQUIREDDELIMITEDIGNOREALWAYS']._serialized_start=4262 + _globals['_EDITIONSMESSAGELEGACYREQUIREDDELIMITEDIGNOREALWAYS']._serialized_end=4528 + _globals['_EDITIONSMESSAGELEGACYREQUIREDDELIMITEDIGNOREALWAYS_MSG']._serialized_start=1627 + _globals['_EDITIONSMESSAGELEGACYREQUIREDDELIMITEDIGNOREALWAYS_MSG']._serialized_end=1650 + _globals['_EDITIONSONEOFIGNOREUNSPECIFIED']._serialized_start=4530 + _globals['_EDITIONSONEOFIGNOREUNSPECIFIED']._serialized_end=4596 + _globals['_EDITIONSONEOFIGNOREUNSPECIFIEDWITHDEFAULT']._serialized_start=4598 + _globals['_EDITIONSONEOFIGNOREUNSPECIFIEDWITHDEFAULT']._serialized_end=4680 + _globals['_EDITIONSONEOFIGNOREEMPTY']._serialized_start=4682 + _globals['_EDITIONSONEOFIGNOREEMPTY']._serialized_end=4745 + _globals['_EDITIONSONEOFIGNOREEMPTYWITHDEFAULT']._serialized_start=4747 + _globals['_EDITIONSONEOFIGNOREEMPTYWITHDEFAULT']._serialized_end=4826 + _globals['_EDITIONSONEOFIGNOREALWAYS']._serialized_start=4828 + _globals['_EDITIONSONEOFIGNOREALWAYS']._serialized_end=4892 + _globals['_EDITIONSONEOFIGNOREALWAYSWITHDEFAULT']._serialized_start=4894 + _globals['_EDITIONSONEOFIGNOREALWAYSWITHDEFAULT']._serialized_end=4974 + _globals['_EDITIONSREPEATEDIGNOREUNSPECIFIED']._serialized_start=4976 + _globals['_EDITIONSREPEATEDIGNOREUNSPECIFIED']._serialized_end=5039 + _globals['_EDITIONSREPEATEDEXPANDEDIGNOREUNSPECIFIED']._serialized_start=5041 + _globals['_EDITIONSREPEATEDEXPANDEDIGNOREUNSPECIFIED']._serialized_end=5117 + _globals['_EDITIONSREPEATEDIGNOREEMPTY']._serialized_start=5119 + _globals['_EDITIONSREPEATEDIGNOREEMPTY']._serialized_end=5179 + _globals['_EDITIONSREPEATEDEXPANDEDIGNOREEMPTY']._serialized_start=5181 + _globals['_EDITIONSREPEATEDEXPANDEDIGNOREEMPTY']._serialized_end=5254 + _globals['_EDITIONSREPEATEDIGNOREALWAYS']._serialized_start=5256 + _globals['_EDITIONSREPEATEDIGNOREALWAYS']._serialized_end=5317 + _globals['_EDITIONSREPEATEDEXPANDEDIGNOREALWAYS']._serialized_start=5319 + _globals['_EDITIONSREPEATEDEXPANDEDIGNOREALWAYS']._serialized_end=5393 + _globals['_EDITIONSMAPIGNOREUNSPECIFIED']._serialized_start=5396 + _globals['_EDITIONSMAPIGNOREUNSPECIFIED']._serialized_end=5581 + _globals['_EDITIONSMAPIGNOREUNSPECIFIED_VALENTRY']._serialized_start=5527 + _globals['_EDITIONSMAPIGNOREUNSPECIFIED_VALENTRY']._serialized_end=5581 + _globals['_EDITIONSMAPIGNOREEMPTY']._serialized_start=5584 + _globals['_EDITIONSMAPIGNOREEMPTY']._serialized_end=5760 + _globals['_EDITIONSMAPIGNOREEMPTY_VALENTRY']._serialized_start=5527 + _globals['_EDITIONSMAPIGNOREEMPTY_VALENTRY']._serialized_end=5581 + _globals['_EDITIONSMAPIGNOREALWAYS']._serialized_start=5763 + _globals['_EDITIONSMAPIGNOREALWAYS']._serialized_end=5941 + _globals['_EDITIONSMAPIGNOREALWAYS_VALENTRY']._serialized_start=5527 + _globals['_EDITIONSMAPIGNOREALWAYS_VALENTRY']._serialized_end=5581 + _globals['_EDITIONSREPEATEDITEMIGNOREUNSPECIFIED']._serialized_start=5943 + _globals['_EDITIONSREPEATEDITEMIGNOREUNSPECIFIED']._serialized_end=6014 + _globals['_EDITIONSREPEATEDEXPANDEDITEMIGNOREUNSPECIFIED']._serialized_start=6016 + _globals['_EDITIONSREPEATEDEXPANDEDITEMIGNOREUNSPECIFIED']._serialized_end=6100 + _globals['_EDITIONSREPEATEDITEMIGNOREEMPTY']._serialized_start=6102 + _globals['_EDITIONSREPEATEDITEMIGNOREEMPTY']._serialized_end=6170 + _globals['_EDITIONSREPEATEDEXPANDEDITEMIGNOREEMPTY']._serialized_start=6172 + _globals['_EDITIONSREPEATEDEXPANDEDITEMIGNOREEMPTY']._serialized_end=6253 + _globals['_EDITIONSREPEATEDITEMIGNOREALWAYS']._serialized_start=6255 + _globals['_EDITIONSREPEATEDITEMIGNOREALWAYS']._serialized_end=6324 + _globals['_EDITIONSREPEATEDEXPANDEDITEMIGNOREALWAYS']._serialized_start=6326 + _globals['_EDITIONSREPEATEDEXPANDEDITEMIGNOREALWAYS']._serialized_end=6408 + _globals['_EDITIONSMAPKEYIGNOREUNSPECIFIED']._serialized_start=6411 + _globals['_EDITIONSMAPKEYIGNOREUNSPECIFIED']._serialized_end=6606 + _globals['_EDITIONSMAPKEYIGNOREUNSPECIFIED_VALENTRY']._serialized_start=5527 + _globals['_EDITIONSMAPKEYIGNOREUNSPECIFIED_VALENTRY']._serialized_end=5581 + _globals['_EDITIONSMAPKEYIGNOREEMPTY']._serialized_start=6609 + _globals['_EDITIONSMAPKEYIGNOREEMPTY']._serialized_end=6795 + _globals['_EDITIONSMAPKEYIGNOREEMPTY_VALENTRY']._serialized_start=5527 + _globals['_EDITIONSMAPKEYIGNOREEMPTY_VALENTRY']._serialized_end=5581 + _globals['_EDITIONSMAPKEYIGNOREALWAYS']._serialized_start=6798 + _globals['_EDITIONSMAPKEYIGNOREALWAYS']._serialized_end=6986 + _globals['_EDITIONSMAPKEYIGNOREALWAYS_VALENTRY']._serialized_start=5527 + _globals['_EDITIONSMAPKEYIGNOREALWAYS_VALENTRY']._serialized_end=5581 + _globals['_EDITIONSMAPVALUEIGNOREUNSPECIFIED']._serialized_start=6989 + _globals['_EDITIONSMAPVALUEIGNOREUNSPECIFIED']._serialized_end=7188 + _globals['_EDITIONSMAPVALUEIGNOREUNSPECIFIED_VALENTRY']._serialized_start=5527 + _globals['_EDITIONSMAPVALUEIGNOREUNSPECIFIED_VALENTRY']._serialized_end=5581 + _globals['_EDITIONSMAPVALUEIGNOREEMPTY']._serialized_start=7191 + _globals['_EDITIONSMAPVALUEIGNOREEMPTY']._serialized_end=7381 + _globals['_EDITIONSMAPVALUEIGNOREEMPTY_VALENTRY']._serialized_start=5527 + _globals['_EDITIONSMAPVALUEIGNOREEMPTY_VALENTRY']._serialized_end=5581 + _globals['_EDITIONSMAPVALUEIGNOREALWAYS']._serialized_start=7384 + _globals['_EDITIONSMAPVALUEIGNOREALWAYS']._serialized_end=7576 + _globals['_EDITIONSMAPVALUEIGNOREALWAYS_VALENTRY']._serialized_start=5527 + _globals['_EDITIONSMAPVALUEIGNOREALWAYS_VALENTRY']._serialized_end=5581 # @@protoc_insertion_point(module_scope) diff --git a/gen/buf/validate/conformance/cases/ignore_proto_editions_pb2.pyi b/gen/buf/validate/conformance/cases/ignore_proto_editions_pb2.pyi index 4a04dc4..34c3433 100644 --- a/gen/buf/validate/conformance/cases/ignore_proto_editions_pb2.pyi +++ b/gen/buf/validate/conformance/cases/ignore_proto_editions_pb2.pyi @@ -45,18 +45,6 @@ class EditionsScalarExplicitPresenceIgnoreEmptyWithDefault(_message.Message): val: int def __init__(self, val: _Optional[int] = ...) -> None: ... -class EditionsScalarExplicitPresenceIgnoreDefault(_message.Message): - __slots__ = ("val",) - VAL_FIELD_NUMBER: _ClassVar[int] - val: int - def __init__(self, val: _Optional[int] = ...) -> None: ... - -class EditionsScalarExplicitPresenceIgnoreDefaultWithDefault(_message.Message): - __slots__ = ("val",) - VAL_FIELD_NUMBER: _ClassVar[int] - val: int - def __init__(self, val: _Optional[int] = ...) -> None: ... - class EditionsScalarExplicitPresenceIgnoreAlways(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] @@ -81,12 +69,6 @@ class EditionsScalarImplicitPresenceIgnoreEmpty(_message.Message): val: int def __init__(self, val: _Optional[int] = ...) -> None: ... -class EditionsScalarImplicitPresenceIgnoreDefault(_message.Message): - __slots__ = ("val",) - VAL_FIELD_NUMBER: _ClassVar[int] - val: int - def __init__(self, val: _Optional[int] = ...) -> None: ... - class EditionsScalarImplicitPresenceIgnoreAlways(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] @@ -117,18 +99,6 @@ class EditionsScalarLegacyRequiredIgnoreEmptyWithDefault(_message.Message): val: int def __init__(self, val: _Optional[int] = ...) -> None: ... -class EditionsScalarLegacyRequiredIgnoreDefault(_message.Message): - __slots__ = ("val",) - VAL_FIELD_NUMBER: _ClassVar[int] - val: int - def __init__(self, val: _Optional[int] = ...) -> None: ... - -class EditionsScalarLegacyRequiredIgnoreDefaultWithDefault(_message.Message): - __slots__ = ("val",) - VAL_FIELD_NUMBER: _ClassVar[int] - val: int - def __init__(self, val: _Optional[int] = ...) -> None: ... - class EditionsScalarLegacyRequiredIgnoreAlways(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] @@ -185,28 +155,6 @@ class EditionsMessageExplicitPresenceDelimitedIgnoreEmpty(_message.Message): val: EditionsMessageExplicitPresenceDelimitedIgnoreEmpty.Msg def __init__(self, val: _Optional[_Union[EditionsMessageExplicitPresenceDelimitedIgnoreEmpty.Msg, _Mapping]] = ...) -> None: ... -class EditionsMessageExplicitPresenceIgnoreDefault(_message.Message): - __slots__ = ("val",) - class Msg(_message.Message): - __slots__ = ("val",) - VAL_FIELD_NUMBER: _ClassVar[int] - val: str - def __init__(self, val: _Optional[str] = ...) -> None: ... - VAL_FIELD_NUMBER: _ClassVar[int] - val: EditionsMessageExplicitPresenceIgnoreDefault.Msg - def __init__(self, val: _Optional[_Union[EditionsMessageExplicitPresenceIgnoreDefault.Msg, _Mapping]] = ...) -> None: ... - -class EditionsMessageExplicitPresenceDelimitedIgnoreDefault(_message.Message): - __slots__ = ("val",) - class Msg(_message.Message): - __slots__ = ("val",) - VAL_FIELD_NUMBER: _ClassVar[int] - val: str - def __init__(self, val: _Optional[str] = ...) -> None: ... - VAL_FIELD_NUMBER: _ClassVar[int] - val: EditionsMessageExplicitPresenceDelimitedIgnoreDefault.Msg - def __init__(self, val: _Optional[_Union[EditionsMessageExplicitPresenceDelimitedIgnoreDefault.Msg, _Mapping]] = ...) -> None: ... - class EditionsMessageExplicitPresenceIgnoreAlways(_message.Message): __slots__ = ("val",) class Msg(_message.Message): @@ -273,28 +221,6 @@ class EditionsMessageLegacyRequiredDelimitedIgnoreEmpty(_message.Message): val: EditionsMessageLegacyRequiredDelimitedIgnoreEmpty.Msg def __init__(self, val: _Optional[_Union[EditionsMessageLegacyRequiredDelimitedIgnoreEmpty.Msg, _Mapping]] = ...) -> None: ... -class EditionsMessageLegacyRequiredIgnoreDefault(_message.Message): - __slots__ = ("val",) - class Msg(_message.Message): - __slots__ = ("val",) - VAL_FIELD_NUMBER: _ClassVar[int] - val: str - def __init__(self, val: _Optional[str] = ...) -> None: ... - VAL_FIELD_NUMBER: _ClassVar[int] - val: EditionsMessageLegacyRequiredIgnoreDefault.Msg - def __init__(self, val: _Optional[_Union[EditionsMessageLegacyRequiredIgnoreDefault.Msg, _Mapping]] = ...) -> None: ... - -class EditionsMessageLegacyRequiredDelimitedIgnoreDefault(_message.Message): - __slots__ = ("val",) - class Msg(_message.Message): - __slots__ = ("val",) - VAL_FIELD_NUMBER: _ClassVar[int] - val: str - def __init__(self, val: _Optional[str] = ...) -> None: ... - VAL_FIELD_NUMBER: _ClassVar[int] - val: EditionsMessageLegacyRequiredDelimitedIgnoreDefault.Msg - def __init__(self, val: _Optional[_Union[EditionsMessageLegacyRequiredDelimitedIgnoreDefault.Msg, _Mapping]] = ...) -> None: ... - class EditionsMessageLegacyRequiredIgnoreAlways(_message.Message): __slots__ = ("val",) class Msg(_message.Message): @@ -341,18 +267,6 @@ class EditionsOneofIgnoreEmptyWithDefault(_message.Message): val: int def __init__(self, val: _Optional[int] = ...) -> None: ... -class EditionsOneofIgnoreDefault(_message.Message): - __slots__ = ("val",) - VAL_FIELD_NUMBER: _ClassVar[int] - val: int - def __init__(self, val: _Optional[int] = ...) -> None: ... - -class EditionsOneofIgnoreDefaultWithDefault(_message.Message): - __slots__ = ("val",) - VAL_FIELD_NUMBER: _ClassVar[int] - val: int - def __init__(self, val: _Optional[int] = ...) -> None: ... - class EditionsOneofIgnoreAlways(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] @@ -389,18 +303,6 @@ class EditionsRepeatedExpandedIgnoreEmpty(_message.Message): val: _containers.RepeatedScalarFieldContainer[int] def __init__(self, val: _Optional[_Iterable[int]] = ...) -> None: ... -class EditionsRepeatedIgnoreDefault(_message.Message): - __slots__ = ("val",) - VAL_FIELD_NUMBER: _ClassVar[int] - val: _containers.RepeatedScalarFieldContainer[int] - def __init__(self, val: _Optional[_Iterable[int]] = ...) -> None: ... - -class EditionsRepeatedExpandedIgnoreDefault(_message.Message): - __slots__ = ("val",) - VAL_FIELD_NUMBER: _ClassVar[int] - val: _containers.RepeatedScalarFieldContainer[int] - def __init__(self, val: _Optional[_Iterable[int]] = ...) -> None: ... - class EditionsRepeatedIgnoreAlways(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] @@ -439,19 +341,6 @@ class EditionsMapIgnoreEmpty(_message.Message): val: _containers.ScalarMap[int, int] def __init__(self, val: _Optional[_Mapping[int, int]] = ...) -> None: ... -class EditionsMapIgnoreDefault(_message.Message): - __slots__ = ("val",) - class ValEntry(_message.Message): - __slots__ = ("key", "value") - KEY_FIELD_NUMBER: _ClassVar[int] - VALUE_FIELD_NUMBER: _ClassVar[int] - key: int - value: int - def __init__(self, key: _Optional[int] = ..., value: _Optional[int] = ...) -> None: ... - VAL_FIELD_NUMBER: _ClassVar[int] - val: _containers.ScalarMap[int, int] - def __init__(self, val: _Optional[_Mapping[int, int]] = ...) -> None: ... - class EditionsMapIgnoreAlways(_message.Message): __slots__ = ("val",) class ValEntry(_message.Message): @@ -489,18 +378,6 @@ class EditionsRepeatedExpandedItemIgnoreEmpty(_message.Message): val: _containers.RepeatedScalarFieldContainer[int] def __init__(self, val: _Optional[_Iterable[int]] = ...) -> None: ... -class EditionsRepeatedItemIgnoreDefault(_message.Message): - __slots__ = ("val",) - VAL_FIELD_NUMBER: _ClassVar[int] - val: _containers.RepeatedScalarFieldContainer[int] - def __init__(self, val: _Optional[_Iterable[int]] = ...) -> None: ... - -class EditionsRepeatedExpandedItemIgnoreDefault(_message.Message): - __slots__ = ("val",) - VAL_FIELD_NUMBER: _ClassVar[int] - val: _containers.RepeatedScalarFieldContainer[int] - def __init__(self, val: _Optional[_Iterable[int]] = ...) -> None: ... - class EditionsRepeatedItemIgnoreAlways(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] @@ -539,19 +416,6 @@ class EditionsMapKeyIgnoreEmpty(_message.Message): val: _containers.ScalarMap[int, int] def __init__(self, val: _Optional[_Mapping[int, int]] = ...) -> None: ... -class EditionsMapKeyIgnoreDefault(_message.Message): - __slots__ = ("val",) - class ValEntry(_message.Message): - __slots__ = ("key", "value") - KEY_FIELD_NUMBER: _ClassVar[int] - VALUE_FIELD_NUMBER: _ClassVar[int] - key: int - value: int - def __init__(self, key: _Optional[int] = ..., value: _Optional[int] = ...) -> None: ... - VAL_FIELD_NUMBER: _ClassVar[int] - val: _containers.ScalarMap[int, int] - def __init__(self, val: _Optional[_Mapping[int, int]] = ...) -> None: ... - class EditionsMapKeyIgnoreAlways(_message.Message): __slots__ = ("val",) class ValEntry(_message.Message): @@ -591,19 +455,6 @@ class EditionsMapValueIgnoreEmpty(_message.Message): val: _containers.ScalarMap[int, int] def __init__(self, val: _Optional[_Mapping[int, int]] = ...) -> None: ... -class EditionsMapValueIgnoreDefault(_message.Message): - __slots__ = ("val",) - class ValEntry(_message.Message): - __slots__ = ("key", "value") - KEY_FIELD_NUMBER: _ClassVar[int] - VALUE_FIELD_NUMBER: _ClassVar[int] - key: int - value: int - def __init__(self, key: _Optional[int] = ..., value: _Optional[int] = ...) -> None: ... - VAL_FIELD_NUMBER: _ClassVar[int] - val: _containers.ScalarMap[int, int] - def __init__(self, val: _Optional[_Mapping[int, int]] = ...) -> None: ... - class EditionsMapValueIgnoreAlways(_message.Message): __slots__ = ("val",) class ValEntry(_message.Message): diff --git a/gen/buf/validate/conformance/cases/messages_pb2.py b/gen/buf/validate/conformance/cases/messages_pb2.py index b54ad28..5c98255 100644 --- a/gen/buf/validate/conformance/cases/messages_pb2.py +++ b/gen/buf/validate/conformance/cases/messages_pb2.py @@ -40,7 +40,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/messages.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x38\x62uf/validate/conformance/cases/other_package/embed.proto\x1a\x1b\x62uf/validate/validate.proto\"l\n\x07TestMsg\x12 \n\x05\x63onst\x18\x01 \x01(\tB\n\xbaH\x07r\x05\n\x03\x66ooR\x05\x63onst\x12?\n\x06nested\x18\x02 \x01(\x0b\x32\'.buf.validate.conformance.cases.TestMsgR\x06nested\"_\n\x0bMessageNone\x12\x45\n\x03val\x18\x01 \x01(\x0b\x32\x33.buf.validate.conformance.cases.MessageNone.NoneMsgR\x03val\x1a\t\n\x07NoneMsg\"3\n\x0fMessageDisabled\x12\x19\n\x03val\x18\x01 \x01(\x04\x42\x07\xbaH\x04\x32\x02 {R\x03val:\x05\xbaH\x02\x08\x01\"D\n\x07Message\x12\x39\n\x03val\x18\x01 \x01(\x0b\x32\'.buf.validate.conformance.cases.TestMsgR\x03val\"\\\n\x13MessageCrossPackage\x12\x45\n\x03val\x18\x01 \x01(\x0b\x32\x33.buf.validate.conformance.cases.other_package.EmbedR\x03val\"P\n\x0bMessageSkip\x12\x41\n\x03val\x18\x01 \x01(\x0b\x32\'.buf.validate.conformance.cases.TestMsgB\x06\xbaH\x03\xd8\x01\x03R\x03val\"T\n\x0fMessageRequired\x12\x41\n\x03val\x18\x01 \x01(\x0b\x32\'.buf.validate.conformance.cases.TestMsgB\x06\xbaH\x03\xc8\x01\x01R\x03val\"l\n\x1aMessageRequiredButOptional\x12\x46\n\x03val\x18\x01 \x01(\x0b\x32\'.buf.validate.conformance.cases.TestMsgB\x06\xbaH\x03\xc8\x01\x01H\x00R\x03val\x88\x01\x01\x42\x06\n\x04_val\"i\n\x14MessageRequiredOneof\x12\x43\n\x03val\x18\x01 \x01(\x0b\x32\'.buf.validate.conformance.cases.TestMsgB\x06\xbaH\x03\xc8\x01\x01H\x00R\x03valB\x0c\n\x03one\x12\x05\xbaH\x02\x08\x01\"\x15\n\x13MessageWith3dInside\"g\n\x17MessageOneofSingleField\x12\x1b\n\tstr_field\x18\x01 \x01(\tR\x08strField\x12\x1d\n\nbool_field\x18\x02 \x01(\x08R\tboolField:\x10\xbaH\r\"\x0b\n\tstr_field\"q\n\x1fMessageOneofSingleFieldRequired\x12\x1b\n\tstr_field\x18\x01 \x01(\tR\x08strField\x12\x1d\n\nbool_field\x18\x02 \x01(\x08R\tboolField:\x12\xbaH\x0f\"\r\n\tstr_field\x10\x01\"v\n\x1aMessageOneofMultipleFields\x12\x1b\n\tstr_field\x18\x01 \x01(\tR\x08strField\x12\x1d\n\nbool_field\x18\x02 \x01(\x08R\tboolField:\x1c\xbaH\x19\"\x17\n\tstr_field\n\nbool_field\"\x80\x01\n\"MessageOneofMultipleFieldsRequired\x12\x1b\n\tstr_field\x18\x01 \x01(\tR\x08strField\x12\x1d\n\nbool_field\x18\x02 \x01(\x08R\tboolField:\x1e\xbaH\x1b\"\x19\n\tstr_field\n\nbool_field\x10\x01\"\xb5\x01\n MessageOneofMultipleSharedFields\x12\x1b\n\tstr_field\x18\x01 \x01(\tR\x08strField\x12\x1d\n\nbool_field\x18\x02 \x01(\x08R\tboolField\x12\x1b\n\tint_field\x18\x03 \x01(\x05R\x08intField:8\xbaH5\"\x19\n\tstr_field\n\nbool_field\x10\x01\"\x18\n\tstr_field\n\tint_field\x10\x01\"G\n\x1cMessageOneofUnknownFieldName\x12\x1b\n\tstr_field\x18\x01 \x01(\tR\x08strField:\n\xbaH\x07\"\x05\n\x03xxx\"\x81\x01\n\x1aMessageOneofDuplicateField\x12\x1b\n\tstr_field\x18\x01 \x01(\tR\x08strField\x12\x1d\n\nbool_field\x18\x02 \x01(\x08R\tboolField:\'\xbaH$\"\"\n\tstr_field\n\nbool_field\n\tstr_field\"[\n\x16MessageOneofZeroFields\x12\x1b\n\tstr_field\x18\x01 \x01(\tR\x08strField\x12\x1d\n\nbool_field\x18\x02 \x01(\x08R\tboolField:\x05\xbaH\x02\"\x00\"h\n\x19MessageOneofUnsatisfiable\x12\x0c\n\x01\x61\x18\x01 \x01(\x08R\x01\x61\x12\x0c\n\x01\x62\x18\x02 \x01(\x08R\x01\x62\x12\x0c\n\x01\x63\x18\x03 \x01(\x08R\x01\x63:!\xbaH\x1e\"\x08\n\x01\x61\n\x01\x62\x10\x01\"\x08\n\x01\x62\n\x01\x63\x10\x01\"\x08\n\x01\x61\n\x01\x63\x10\x01\"\x82\x01\n\x1dMessageOneofIgnoreUnpopulated\x12\x1b\n\tstr_field\x18\x01 \x01(\tR\x08strField\x12&\n\nbool_field\x18\x02 \x01(\x08\x42\x07\xbaH\x04j\x02\x08\x01R\tboolField:\x1c\xbaH\x19\"\x17\n\tstr_field\n\nbool_field\"\x8c\x01\n%MessageOneofIgnoreUnpopulatedRequired\x12\x1b\n\tstr_field\x18\x01 \x01(\tR\x08strField\x12&\n\nbool_field\x18\x02 \x01(\x08\x42\x07\xbaH\x04j\x02\x08\x01R\tboolField:\x1e\xbaH\x1b\"\x19\n\tstr_field\n\nbool_field\x10\x01\"\xa7\x01\n\x1aMessageOneofIgnoreOverride\x12L\n\tmsg_field\x18\x01 \x01(\x0b\x32\'.buf.validate.conformance.cases.TestMsgB\x06\xbaH\x03\xd8\x01\x03R\x08msgField\x12\x1d\n\nbool_field\x18\x02 \x01(\x08R\tboolField:\x1c\xbaH\x19\"\x17\n\tmsg_field\n\nbool_fieldB\xcf\x01\n\"com.buf.validate.conformance.casesB\rMessagesProtoP\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/messages.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x38\x62uf/validate/conformance/cases/other_package/embed.proto\x1a\x1b\x62uf/validate/validate.proto\"l\n\x07TestMsg\x12 \n\x05\x63onst\x18\x01 \x01(\tB\n\xbaH\x07r\x05\n\x03\x66ooR\x05\x63onst\x12?\n\x06nested\x18\x02 \x01(\x0b\x32\'.buf.validate.conformance.cases.TestMsgR\x06nested\"_\n\x0bMessageNone\x12\x45\n\x03val\x18\x01 \x01(\x0b\x32\x33.buf.validate.conformance.cases.MessageNone.NoneMsgR\x03val\x1a\t\n\x07NoneMsg\"D\n\x07Message\x12\x39\n\x03val\x18\x01 \x01(\x0b\x32\'.buf.validate.conformance.cases.TestMsgR\x03val\"\\\n\x13MessageCrossPackage\x12\x45\n\x03val\x18\x01 \x01(\x0b\x32\x33.buf.validate.conformance.cases.other_package.EmbedR\x03val\"P\n\x0bMessageSkip\x12\x41\n\x03val\x18\x01 \x01(\x0b\x32\'.buf.validate.conformance.cases.TestMsgB\x06\xbaH\x03\xd8\x01\x03R\x03val\"T\n\x0fMessageRequired\x12\x41\n\x03val\x18\x01 \x01(\x0b\x32\'.buf.validate.conformance.cases.TestMsgB\x06\xbaH\x03\xc8\x01\x01R\x03val\"l\n\x1aMessageRequiredButOptional\x12\x46\n\x03val\x18\x01 \x01(\x0b\x32\'.buf.validate.conformance.cases.TestMsgB\x06\xbaH\x03\xc8\x01\x01H\x00R\x03val\x88\x01\x01\x42\x06\n\x04_val\"i\n\x14MessageRequiredOneof\x12\x43\n\x03val\x18\x01 \x01(\x0b\x32\'.buf.validate.conformance.cases.TestMsgB\x06\xbaH\x03\xc8\x01\x01H\x00R\x03valB\x0c\n\x03one\x12\x05\xbaH\x02\x08\x01\"\x15\n\x13MessageWith3dInside\"g\n\x17MessageOneofSingleField\x12\x1b\n\tstr_field\x18\x01 \x01(\tR\x08strField\x12\x1d\n\nbool_field\x18\x02 \x01(\x08R\tboolField:\x10\xbaH\r\"\x0b\n\tstr_field\"q\n\x1fMessageOneofSingleFieldRequired\x12\x1b\n\tstr_field\x18\x01 \x01(\tR\x08strField\x12\x1d\n\nbool_field\x18\x02 \x01(\x08R\tboolField:\x12\xbaH\x0f\"\r\n\tstr_field\x10\x01\"v\n\x1aMessageOneofMultipleFields\x12\x1b\n\tstr_field\x18\x01 \x01(\tR\x08strField\x12\x1d\n\nbool_field\x18\x02 \x01(\x08R\tboolField:\x1c\xbaH\x19\"\x17\n\tstr_field\n\nbool_field\"\x80\x01\n\"MessageOneofMultipleFieldsRequired\x12\x1b\n\tstr_field\x18\x01 \x01(\tR\x08strField\x12\x1d\n\nbool_field\x18\x02 \x01(\x08R\tboolField:\x1e\xbaH\x1b\"\x19\n\tstr_field\n\nbool_field\x10\x01\"\xb5\x01\n MessageOneofMultipleSharedFields\x12\x1b\n\tstr_field\x18\x01 \x01(\tR\x08strField\x12\x1d\n\nbool_field\x18\x02 \x01(\x08R\tboolField\x12\x1b\n\tint_field\x18\x03 \x01(\x05R\x08intField:8\xbaH5\"\x19\n\tstr_field\n\nbool_field\x10\x01\"\x18\n\tstr_field\n\tint_field\x10\x01\"G\n\x1cMessageOneofUnknownFieldName\x12\x1b\n\tstr_field\x18\x01 \x01(\tR\x08strField:\n\xbaH\x07\"\x05\n\x03xxx\"\x81\x01\n\x1aMessageOneofDuplicateField\x12\x1b\n\tstr_field\x18\x01 \x01(\tR\x08strField\x12\x1d\n\nbool_field\x18\x02 \x01(\x08R\tboolField:\'\xbaH$\"\"\n\tstr_field\n\nbool_field\n\tstr_field\"[\n\x16MessageOneofZeroFields\x12\x1b\n\tstr_field\x18\x01 \x01(\tR\x08strField\x12\x1d\n\nbool_field\x18\x02 \x01(\x08R\tboolField:\x05\xbaH\x02\"\x00\"h\n\x19MessageOneofUnsatisfiable\x12\x0c\n\x01\x61\x18\x01 \x01(\x08R\x01\x61\x12\x0c\n\x01\x62\x18\x02 \x01(\x08R\x01\x62\x12\x0c\n\x01\x63\x18\x03 \x01(\x08R\x01\x63:!\xbaH\x1e\"\x08\n\x01\x61\n\x01\x62\x10\x01\"\x08\n\x01\x62\n\x01\x63\x10\x01\"\x08\n\x01\x61\n\x01\x63\x10\x01\"\x82\x01\n\x1dMessageOneofIgnoreUnpopulated\x12\x1b\n\tstr_field\x18\x01 \x01(\tR\x08strField\x12&\n\nbool_field\x18\x02 \x01(\x08\x42\x07\xbaH\x04j\x02\x08\x01R\tboolField:\x1c\xbaH\x19\"\x17\n\tstr_field\n\nbool_field\"\x8c\x01\n%MessageOneofIgnoreUnpopulatedRequired\x12\x1b\n\tstr_field\x18\x01 \x01(\tR\x08strField\x12&\n\nbool_field\x18\x02 \x01(\x08\x42\x07\xbaH\x04j\x02\x08\x01R\tboolField:\x1e\xbaH\x1b\"\x19\n\tstr_field\n\nbool_field\x10\x01\"\xa7\x01\n\x1aMessageOneofIgnoreOverride\x12L\n\tmsg_field\x18\x01 \x01(\x0b\x32\'.buf.validate.conformance.cases.TestMsgB\x06\xbaH\x03\xd8\x01\x03R\x08msgField\x12\x1d\n\nbool_field\x18\x02 \x01(\x08R\tboolField:\x1c\xbaH\x19\"\x17\n\tmsg_field\n\nbool_fieldB\xcf\x01\n\"com.buf.validate.conformance.casesB\rMessagesProtoP\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) @@ -50,10 +50,6 @@ _globals['DESCRIPTOR']._serialized_options = b'\n\"com.buf.validate.conformance.casesB\rMessagesProtoP\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['_TESTMSG'].fields_by_name['const']._loaded_options = None _globals['_TESTMSG'].fields_by_name['const']._serialized_options = b'\272H\007r\005\n\003foo' - _globals['_MESSAGEDISABLED'].fields_by_name['val']._loaded_options = None - _globals['_MESSAGEDISABLED'].fields_by_name['val']._serialized_options = b'\272H\0042\002 {' - _globals['_MESSAGEDISABLED']._loaded_options = None - _globals['_MESSAGEDISABLED']._serialized_options = b'\272H\002\010\001' _globals['_MESSAGESKIP'].fields_by_name['val']._loaded_options = None _globals['_MESSAGESKIP'].fields_by_name['val']._serialized_options = b'\272H\003\330\001\003' _globals['_MESSAGEREQUIRED'].fields_by_name['val']._loaded_options = None @@ -100,44 +96,42 @@ _globals['_MESSAGENONE']._serialized_end=373 _globals['_MESSAGENONE_NONEMSG']._serialized_start=364 _globals['_MESSAGENONE_NONEMSG']._serialized_end=373 - _globals['_MESSAGEDISABLED']._serialized_start=375 - _globals['_MESSAGEDISABLED']._serialized_end=426 - _globals['_MESSAGE']._serialized_start=428 - _globals['_MESSAGE']._serialized_end=496 - _globals['_MESSAGECROSSPACKAGE']._serialized_start=498 - _globals['_MESSAGECROSSPACKAGE']._serialized_end=590 - _globals['_MESSAGESKIP']._serialized_start=592 - _globals['_MESSAGESKIP']._serialized_end=672 - _globals['_MESSAGEREQUIRED']._serialized_start=674 - _globals['_MESSAGEREQUIRED']._serialized_end=758 - _globals['_MESSAGEREQUIREDBUTOPTIONAL']._serialized_start=760 - _globals['_MESSAGEREQUIREDBUTOPTIONAL']._serialized_end=868 - _globals['_MESSAGEREQUIREDONEOF']._serialized_start=870 - _globals['_MESSAGEREQUIREDONEOF']._serialized_end=975 - _globals['_MESSAGEWITH3DINSIDE']._serialized_start=977 - _globals['_MESSAGEWITH3DINSIDE']._serialized_end=998 - _globals['_MESSAGEONEOFSINGLEFIELD']._serialized_start=1000 - _globals['_MESSAGEONEOFSINGLEFIELD']._serialized_end=1103 - _globals['_MESSAGEONEOFSINGLEFIELDREQUIRED']._serialized_start=1105 - _globals['_MESSAGEONEOFSINGLEFIELDREQUIRED']._serialized_end=1218 - _globals['_MESSAGEONEOFMULTIPLEFIELDS']._serialized_start=1220 - _globals['_MESSAGEONEOFMULTIPLEFIELDS']._serialized_end=1338 - _globals['_MESSAGEONEOFMULTIPLEFIELDSREQUIRED']._serialized_start=1341 - _globals['_MESSAGEONEOFMULTIPLEFIELDSREQUIRED']._serialized_end=1469 - _globals['_MESSAGEONEOFMULTIPLESHAREDFIELDS']._serialized_start=1472 - _globals['_MESSAGEONEOFMULTIPLESHAREDFIELDS']._serialized_end=1653 - _globals['_MESSAGEONEOFUNKNOWNFIELDNAME']._serialized_start=1655 - _globals['_MESSAGEONEOFUNKNOWNFIELDNAME']._serialized_end=1726 - _globals['_MESSAGEONEOFDUPLICATEFIELD']._serialized_start=1729 - _globals['_MESSAGEONEOFDUPLICATEFIELD']._serialized_end=1858 - _globals['_MESSAGEONEOFZEROFIELDS']._serialized_start=1860 - _globals['_MESSAGEONEOFZEROFIELDS']._serialized_end=1951 - _globals['_MESSAGEONEOFUNSATISFIABLE']._serialized_start=1953 - _globals['_MESSAGEONEOFUNSATISFIABLE']._serialized_end=2057 - _globals['_MESSAGEONEOFIGNOREUNPOPULATED']._serialized_start=2060 - _globals['_MESSAGEONEOFIGNOREUNPOPULATED']._serialized_end=2190 - _globals['_MESSAGEONEOFIGNOREUNPOPULATEDREQUIRED']._serialized_start=2193 - _globals['_MESSAGEONEOFIGNOREUNPOPULATEDREQUIRED']._serialized_end=2333 - _globals['_MESSAGEONEOFIGNOREOVERRIDE']._serialized_start=2336 - _globals['_MESSAGEONEOFIGNOREOVERRIDE']._serialized_end=2503 + _globals['_MESSAGE']._serialized_start=375 + _globals['_MESSAGE']._serialized_end=443 + _globals['_MESSAGECROSSPACKAGE']._serialized_start=445 + _globals['_MESSAGECROSSPACKAGE']._serialized_end=537 + _globals['_MESSAGESKIP']._serialized_start=539 + _globals['_MESSAGESKIP']._serialized_end=619 + _globals['_MESSAGEREQUIRED']._serialized_start=621 + _globals['_MESSAGEREQUIRED']._serialized_end=705 + _globals['_MESSAGEREQUIREDBUTOPTIONAL']._serialized_start=707 + _globals['_MESSAGEREQUIREDBUTOPTIONAL']._serialized_end=815 + _globals['_MESSAGEREQUIREDONEOF']._serialized_start=817 + _globals['_MESSAGEREQUIREDONEOF']._serialized_end=922 + _globals['_MESSAGEWITH3DINSIDE']._serialized_start=924 + _globals['_MESSAGEWITH3DINSIDE']._serialized_end=945 + _globals['_MESSAGEONEOFSINGLEFIELD']._serialized_start=947 + _globals['_MESSAGEONEOFSINGLEFIELD']._serialized_end=1050 + _globals['_MESSAGEONEOFSINGLEFIELDREQUIRED']._serialized_start=1052 + _globals['_MESSAGEONEOFSINGLEFIELDREQUIRED']._serialized_end=1165 + _globals['_MESSAGEONEOFMULTIPLEFIELDS']._serialized_start=1167 + _globals['_MESSAGEONEOFMULTIPLEFIELDS']._serialized_end=1285 + _globals['_MESSAGEONEOFMULTIPLEFIELDSREQUIRED']._serialized_start=1288 + _globals['_MESSAGEONEOFMULTIPLEFIELDSREQUIRED']._serialized_end=1416 + _globals['_MESSAGEONEOFMULTIPLESHAREDFIELDS']._serialized_start=1419 + _globals['_MESSAGEONEOFMULTIPLESHAREDFIELDS']._serialized_end=1600 + _globals['_MESSAGEONEOFUNKNOWNFIELDNAME']._serialized_start=1602 + _globals['_MESSAGEONEOFUNKNOWNFIELDNAME']._serialized_end=1673 + _globals['_MESSAGEONEOFDUPLICATEFIELD']._serialized_start=1676 + _globals['_MESSAGEONEOFDUPLICATEFIELD']._serialized_end=1805 + _globals['_MESSAGEONEOFZEROFIELDS']._serialized_start=1807 + _globals['_MESSAGEONEOFZEROFIELDS']._serialized_end=1898 + _globals['_MESSAGEONEOFUNSATISFIABLE']._serialized_start=1900 + _globals['_MESSAGEONEOFUNSATISFIABLE']._serialized_end=2004 + _globals['_MESSAGEONEOFIGNOREUNPOPULATED']._serialized_start=2007 + _globals['_MESSAGEONEOFIGNOREUNPOPULATED']._serialized_end=2137 + _globals['_MESSAGEONEOFIGNOREUNPOPULATEDREQUIRED']._serialized_start=2140 + _globals['_MESSAGEONEOFIGNOREUNPOPULATEDREQUIRED']._serialized_end=2280 + _globals['_MESSAGEONEOFIGNOREOVERRIDE']._serialized_start=2283 + _globals['_MESSAGEONEOFIGNOREOVERRIDE']._serialized_end=2450 # @@protoc_insertion_point(module_scope) diff --git a/gen/buf/validate/conformance/cases/messages_pb2.pyi b/gen/buf/validate/conformance/cases/messages_pb2.pyi index 987257f..ff23cd8 100644 --- a/gen/buf/validate/conformance/cases/messages_pb2.pyi +++ b/gen/buf/validate/conformance/cases/messages_pb2.pyi @@ -38,12 +38,6 @@ class MessageNone(_message.Message): val: MessageNone.NoneMsg def __init__(self, val: _Optional[_Union[MessageNone.NoneMsg, _Mapping]] = ...) -> None: ... -class MessageDisabled(_message.Message): - __slots__ = ("val",) - VAL_FIELD_NUMBER: _ClassVar[int] - val: int - def __init__(self, val: _Optional[int] = ...) -> None: ... - class Message(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] diff --git a/gen/buf/validate/validate_pb2.py b/gen/buf/validate/validate_pb2.py index 560d522..2da1483 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\"P\n\x04Rule\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\"\x86\x01\n\x0cMessageRules\x12\x1a\n\x08\x64isabled\x18\x01 \x01(\x08R\x08\x64isabled\x12$\n\x03\x63\x65l\x18\x03 \x03(\x0b\x32\x12.buf.validate.RuleR\x03\x63\x65l\x12\x34\n\x05oneof\x18\x04 \x03(\x0b\x32\x1e.buf.validate.MessageOneofRuleR\x05oneof\"F\n\x10MessageOneofRule\x12\x16\n\x06\x66ields\x18\x01 \x03(\tR\x06\x66ields\x12\x1a\n\x08required\x18\x02 \x01(\x08R\x08required\"(\n\nOneofRules\x12\x1a\n\x08required\x18\x01 \x01(\x08R\x08required\"\xfd\t\n\nFieldRules\x12$\n\x03\x63\x65l\x18\x17 \x03(\x0b\x32\x12.buf.validate.RuleR\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\x04typeJ\x04\x08\x18\x10\x19J\x04\x08\x1a\x10\x1bR\x07skippedR\x0cignore_empty\"X\n\x0fPredefinedRules\x12$\n\x03\x63\x65l\x18\x01 \x03(\x0b\x32\x12.buf.validate.RuleR\x03\x63\x65lJ\x04\x08\x18\x10\x19J\x04\x08\x1a\x10\x1bR\x13skippedignore_empty\"\x90\x18\n\nFloatRules\x12\x8a\x01\n\x05\x63onst\x18\x01 \x01(\x02\x42t\xc2Hq\no\n\x0b\x66loat.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x12\x83\x01\n\x02in\x18\x06 \x03(\x02\x42s\xc2Hp\nn\n\x08\x66loat.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xa2\x18\n\x0b\x44oubleRules\x12\x8b\x01\n\x05\x63onst\x18\x01 \x01(\x01\x42u\xc2Hr\np\n\x0c\x64ouble.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x12\x84\x01\n\x02in\x18\x06 \x03(\x01\x42t\xc2Hq\no\n\tdouble.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xba\x15\n\nInt32Rules\x12\x8a\x01\n\x05\x63onst\x18\x01 \x01(\x05\x42t\xc2Hq\no\n\x0bint32.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x12\x83\x01\n\x02in\x18\x06 \x03(\x05\x42s\xc2Hp\nn\n\x08int32.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xba\x15\n\nInt64Rules\x12\x8a\x01\n\x05\x63onst\x18\x01 \x01(\x03\x42t\xc2Hq\no\n\x0bint64.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x12\x83\x01\n\x02in\x18\x06 \x03(\x03\x42s\xc2Hp\nn\n\x08int64.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xcb\x15\n\x0bUInt32Rules\x12\x8b\x01\n\x05\x63onst\x18\x01 \x01(\rBu\xc2Hr\np\n\x0cuint32.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x12\x84\x01\n\x02in\x18\x06 \x03(\rBt\xc2Hq\no\n\tuint32.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xcb\x15\n\x0bUInt64Rules\x12\x8b\x01\n\x05\x63onst\x18\x01 \x01(\x04\x42u\xc2Hr\np\n\x0cuint64.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x12\x84\x01\n\x02in\x18\x06 \x03(\x04\x42t\xc2Hq\no\n\tuint64.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xcb\x15\n\x0bSInt32Rules\x12\x8b\x01\n\x05\x63onst\x18\x01 \x01(\x11\x42u\xc2Hr\np\n\x0csint32.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x12\x84\x01\n\x02in\x18\x06 \x03(\x11\x42t\xc2Hq\no\n\tsint32.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xcb\x15\n\x0bSInt64Rules\x12\x8b\x01\n\x05\x63onst\x18\x01 \x01(\x12\x42u\xc2Hr\np\n\x0csint64.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x12\x84\x01\n\x02in\x18\x06 \x03(\x12\x42t\xc2Hq\no\n\tsint64.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xdc\x15\n\x0c\x46ixed32Rules\x12\x8c\x01\n\x05\x63onst\x18\x01 \x01(\x07\x42v\xc2Hs\nq\n\rfixed32.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x85\x01\n\x02in\x18\x06 \x03(\x07\x42u\xc2Hr\np\n\nfixed32.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xdc\x15\n\x0c\x46ixed64Rules\x12\x8c\x01\n\x05\x63onst\x18\x01 \x01(\x06\x42v\xc2Hs\nq\n\rfixed64.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x85\x01\n\x02in\x18\x06 \x03(\x06\x42u\xc2Hr\np\n\nfixed64.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xee\x15\n\rSFixed32Rules\x12\x8d\x01\n\x05\x63onst\x18\x01 \x01(\x0f\x42w\xc2Ht\nr\n\x0esfixed32.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x86\x01\n\x02in\x18\x06 \x03(\x0f\x42v\xc2Hs\nq\n\x0bsfixed32.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xee\x15\n\rSFixed64Rules\x12\x8d\x01\n\x05\x63onst\x18\x01 \x01(\x10\x42w\xc2Ht\nr\n\x0esfixed64.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x86\x01\n\x02in\x18\x06 \x03(\x10\x42v\xc2Hs\nq\n\x0bsfixed64.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xd7\x01\n\tBoolRules\x12\x89\x01\n\x05\x63onst\x18\x01 \x01(\x08\x42s\xc2Hp\nn\n\nbool.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\"\xd1\x39\n\x0bStringRules\x12\x8d\x01\n\x05\x63onst\x18\x01 \x01(\tBw\xc2Ht\nr\n\x0cstring.const\x1a\x62this != getField(rules, \'const\') ? \'value must equal `%s`\'.format([getField(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\x12\x84\x01\n\x02in\x18\n \x03(\tBt\xc2Hq\no\n\tstring.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\x12x\n\x07uri_ref\x18\x12 \x01(\x08\x42]\xc2HZ\nX\n\x0estring.uri_ref\x12#value must be a valid URI Reference\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\"\xce\x11\n\nBytesRules\x12\x87\x01\n\x05\x63onst\x18\x01 \x01(\x0c\x42q\xc2Hn\nl\n\x0b\x62ytes.const\x1a]this != getField(rules, \'const\') ? \'value must be %x\'.format([getField(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\xab\x01\n\x02in\x18\x08 \x03(\x0c\x42\x9a\x01\xc2H\x96\x01\n\x93\x01\n\x08\x62ytes.in\x1a\x86\x01getField(rules, \'in\').size() > 0 && !(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xfd\x03\n\tEnumRules\x12\x89\x01\n\x05\x63onst\x18\x01 \x01(\x05\x42s\xc2Hp\nn\n\nenum.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(rules, \'const\')]) : \'\'R\x05\x63onst\x12!\n\x0c\x64\x65\x66ined_only\x18\x02 \x01(\x08R\x0b\x64\x65\x66inedOnly\x12\x82\x01\n\x02in\x18\x03 \x03(\x05\x42r\xc2Ho\nm\n\x07\x65num.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\x9e\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.\n\x05items\x18\x04 \x01(\x0b\x32\x18.buf.validate.FieldRulesR\x05items*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xac\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,\n\x04keys\x18\x04 \x01(\x0b\x32\x18.buf.validate.FieldRulesR\x04keys\x12\x30\n\x06values\x18\x05 \x01(\x0b\x32\x18.buf.validate.FieldRulesR\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\"\xc6\x17\n\rDurationRules\x12\xa8\x01\n\x05\x63onst\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationBw\xc2Ht\nr\n\x0e\x64uration.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\xa1\x01\n\x02in\x18\x07 \x03(\x0b\x32\x19.google.protobuf.DurationBv\xc2Hs\nq\n\x0b\x64uration.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xca\x18\n\x0eTimestampRules\x12\xaa\x01\n\x05\x63onst\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampBx\xc2Hu\ns\n\x0ftimestamp.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\"\xc5\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\x17\n\x07rule_id\x18\x02 \x01(\tR\x06ruleId\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:V\n\x07message\x12\x1f.google.protobuf.MessageOptions\x18\x87\t \x01(\x0b\x32\x1a.buf.validate.MessageRulesR\x07message:N\n\x05oneof\x12\x1d.google.protobuf.OneofOptions\x18\x87\t \x01(\x0b\x32\x18.buf.validate.OneofRulesR\x05oneof:N\n\x05\x66ield\x12\x1d.google.protobuf.FieldOptions\x18\x87\t \x01(\x0b\x32\x18.buf.validate.FieldRulesR\x05\x66ield:]\n\npredefined\x12\x1d.google.protobuf.FieldOptions\x18\x88\t \x01(\x0b\x32\x1d.buf.validate.PredefinedRulesR\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\"P\n\x04Rule\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\"z\n\x0cMessageRules\x12$\n\x03\x63\x65l\x18\x03 \x03(\x0b\x32\x12.buf.validate.RuleR\x03\x63\x65l\x12\x34\n\x05oneof\x18\x04 \x03(\x0b\x32\x1e.buf.validate.MessageOneofRuleR\x05oneofJ\x04\x08\x01\x10\x02R\x08\x64isabled\"F\n\x10MessageOneofRule\x12\x16\n\x06\x66ields\x18\x01 \x03(\tR\x06\x66ields\x12\x1a\n\x08required\x18\x02 \x01(\x08R\x08required\"(\n\nOneofRules\x12\x1a\n\x08required\x18\x01 \x01(\x08R\x08required\"\xfd\t\n\nFieldRules\x12$\n\x03\x63\x65l\x18\x17 \x03(\x0b\x32\x12.buf.validate.RuleR\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\x04typeJ\x04\x08\x18\x10\x19J\x04\x08\x1a\x10\x1bR\x07skippedR\x0cignore_empty\"Z\n\x0fPredefinedRules\x12$\n\x03\x63\x65l\x18\x01 \x03(\x0b\x32\x12.buf.validate.RuleR\x03\x63\x65lJ\x04\x08\x18\x10\x19J\x04\x08\x1a\x10\x1bR\x07skippedR\x0cignore_empty\"\x90\x18\n\nFloatRules\x12\x8a\x01\n\x05\x63onst\x18\x01 \x01(\x02\x42t\xc2Hq\no\n\x0b\x66loat.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x12\x83\x01\n\x02in\x18\x06 \x03(\x02\x42s\xc2Hp\nn\n\x08\x66loat.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xa2\x18\n\x0b\x44oubleRules\x12\x8b\x01\n\x05\x63onst\x18\x01 \x01(\x01\x42u\xc2Hr\np\n\x0c\x64ouble.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x12\x84\x01\n\x02in\x18\x06 \x03(\x01\x42t\xc2Hq\no\n\tdouble.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xba\x15\n\nInt32Rules\x12\x8a\x01\n\x05\x63onst\x18\x01 \x01(\x05\x42t\xc2Hq\no\n\x0bint32.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x12\x83\x01\n\x02in\x18\x06 \x03(\x05\x42s\xc2Hp\nn\n\x08int32.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xba\x15\n\nInt64Rules\x12\x8a\x01\n\x05\x63onst\x18\x01 \x01(\x03\x42t\xc2Hq\no\n\x0bint64.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x12\x83\x01\n\x02in\x18\x06 \x03(\x03\x42s\xc2Hp\nn\n\x08int64.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xcb\x15\n\x0bUInt32Rules\x12\x8b\x01\n\x05\x63onst\x18\x01 \x01(\rBu\xc2Hr\np\n\x0cuint32.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x12\x84\x01\n\x02in\x18\x06 \x03(\rBt\xc2Hq\no\n\tuint32.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xcb\x15\n\x0bUInt64Rules\x12\x8b\x01\n\x05\x63onst\x18\x01 \x01(\x04\x42u\xc2Hr\np\n\x0cuint64.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x12\x84\x01\n\x02in\x18\x06 \x03(\x04\x42t\xc2Hq\no\n\tuint64.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xcb\x15\n\x0bSInt32Rules\x12\x8b\x01\n\x05\x63onst\x18\x01 \x01(\x11\x42u\xc2Hr\np\n\x0csint32.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x12\x84\x01\n\x02in\x18\x06 \x03(\x11\x42t\xc2Hq\no\n\tsint32.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xcb\x15\n\x0bSInt64Rules\x12\x8b\x01\n\x05\x63onst\x18\x01 \x01(\x12\x42u\xc2Hr\np\n\x0csint64.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x12\x84\x01\n\x02in\x18\x06 \x03(\x12\x42t\xc2Hq\no\n\tsint64.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xdc\x15\n\x0c\x46ixed32Rules\x12\x8c\x01\n\x05\x63onst\x18\x01 \x01(\x07\x42v\xc2Hs\nq\n\rfixed32.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x85\x01\n\x02in\x18\x06 \x03(\x07\x42u\xc2Hr\np\n\nfixed32.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xdc\x15\n\x0c\x46ixed64Rules\x12\x8c\x01\n\x05\x63onst\x18\x01 \x01(\x06\x42v\xc2Hs\nq\n\rfixed64.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x85\x01\n\x02in\x18\x06 \x03(\x06\x42u\xc2Hr\np\n\nfixed64.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xee\x15\n\rSFixed32Rules\x12\x8d\x01\n\x05\x63onst\x18\x01 \x01(\x0f\x42w\xc2Ht\nr\n\x0esfixed32.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x86\x01\n\x02in\x18\x06 \x03(\x0f\x42v\xc2Hs\nq\n\x0bsfixed32.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xee\x15\n\rSFixed64Rules\x12\x8d\x01\n\x05\x63onst\x18\x01 \x01(\x10\x42w\xc2Ht\nr\n\x0esfixed64.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x86\x01\n\x02in\x18\x06 \x03(\x10\x42v\xc2Hs\nq\n\x0bsfixed64.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xd7\x01\n\tBoolRules\x12\x89\x01\n\x05\x63onst\x18\x01 \x01(\x08\x42s\xc2Hp\nn\n\nbool.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\"\xd1\x39\n\x0bStringRules\x12\x8d\x01\n\x05\x63onst\x18\x01 \x01(\tBw\xc2Ht\nr\n\x0cstring.const\x1a\x62this != getField(rules, \'const\') ? \'value must equal `%s`\'.format([getField(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\x12\x84\x01\n\x02in\x18\n \x03(\tBt\xc2Hq\no\n\tstring.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\x12x\n\x07uri_ref\x18\x12 \x01(\x08\x42]\xc2HZ\nX\n\x0estring.uri_ref\x12#value must be a valid URI Reference\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\"\xce\x11\n\nBytesRules\x12\x87\x01\n\x05\x63onst\x18\x01 \x01(\x0c\x42q\xc2Hn\nl\n\x0b\x62ytes.const\x1a]this != getField(rules, \'const\') ? \'value must be %x\'.format([getField(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\xab\x01\n\x02in\x18\x08 \x03(\x0c\x42\x9a\x01\xc2H\x96\x01\n\x93\x01\n\x08\x62ytes.in\x1a\x86\x01getField(rules, \'in\').size() > 0 && !(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xfd\x03\n\tEnumRules\x12\x89\x01\n\x05\x63onst\x18\x01 \x01(\x05\x42s\xc2Hp\nn\n\nenum.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(rules, \'const\')]) : \'\'R\x05\x63onst\x12!\n\x0c\x64\x65\x66ined_only\x18\x02 \x01(\x08R\x0b\x64\x65\x66inedOnly\x12\x82\x01\n\x02in\x18\x03 \x03(\x05\x42r\xc2Ho\nm\n\x07\x65num.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\x9e\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.\n\x05items\x18\x04 \x01(\x0b\x32\x18.buf.validate.FieldRulesR\x05items*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xac\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,\n\x04keys\x18\x04 \x01(\x0b\x32\x18.buf.validate.FieldRulesR\x04keys\x12\x30\n\x06values\x18\x05 \x01(\x0b\x32\x18.buf.validate.FieldRulesR\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\"\xc6\x17\n\rDurationRules\x12\xa8\x01\n\x05\x63onst\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationBw\xc2Ht\nr\n\x0e\x64uration.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\xa1\x01\n\x02in\x18\x07 \x03(\x0b\x32\x19.google.protobuf.DurationBv\xc2Hs\nq\n\x0b\x64uration.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xca\x18\n\x0eTimestampRules\x12\xaa\x01\n\x05\x63onst\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampBx\xc2Hu\ns\n\x0ftimestamp.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\"\xc5\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\x17\n\x07rule_id\x18\x02 \x01(\tR\x06ruleId\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*\x9b\x01\n\x06Ignore\x12\x16\n\x12IGNORE_UNSPECIFIED\x10\x00\x12\x18\n\x14IGNORE_IF_ZERO_VALUE\x10\x01\x12\x11\n\rIGNORE_ALWAYS\x10\x03*\x0cIGNORE_EMPTY*\x0eIGNORE_DEFAULT*\x17IGNORE_IF_DEFAULT_VALUE*\x15IGNORE_IF_UNPOPULATED*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:V\n\x07message\x12\x1f.google.protobuf.MessageOptions\x18\x87\t \x01(\x0b\x32\x1a.buf.validate.MessageRulesR\x07message:N\n\x05oneof\x12\x1d.google.protobuf.OneofOptions\x18\x87\t \x01(\x0b\x32\x18.buf.validate.OneofRulesR\x05oneof:N\n\x05\x66ield\x12\x1d.google.protobuf.FieldOptions\x18\x87\t \x01(\x0b\x32\x18.buf.validate.FieldRulesR\x05\x66ield:]\n\npredefined\x12\x1d.google.protobuf.FieldOptions\x18\x88\t \x01(\x0b\x32\x1d.buf.validate.PredefinedRulesR\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) @@ -395,70 +395,70 @@ _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['_IGNORE']._serialized_start=54145 - _globals['_IGNORE']._serialized_end=54280 - _globals['_KNOWNREGEX']._serialized_start=54282 - _globals['_KNOWNREGEX']._serialized_end=54392 + _globals['_IGNORE']._serialized_start=54134 + _globals['_IGNORE']._serialized_end=54289 + _globals['_KNOWNREGEX']._serialized_start=54291 + _globals['_KNOWNREGEX']._serialized_end=54401 _globals['_RULE']._serialized_start=144 _globals['_RULE']._serialized_end=224 - _globals['_MESSAGERULES']._serialized_start=227 - _globals['_MESSAGERULES']._serialized_end=361 - _globals['_MESSAGEONEOFRULE']._serialized_start=363 - _globals['_MESSAGEONEOFRULE']._serialized_end=433 - _globals['_ONEOFRULES']._serialized_start=435 - _globals['_ONEOFRULES']._serialized_end=475 - _globals['_FIELDRULES']._serialized_start=478 - _globals['_FIELDRULES']._serialized_end=1755 - _globals['_PREDEFINEDRULES']._serialized_start=1757 - _globals['_PREDEFINEDRULES']._serialized_end=1845 - _globals['_FLOATRULES']._serialized_start=1848 - _globals['_FLOATRULES']._serialized_end=4936 - _globals['_DOUBLERULES']._serialized_start=4939 - _globals['_DOUBLERULES']._serialized_end=8045 - _globals['_INT32RULES']._serialized_start=8048 - _globals['_INT32RULES']._serialized_end=10794 - _globals['_INT64RULES']._serialized_start=10797 - _globals['_INT64RULES']._serialized_end=13543 - _globals['_UINT32RULES']._serialized_start=13546 - _globals['_UINT32RULES']._serialized_end=16309 - _globals['_UINT64RULES']._serialized_start=16312 - _globals['_UINT64RULES']._serialized_end=19075 - _globals['_SINT32RULES']._serialized_start=19078 - _globals['_SINT32RULES']._serialized_end=21841 - _globals['_SINT64RULES']._serialized_start=21844 - _globals['_SINT64RULES']._serialized_end=24607 - _globals['_FIXED32RULES']._serialized_start=24610 - _globals['_FIXED32RULES']._serialized_end=27390 - _globals['_FIXED64RULES']._serialized_start=27393 - _globals['_FIXED64RULES']._serialized_end=30173 - _globals['_SFIXED32RULES']._serialized_start=30176 - _globals['_SFIXED32RULES']._serialized_end=32974 - _globals['_SFIXED64RULES']._serialized_start=32977 - _globals['_SFIXED64RULES']._serialized_end=35775 - _globals['_BOOLRULES']._serialized_start=35778 - _globals['_BOOLRULES']._serialized_end=35993 - _globals['_STRINGRULES']._serialized_start=35996 - _globals['_STRINGRULES']._serialized_end=43373 - _globals['_BYTESRULES']._serialized_start=43376 - _globals['_BYTESRULES']._serialized_end=45630 - _globals['_ENUMRULES']._serialized_start=45633 - _globals['_ENUMRULES']._serialized_end=46142 - _globals['_REPEATEDRULES']._serialized_start=46145 - _globals['_REPEATEDRULES']._serialized_end=46687 - _globals['_MAPRULES']._serialized_start=46690 - _globals['_MAPRULES']._serialized_end=47118 - _globals['_ANYRULES']._serialized_start=47120 - _globals['_ANYRULES']._serialized_end=47169 - _globals['_DURATIONRULES']._serialized_start=47172 - _globals['_DURATIONRULES']._serialized_end=50186 - _globals['_TIMESTAMPRULES']._serialized_start=50189 - _globals['_TIMESTAMPRULES']._serialized_end=53335 - _globals['_VIOLATIONS']._serialized_start=53337 - _globals['_VIOLATIONS']._serialized_end=53406 - _globals['_VIOLATION']._serialized_start=53409 - _globals['_VIOLATION']._serialized_end=53606 - _globals['_FIELDPATH']._serialized_start=53608 - _globals['_FIELDPATH']._serialized_end=53679 - _globals['_FIELDPATHELEMENT']._serialized_start=53682 - _globals['_FIELDPATHELEMENT']._serialized_end=54142 + _globals['_MESSAGERULES']._serialized_start=226 + _globals['_MESSAGERULES']._serialized_end=348 + _globals['_MESSAGEONEOFRULE']._serialized_start=350 + _globals['_MESSAGEONEOFRULE']._serialized_end=420 + _globals['_ONEOFRULES']._serialized_start=422 + _globals['_ONEOFRULES']._serialized_end=462 + _globals['_FIELDRULES']._serialized_start=465 + _globals['_FIELDRULES']._serialized_end=1742 + _globals['_PREDEFINEDRULES']._serialized_start=1744 + _globals['_PREDEFINEDRULES']._serialized_end=1834 + _globals['_FLOATRULES']._serialized_start=1837 + _globals['_FLOATRULES']._serialized_end=4925 + _globals['_DOUBLERULES']._serialized_start=4928 + _globals['_DOUBLERULES']._serialized_end=8034 + _globals['_INT32RULES']._serialized_start=8037 + _globals['_INT32RULES']._serialized_end=10783 + _globals['_INT64RULES']._serialized_start=10786 + _globals['_INT64RULES']._serialized_end=13532 + _globals['_UINT32RULES']._serialized_start=13535 + _globals['_UINT32RULES']._serialized_end=16298 + _globals['_UINT64RULES']._serialized_start=16301 + _globals['_UINT64RULES']._serialized_end=19064 + _globals['_SINT32RULES']._serialized_start=19067 + _globals['_SINT32RULES']._serialized_end=21830 + _globals['_SINT64RULES']._serialized_start=21833 + _globals['_SINT64RULES']._serialized_end=24596 + _globals['_FIXED32RULES']._serialized_start=24599 + _globals['_FIXED32RULES']._serialized_end=27379 + _globals['_FIXED64RULES']._serialized_start=27382 + _globals['_FIXED64RULES']._serialized_end=30162 + _globals['_SFIXED32RULES']._serialized_start=30165 + _globals['_SFIXED32RULES']._serialized_end=32963 + _globals['_SFIXED64RULES']._serialized_start=32966 + _globals['_SFIXED64RULES']._serialized_end=35764 + _globals['_BOOLRULES']._serialized_start=35767 + _globals['_BOOLRULES']._serialized_end=35982 + _globals['_STRINGRULES']._serialized_start=35985 + _globals['_STRINGRULES']._serialized_end=43362 + _globals['_BYTESRULES']._serialized_start=43365 + _globals['_BYTESRULES']._serialized_end=45619 + _globals['_ENUMRULES']._serialized_start=45622 + _globals['_ENUMRULES']._serialized_end=46131 + _globals['_REPEATEDRULES']._serialized_start=46134 + _globals['_REPEATEDRULES']._serialized_end=46676 + _globals['_MAPRULES']._serialized_start=46679 + _globals['_MAPRULES']._serialized_end=47107 + _globals['_ANYRULES']._serialized_start=47109 + _globals['_ANYRULES']._serialized_end=47158 + _globals['_DURATIONRULES']._serialized_start=47161 + _globals['_DURATIONRULES']._serialized_end=50175 + _globals['_TIMESTAMPRULES']._serialized_start=50178 + _globals['_TIMESTAMPRULES']._serialized_end=53324 + _globals['_VIOLATIONS']._serialized_start=53326 + _globals['_VIOLATIONS']._serialized_end=53395 + _globals['_VIOLATION']._serialized_start=53398 + _globals['_VIOLATION']._serialized_end=53595 + _globals['_FIELDPATH']._serialized_start=53597 + _globals['_FIELDPATH']._serialized_end=53668 + _globals['_FIELDPATHELEMENT']._serialized_start=53671 + _globals['_FIELDPATHELEMENT']._serialized_end=54131 # @@protoc_insertion_point(module_scope) diff --git a/gen/buf/validate/validate_pb2.pyi b/gen/buf/validate/validate_pb2.pyi index 703bdf1..de29df0 100644 --- a/gen/buf/validate/validate_pb2.pyi +++ b/gen/buf/validate/validate_pb2.pyi @@ -28,8 +28,7 @@ DESCRIPTOR: _descriptor.FileDescriptor class Ignore(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () IGNORE_UNSPECIFIED: _ClassVar[Ignore] - IGNORE_IF_UNPOPULATED: _ClassVar[Ignore] - IGNORE_IF_DEFAULT_VALUE: _ClassVar[Ignore] + IGNORE_IF_ZERO_VALUE: _ClassVar[Ignore] IGNORE_ALWAYS: _ClassVar[Ignore] class KnownRegex(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): @@ -38,8 +37,7 @@ class KnownRegex(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): KNOWN_REGEX_HTTP_HEADER_NAME: _ClassVar[KnownRegex] KNOWN_REGEX_HTTP_HEADER_VALUE: _ClassVar[KnownRegex] IGNORE_UNSPECIFIED: Ignore -IGNORE_IF_UNPOPULATED: Ignore -IGNORE_IF_DEFAULT_VALUE: Ignore +IGNORE_IF_ZERO_VALUE: Ignore IGNORE_ALWAYS: Ignore KNOWN_REGEX_UNSPECIFIED: KnownRegex KNOWN_REGEX_HTTP_HEADER_NAME: KnownRegex @@ -64,14 +62,12 @@ class Rule(_message.Message): def __init__(self, id: _Optional[str] = ..., message: _Optional[str] = ..., expression: _Optional[str] = ...) -> None: ... class MessageRules(_message.Message): - __slots__ = ("disabled", "cel", "oneof") - DISABLED_FIELD_NUMBER: _ClassVar[int] + __slots__ = ("cel", "oneof") CEL_FIELD_NUMBER: _ClassVar[int] ONEOF_FIELD_NUMBER: _ClassVar[int] - disabled: bool cel: _containers.RepeatedCompositeFieldContainer[Rule] oneof: _containers.RepeatedCompositeFieldContainer[MessageOneofRule] - def __init__(self, disabled: bool = ..., cel: _Optional[_Iterable[_Union[Rule, _Mapping]]] = ..., oneof: _Optional[_Iterable[_Union[MessageOneofRule, _Mapping]]] = ...) -> None: ... + def __init__(self, cel: _Optional[_Iterable[_Union[Rule, _Mapping]]] = ..., oneof: _Optional[_Iterable[_Union[MessageOneofRule, _Mapping]]] = ...) -> None: ... class MessageOneofRule(_message.Message): __slots__ = ("fields", "required") diff --git a/protovalidate/internal/rules.py b/protovalidate/internal/rules.py index 7a6758c..ba09994 100644 --- a/protovalidate/internal/rules.py +++ b/protovalidate/internal/rules.py @@ -515,9 +515,7 @@ class FieldRules(CelRules): """Field-level rules.""" _ignore_empty = False - _ignore_default = False _required = False - _zero = None _required_rule_path: typing.ClassVar[validate_pb2.FieldPath] = validate_pb2.FieldPath( elements=[ @@ -547,17 +545,11 @@ 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 in ( - validate_pb2.IGNORE_IF_UNPOPULATED, - validate_pb2.IGNORE_IF_DEFAULT_VALUE, - ) or ( + self._ignore_empty = field_level.ignore in (validate_pb2.IGNORE_IF_ZERO_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 - if self._ignore_default: - self._zero = _zero_value(field) type_case = field_level.WhichOneof("type") if type_case is not None: rules: message.Message = getattr(field_level, type_case) @@ -607,8 +599,6 @@ def validate(self, ctx: RuleContext, message: message.Message): return val = getattr(message, self._field.name) cel_val = _field_value_to_cel(val, self._field) - if self._ignore_default and cel_val == self._zero: - return sub_ctx = ctx.sub_context() self._validate_value(sub_ctx, val) self._validate_cel(sub_ctx, this_value=_proto_message_get_field(message, self._field), this_cel=cel_val) @@ -1054,8 +1044,6 @@ def _new_rules(self, desc: descriptor.Descriptor) -> list[Rules]: all_msg_oneof_fields = set() if validate_pb2.message in desc.GetOptions().Extensions: message_level = desc.GetOptions().Extensions[validate_pb2.message] - if message_level.disabled: - return [] for oneof in message_level.oneof: all_msg_oneof_fields.update(oneof.fields) if rule := self._new_message_rule(message_level, desc): @@ -1072,7 +1060,7 @@ def _new_rules(self, desc: descriptor.Descriptor) -> list[Rules]: if not field_level.HasField("ignore") and field.name in all_msg_oneof_fields: field_level_override = validate_pb2.FieldRules() field_level_override.CopyFrom(field_level) - field_level_override.ignore = validate_pb2.IGNORE_IF_UNPOPULATED + field_level_override.ignore = validate_pb2.IGNORE_IF_ZERO_VALUE field_level = field_level_override if field_level.ignore == validate_pb2.IGNORE_ALWAYS: continue From cc8169d858c5bacb57d6855c2c7358a20f95d275 Mon Sep 17 00:00:00 2001 From: Sri Krishna Date: Thu, 17 Jul 2025 22:37:41 +0530 Subject: [PATCH 2/2] `0.14.01 Signed-off-by: Sri Krishna --- Makefile | 8 ++++---- buf.lock | 8 ++++---- buf.yaml | 4 ++-- gen/buf/validate/validate_pb2.py | 8 ++++---- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/Makefile b/Makefile index bfd9885..7e49455 100644 --- a/Makefile +++ b/Makefile @@ -16,7 +16,7 @@ ADD_LICENSE_HEADER := $(BIN)/license-header \ --copyright-holder "Buf Technologies, Inc." \ --year-range "2023-2025" # This version should be kept in sync with the version in buf.yaml -PROTOVALIDATE_VERSION ?= v0.13.3 +PROTOVALIDATE_VERSION ?= v0.14.0 # Version of the cel-spec that this implementation is conformant with # This should be kept in sync with the version in format_test.py CEL_SPEC_VERSION ?= v0.24.0 @@ -37,8 +37,8 @@ clean: ## Delete intermediate build artifacts .PHONY: generate generate: $(BIN)/buf $(BIN)/license-header ## Regenerate code and license headers rm -rf gen - $(BIN)/buf generate https://github.com/bufbuild/protovalidate.git#branch=next,subdir=proto/protovalidate - $(BIN)/buf generate https://github.com/bufbuild/protovalidate.git#branch=next,subdir=proto/protovalidate-testing + $(BIN)/buf generate buf.build/bufbuild/protovalidate:$(PROTOVALIDATE_VERSION) + $(BIN)/buf generate buf.build/bufbuild/protovalidate-testing:$(PROTOVALIDATE_VERSION) $(BIN)/buf generate buf.build/google/cel-spec:$(CEL_SPEC_VERSION) --exclude-path cel/expr/conformance/proto2 --exclude-path cel/expr/conformance/proto3 $(BIN)/buf generate $(ADD_LICENSE_HEADER) @@ -90,4 +90,4 @@ $(BIN)/license-header: $(BIN) Makefile go install github.com/bufbuild/buf/private/pkg/licenseheader/cmd/license-header@latest $(BIN)/protovalidate-conformance: $(BIN) Makefile - go install github.com/bufbuild/protovalidate/tools/protovalidate-conformance@next + go install github.com/bufbuild/protovalidate/tools/protovalidate-conformance@$(PROTOVALIDATE_VERSION) diff --git a/buf.lock b/buf.lock index 1abc9fc..95911f5 100644 --- a/buf.lock +++ b/buf.lock @@ -2,8 +2,8 @@ version: v2 deps: - name: buf.build/bufbuild/protovalidate - commit: 9f2d3c737feb481a83375159c0733275 - digest: b5:19d3b83f7df2d284ff5935f4622d7f27e7464a93c210edb536e92a52bcc69b2a18da1312e96b5461601eba7b3764d5e90321bd62e6966870e7dbc2e4dedd98d6 + commit: d22d418d82d84932ba4ba554ce4208ca + digest: b5:8b454cb411e14f0024bdb58ac2689aed2321e81617b61ef8a22c8147a7a9757eeb049ebfb899a699d37051bdb3251e172ba1c1ae2f5005d7c3f47a202109136a - name: buf.build/bufbuild/protovalidate-testing - commit: 64cb206b26e840bcaacabae7b19bdf33 - digest: b5:f0abbad11668a70061ec8870c8c6b71f56e033ff97e0c22264648504e9a9c9f636304a01e27485eeacf7256f9bf25abc48503836948609f537a0fbc136be839b + commit: 3173472a3d1147cfb60458ad0cf16f2e + digest: b5:628f7fd91082e885255bea51911e24ba3c92dbfdefd60960fb74224245ec00176ca2f19acd2bc5007b904c70d12b6bc95479f9aeb2f071632a3c20534fc78cca diff --git a/buf.yaml b/buf.yaml index 9f4a016..4a7d09f 100644 --- a/buf.yaml +++ b/buf.yaml @@ -2,8 +2,8 @@ version: v2 modules: - path: proto deps: - - buf.build/bufbuild/protovalidate:v0.13.3 - - buf.build/bufbuild/protovalidate-testing:v0.13.3 + - buf.build/bufbuild/protovalidate:v0.14.0 + - buf.build/bufbuild/protovalidate-testing:v0.14.0 lint: use: - STANDARD diff --git a/gen/buf/validate/validate_pb2.py b/gen/buf/validate/validate_pb2.py index 2da1483..2e1ab24 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\"P\n\x04Rule\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\"z\n\x0cMessageRules\x12$\n\x03\x63\x65l\x18\x03 \x03(\x0b\x32\x12.buf.validate.RuleR\x03\x63\x65l\x12\x34\n\x05oneof\x18\x04 \x03(\x0b\x32\x1e.buf.validate.MessageOneofRuleR\x05oneofJ\x04\x08\x01\x10\x02R\x08\x64isabled\"F\n\x10MessageOneofRule\x12\x16\n\x06\x66ields\x18\x01 \x03(\tR\x06\x66ields\x12\x1a\n\x08required\x18\x02 \x01(\x08R\x08required\"(\n\nOneofRules\x12\x1a\n\x08required\x18\x01 \x01(\x08R\x08required\"\xfd\t\n\nFieldRules\x12$\n\x03\x63\x65l\x18\x17 \x03(\x0b\x32\x12.buf.validate.RuleR\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\x04typeJ\x04\x08\x18\x10\x19J\x04\x08\x1a\x10\x1bR\x07skippedR\x0cignore_empty\"Z\n\x0fPredefinedRules\x12$\n\x03\x63\x65l\x18\x01 \x03(\x0b\x32\x12.buf.validate.RuleR\x03\x63\x65lJ\x04\x08\x18\x10\x19J\x04\x08\x1a\x10\x1bR\x07skippedR\x0cignore_empty\"\x90\x18\n\nFloatRules\x12\x8a\x01\n\x05\x63onst\x18\x01 \x01(\x02\x42t\xc2Hq\no\n\x0b\x66loat.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x12\x83\x01\n\x02in\x18\x06 \x03(\x02\x42s\xc2Hp\nn\n\x08\x66loat.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xa2\x18\n\x0b\x44oubleRules\x12\x8b\x01\n\x05\x63onst\x18\x01 \x01(\x01\x42u\xc2Hr\np\n\x0c\x64ouble.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x12\x84\x01\n\x02in\x18\x06 \x03(\x01\x42t\xc2Hq\no\n\tdouble.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xba\x15\n\nInt32Rules\x12\x8a\x01\n\x05\x63onst\x18\x01 \x01(\x05\x42t\xc2Hq\no\n\x0bint32.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x12\x83\x01\n\x02in\x18\x06 \x03(\x05\x42s\xc2Hp\nn\n\x08int32.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xba\x15\n\nInt64Rules\x12\x8a\x01\n\x05\x63onst\x18\x01 \x01(\x03\x42t\xc2Hq\no\n\x0bint64.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x12\x83\x01\n\x02in\x18\x06 \x03(\x03\x42s\xc2Hp\nn\n\x08int64.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xcb\x15\n\x0bUInt32Rules\x12\x8b\x01\n\x05\x63onst\x18\x01 \x01(\rBu\xc2Hr\np\n\x0cuint32.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x12\x84\x01\n\x02in\x18\x06 \x03(\rBt\xc2Hq\no\n\tuint32.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xcb\x15\n\x0bUInt64Rules\x12\x8b\x01\n\x05\x63onst\x18\x01 \x01(\x04\x42u\xc2Hr\np\n\x0cuint64.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x12\x84\x01\n\x02in\x18\x06 \x03(\x04\x42t\xc2Hq\no\n\tuint64.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xcb\x15\n\x0bSInt32Rules\x12\x8b\x01\n\x05\x63onst\x18\x01 \x01(\x11\x42u\xc2Hr\np\n\x0csint32.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x12\x84\x01\n\x02in\x18\x06 \x03(\x11\x42t\xc2Hq\no\n\tsint32.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xcb\x15\n\x0bSInt64Rules\x12\x8b\x01\n\x05\x63onst\x18\x01 \x01(\x12\x42u\xc2Hr\np\n\x0csint64.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x12\x84\x01\n\x02in\x18\x06 \x03(\x12\x42t\xc2Hq\no\n\tsint64.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xdc\x15\n\x0c\x46ixed32Rules\x12\x8c\x01\n\x05\x63onst\x18\x01 \x01(\x07\x42v\xc2Hs\nq\n\rfixed32.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x85\x01\n\x02in\x18\x06 \x03(\x07\x42u\xc2Hr\np\n\nfixed32.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xdc\x15\n\x0c\x46ixed64Rules\x12\x8c\x01\n\x05\x63onst\x18\x01 \x01(\x06\x42v\xc2Hs\nq\n\rfixed64.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x85\x01\n\x02in\x18\x06 \x03(\x06\x42u\xc2Hr\np\n\nfixed64.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xee\x15\n\rSFixed32Rules\x12\x8d\x01\n\x05\x63onst\x18\x01 \x01(\x0f\x42w\xc2Ht\nr\n\x0esfixed32.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x86\x01\n\x02in\x18\x06 \x03(\x0f\x42v\xc2Hs\nq\n\x0bsfixed32.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xee\x15\n\rSFixed64Rules\x12\x8d\x01\n\x05\x63onst\x18\x01 \x01(\x10\x42w\xc2Ht\nr\n\x0esfixed64.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x86\x01\n\x02in\x18\x06 \x03(\x10\x42v\xc2Hs\nq\n\x0bsfixed64.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xd7\x01\n\tBoolRules\x12\x89\x01\n\x05\x63onst\x18\x01 \x01(\x08\x42s\xc2Hp\nn\n\nbool.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\"\xd1\x39\n\x0bStringRules\x12\x8d\x01\n\x05\x63onst\x18\x01 \x01(\tBw\xc2Ht\nr\n\x0cstring.const\x1a\x62this != getField(rules, \'const\') ? \'value must equal `%s`\'.format([getField(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\x12\x84\x01\n\x02in\x18\n \x03(\tBt\xc2Hq\no\n\tstring.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\x12x\n\x07uri_ref\x18\x12 \x01(\x08\x42]\xc2HZ\nX\n\x0estring.uri_ref\x12#value must be a valid URI Reference\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\"\xce\x11\n\nBytesRules\x12\x87\x01\n\x05\x63onst\x18\x01 \x01(\x0c\x42q\xc2Hn\nl\n\x0b\x62ytes.const\x1a]this != getField(rules, \'const\') ? \'value must be %x\'.format([getField(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\xab\x01\n\x02in\x18\x08 \x03(\x0c\x42\x9a\x01\xc2H\x96\x01\n\x93\x01\n\x08\x62ytes.in\x1a\x86\x01getField(rules, \'in\').size() > 0 && !(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xfd\x03\n\tEnumRules\x12\x89\x01\n\x05\x63onst\x18\x01 \x01(\x05\x42s\xc2Hp\nn\n\nenum.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(rules, \'const\')]) : \'\'R\x05\x63onst\x12!\n\x0c\x64\x65\x66ined_only\x18\x02 \x01(\x08R\x0b\x64\x65\x66inedOnly\x12\x82\x01\n\x02in\x18\x03 \x03(\x05\x42r\xc2Ho\nm\n\x07\x65num.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\x9e\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.\n\x05items\x18\x04 \x01(\x0b\x32\x18.buf.validate.FieldRulesR\x05items*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xac\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,\n\x04keys\x18\x04 \x01(\x0b\x32\x18.buf.validate.FieldRulesR\x04keys\x12\x30\n\x06values\x18\x05 \x01(\x0b\x32\x18.buf.validate.FieldRulesR\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\"\xc6\x17\n\rDurationRules\x12\xa8\x01\n\x05\x63onst\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationBw\xc2Ht\nr\n\x0e\x64uration.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\xa1\x01\n\x02in\x18\x07 \x03(\x0b\x32\x19.google.protobuf.DurationBv\xc2Hs\nq\n\x0b\x64uration.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xca\x18\n\x0eTimestampRules\x12\xaa\x01\n\x05\x63onst\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampBx\xc2Hu\ns\n\x0ftimestamp.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\"\xc5\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\x17\n\x07rule_id\x18\x02 \x01(\tR\x06ruleId\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*\x9b\x01\n\x06Ignore\x12\x16\n\x12IGNORE_UNSPECIFIED\x10\x00\x12\x18\n\x14IGNORE_IF_ZERO_VALUE\x10\x01\x12\x11\n\rIGNORE_ALWAYS\x10\x03*\x0cIGNORE_EMPTY*\x0eIGNORE_DEFAULT*\x17IGNORE_IF_DEFAULT_VALUE*\x15IGNORE_IF_UNPOPULATED*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:V\n\x07message\x12\x1f.google.protobuf.MessageOptions\x18\x87\t \x01(\x0b\x32\x1a.buf.validate.MessageRulesR\x07message:N\n\x05oneof\x12\x1d.google.protobuf.OneofOptions\x18\x87\t \x01(\x0b\x32\x18.buf.validate.OneofRulesR\x05oneof:N\n\x05\x66ield\x12\x1d.google.protobuf.FieldOptions\x18\x87\t \x01(\x0b\x32\x18.buf.validate.FieldRulesR\x05\x66ield:]\n\npredefined\x12\x1d.google.protobuf.FieldOptions\x18\x88\t \x01(\x0b\x32\x1d.buf.validate.PredefinedRulesR\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\"P\n\x04Rule\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\"z\n\x0cMessageRules\x12$\n\x03\x63\x65l\x18\x03 \x03(\x0b\x32\x12.buf.validate.RuleR\x03\x63\x65l\x12\x34\n\x05oneof\x18\x04 \x03(\x0b\x32\x1e.buf.validate.MessageOneofRuleR\x05oneofJ\x04\x08\x01\x10\x02R\x08\x64isabled\"F\n\x10MessageOneofRule\x12\x16\n\x06\x66ields\x18\x01 \x03(\tR\x06\x66ields\x12\x1a\n\x08required\x18\x02 \x01(\x08R\x08required\"(\n\nOneofRules\x12\x1a\n\x08required\x18\x01 \x01(\x08R\x08required\"\xfd\t\n\nFieldRules\x12$\n\x03\x63\x65l\x18\x17 \x03(\x0b\x32\x12.buf.validate.RuleR\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\x04typeJ\x04\x08\x18\x10\x19J\x04\x08\x1a\x10\x1bR\x07skippedR\x0cignore_empty\"Z\n\x0fPredefinedRules\x12$\n\x03\x63\x65l\x18\x01 \x03(\x0b\x32\x12.buf.validate.RuleR\x03\x63\x65lJ\x04\x08\x18\x10\x19J\x04\x08\x1a\x10\x1bR\x07skippedR\x0cignore_empty\"\x90\x18\n\nFloatRules\x12\x8a\x01\n\x05\x63onst\x18\x01 \x01(\x02\x42t\xc2Hq\no\n\x0b\x66loat.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x12\x83\x01\n\x02in\x18\x06 \x03(\x02\x42s\xc2Hp\nn\n\x08\x66loat.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xa2\x18\n\x0b\x44oubleRules\x12\x8b\x01\n\x05\x63onst\x18\x01 \x01(\x01\x42u\xc2Hr\np\n\x0c\x64ouble.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x12\x84\x01\n\x02in\x18\x06 \x03(\x01\x42t\xc2Hq\no\n\tdouble.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xba\x15\n\nInt32Rules\x12\x8a\x01\n\x05\x63onst\x18\x01 \x01(\x05\x42t\xc2Hq\no\n\x0bint32.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x12\x83\x01\n\x02in\x18\x06 \x03(\x05\x42s\xc2Hp\nn\n\x08int32.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xba\x15\n\nInt64Rules\x12\x8a\x01\n\x05\x63onst\x18\x01 \x01(\x03\x42t\xc2Hq\no\n\x0bint64.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x12\x83\x01\n\x02in\x18\x06 \x03(\x03\x42s\xc2Hp\nn\n\x08int64.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xcb\x15\n\x0bUInt32Rules\x12\x8b\x01\n\x05\x63onst\x18\x01 \x01(\rBu\xc2Hr\np\n\x0cuint32.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x12\x84\x01\n\x02in\x18\x06 \x03(\rBt\xc2Hq\no\n\tuint32.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xcb\x15\n\x0bUInt64Rules\x12\x8b\x01\n\x05\x63onst\x18\x01 \x01(\x04\x42u\xc2Hr\np\n\x0cuint64.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x12\x84\x01\n\x02in\x18\x06 \x03(\x04\x42t\xc2Hq\no\n\tuint64.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xcb\x15\n\x0bSInt32Rules\x12\x8b\x01\n\x05\x63onst\x18\x01 \x01(\x11\x42u\xc2Hr\np\n\x0csint32.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x12\x84\x01\n\x02in\x18\x06 \x03(\x11\x42t\xc2Hq\no\n\tsint32.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xcb\x15\n\x0bSInt64Rules\x12\x8b\x01\n\x05\x63onst\x18\x01 \x01(\x12\x42u\xc2Hr\np\n\x0csint64.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x12\x84\x01\n\x02in\x18\x06 \x03(\x12\x42t\xc2Hq\no\n\tsint64.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xdc\x15\n\x0c\x46ixed32Rules\x12\x8c\x01\n\x05\x63onst\x18\x01 \x01(\x07\x42v\xc2Hs\nq\n\rfixed32.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x85\x01\n\x02in\x18\x06 \x03(\x07\x42u\xc2Hr\np\n\nfixed32.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xdc\x15\n\x0c\x46ixed64Rules\x12\x8c\x01\n\x05\x63onst\x18\x01 \x01(\x06\x42v\xc2Hs\nq\n\rfixed64.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x85\x01\n\x02in\x18\x06 \x03(\x06\x42u\xc2Hr\np\n\nfixed64.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xee\x15\n\rSFixed32Rules\x12\x8d\x01\n\x05\x63onst\x18\x01 \x01(\x0f\x42w\xc2Ht\nr\n\x0esfixed32.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x86\x01\n\x02in\x18\x06 \x03(\x0f\x42v\xc2Hs\nq\n\x0bsfixed32.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xee\x15\n\rSFixed64Rules\x12\x8d\x01\n\x05\x63onst\x18\x01 \x01(\x10\x42w\xc2Ht\nr\n\x0esfixed64.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\x86\x01\n\x02in\x18\x06 \x03(\x10\x42v\xc2Hs\nq\n\x0bsfixed64.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xd7\x01\n\tBoolRules\x12\x89\x01\n\x05\x63onst\x18\x01 \x01(\x08\x42s\xc2Hp\nn\n\nbool.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\"\xd1\x39\n\x0bStringRules\x12\x8d\x01\n\x05\x63onst\x18\x01 \x01(\tBw\xc2Ht\nr\n\x0cstring.const\x1a\x62this != getField(rules, \'const\') ? \'value must equal `%s`\'.format([getField(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\x12\x84\x01\n\x02in\x18\n \x03(\tBt\xc2Hq\no\n\tstring.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\x12x\n\x07uri_ref\x18\x12 \x01(\x08\x42]\xc2HZ\nX\n\x0estring.uri_ref\x12#value must be a valid URI Reference\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\"\xce\x11\n\nBytesRules\x12\x87\x01\n\x05\x63onst\x18\x01 \x01(\x0c\x42q\xc2Hn\nl\n\x0b\x62ytes.const\x1a]this != getField(rules, \'const\') ? \'value must be %x\'.format([getField(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\xab\x01\n\x02in\x18\x08 \x03(\x0c\x42\x9a\x01\xc2H\x96\x01\n\x93\x01\n\x08\x62ytes.in\x1a\x86\x01getField(rules, \'in\').size() > 0 && !(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xfd\x03\n\tEnumRules\x12\x89\x01\n\x05\x63onst\x18\x01 \x01(\x05\x42s\xc2Hp\nn\n\nenum.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(rules, \'const\')]) : \'\'R\x05\x63onst\x12!\n\x0c\x64\x65\x66ined_only\x18\x02 \x01(\x08R\x0b\x64\x65\x66inedOnly\x12\x82\x01\n\x02in\x18\x03 \x03(\x05\x42r\xc2Ho\nm\n\x07\x65num.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\x9e\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.\n\x05items\x18\x04 \x01(\x0b\x32\x18.buf.validate.FieldRulesR\x05items*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xac\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,\n\x04keys\x18\x04 \x01(\x0b\x32\x18.buf.validate.FieldRulesR\x04keys\x12\x30\n\x06values\x18\x05 \x01(\x0b\x32\x18.buf.validate.FieldRulesR\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\"\xc6\x17\n\rDurationRules\x12\xa8\x01\n\x05\x63onst\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationBw\xc2Ht\nr\n\x0e\x64uration.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\xa1\x01\n\x02in\x18\x07 \x03(\x0b\x32\x19.google.protobuf.DurationBv\xc2Hs\nq\n\x0b\x64uration.in\x1a\x62!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(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\"\xca\x18\n\x0eTimestampRules\x12\xaa\x01\n\x05\x63onst\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampBx\xc2Hu\ns\n\x0ftimestamp.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(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\"\xc5\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\x17\n\x07rule_id\x18\x02 \x01(\tR\x06ruleId\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*\xa1\x01\n\x06Ignore\x12\x16\n\x12IGNORE_UNSPECIFIED\x10\x00\x12\x18\n\x14IGNORE_IF_ZERO_VALUE\x10\x01\x12\x11\n\rIGNORE_ALWAYS\x10\x03\"\x04\x08\x02\x10\x02*\x0cIGNORE_EMPTY*\x0eIGNORE_DEFAULT*\x17IGNORE_IF_DEFAULT_VALUE*\x15IGNORE_IF_UNPOPULATED*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:V\n\x07message\x12\x1f.google.protobuf.MessageOptions\x18\x87\t \x01(\x0b\x32\x1a.buf.validate.MessageRulesR\x07message:N\n\x05oneof\x12\x1d.google.protobuf.OneofOptions\x18\x87\t \x01(\x0b\x32\x18.buf.validate.OneofRulesR\x05oneof:N\n\x05\x66ield\x12\x1d.google.protobuf.FieldOptions\x18\x87\t \x01(\x0b\x32\x18.buf.validate.FieldRulesR\x05\x66ield:]\n\npredefined\x12\x1d.google.protobuf.FieldOptions\x18\x88\t \x01(\x0b\x32\x1d.buf.validate.PredefinedRulesR\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) @@ -396,9 +396,9 @@ _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['_IGNORE']._serialized_start=54134 - _globals['_IGNORE']._serialized_end=54289 - _globals['_KNOWNREGEX']._serialized_start=54291 - _globals['_KNOWNREGEX']._serialized_end=54401 + _globals['_IGNORE']._serialized_end=54295 + _globals['_KNOWNREGEX']._serialized_start=54297 + _globals['_KNOWNREGEX']._serialized_end=54407 _globals['_RULE']._serialized_start=144 _globals['_RULE']._serialized_end=224 _globals['_MESSAGERULES']._serialized_start=226